Goma (mjukvara)

Goma är en öppen källkod , parallell och skalbar multifysikmjukvara för modellering och simulering av fysiska processer i verkligheten, med bas i beräkningsvätskedynamik för problem med geometri som utvecklas. Det löser problem inom alla grenar av mekanik , inklusive vätskor , fasta ämnen och termisk analys . Goma använder avancerade numeriska metoder , med fokus på låghastighetsflödesregimen med kopplade fenomen för tillverkning och prestandaapplikationer. Det ger också en flexibel mjukvaruutvecklingsmiljö för specialfysik.

Goma skapades av Sandia National Laboratories och stöds för närvarande av både Sandia och University of New Mexico .

Förmågor

Goma är ett finita elementprogram som löser problem från alla grenar av mekanik, inklusive vätskemekanik, fast mekanik, kemiska reaktioner och masstransport samt energitransport. Bevarandeprinciperna för momentum, massa, arter och energi, tillsammans med materiella konstitutiva relationer, kan beskrivas med partiella differentialekvationer. Ekvationerna görs diskreta för lösning på en digital dator med finita elementmetoden i rymden och finita differensmetoden i tid. De resulterande olinjära, tidsberoende, algebraiska ekvationerna löses med en fullständig Newton-Raphson-metod. De linjäriserade ekvationerna löses med direkta eller Krylov-baserade iterativa lösare. Simuleringarna kan köras på en enda processor eller på flera processorer parallellt med hjälp av domännedbrytning, vilket avsevärt kan påskynda teknisk analys.

Exempel på tillämpningar inkluderar, men är inte begränsade till, beläggnings- och polymerbearbetningsflöden, superlegeringsbearbetning, svetsning/lödning, elektrokemiska processer och torkning av fasta nätverk eller lösningsfilm. En fullständig beskrivning av Gomas kapacitet finns i Gomas kapacitetsdokument .

Goma används ofta tillsammans med andra programvarupaket. Cubit används vanligtvis för att generera beräkningsnät, medan ParaView ofta används för att visualisera simuleringsresultaten. Simuleringsutdata genereras i filformatet ExodusII.

Historia

Goma har sitt ursprung 1994 från en tidig version av MP_SALSA, ett finita elementprogram designat för att simulera kemiskt reagerande flöden i massivt parallella datormiljöer. Som utgångspunkt byggdes Goma ursprungligen ut och anpassades till fria och rörliga gränsproblem inom vätskemekanik, värmeöverföring och massöverföring . Fem versioner av Goma (1.0 till 5.0) utvecklades och släpptes av Sandia från 1994 till 2012. Dessa originalversioner av Goma godkändes inte för offentlig utgivning och släpptes endast internt inom den amerikanska regeringen och dess avtalade industriella och akademiska partners.

2013 släppte Sandia Goma 6.0 som programvara med öppen källkod under GNU General Public License . Den drivs av GitHub och innehåller instruktioner om hur du laddar ner ytterligare mjukvarupaket som krävs för att bygga Goma.

Utmärkelser

Goma 6.0 tilldelades en 2014 R&D 100 Award av R&D Magazine . Denna utmärkelse identifierar open source-versionen av Goma 6.0 som en av de 100 främsta tekniska innovationerna under 2013.

Publikationer

En användarmanual för Goma 6.0 har publicerats öppet. Goma-simuleringar har underbyggt minst 14 Sandia tekniska rapporter och över 25 tidskriftsartiklar.

externa länkar