Gerris (mjukvara)
Initial release | 2001 |
---|---|
Skrivet i | C |
Operativ system | Unix , Linux |
Typ | CFD |
Licens | GPL |
Hemsida |
Gerris är datorprogramvara inom området beräkningsvätskedynamik (CFD). Gerris släpptes som gratis programvara med öppen källkod , enligt kraven i GNU General Public License (GPL), version 2 eller senare.
Omfattning
Gerris löser Navier–Stokes ekvationer i 2 eller 3 dimensioner, vilket gör det möjligt att modellera industriella vätskor (aerodynamik, inre flöden, etc.) eller till exempel dropparnas mekanik, tack vare en noggrann formulering av flerfasflöden (inklusive ytspänning). Egentligen är det senare studieområdet anledningen till att programvaran delar samma namn som insektssläktet .
Gerris tillhandahåller också funktioner som är relevanta för geofysiska flöden:
- havsvatten
- tsunamis
- flodflöde
- virvlar i havet
- havsstat (ytvågor)
Flödestyper #1 till #3 studerades med hjälp av grundvattenlösaren som ingår i Gerris , fall #4 tar med primitiva ekvationer och tillämpning #5 bygger på spektralekvationerna för generering/utbredning/avledning av dyning (och/eller vindhav) ): för detta ändamål använder Gerris källtermerna från WaveWatchIII.
Slutligen kan man notera att den (icke-hydrostatiska) Navier–Stokes-lösaren också användes i havet för att studera:
- fluviala plymer
- inre vågor
- hydrotermisk konvektion
Tvärtom tillåter Gerris inte (i sin nuvarande status) modellering av komprimerbara vätskor (överpersoniska flöden).
Numeriskt schema
Flera metoder kan användas för att tillhandahålla en numerisk lösning på partiella differentialekvationer :
Gerris tillhör familjen finita volymer av CFD-modeller.
Typ av rutnät
De flesta modeller använder maskor som antingen är strukturerade (kartesiska eller kurvlinjära rutnät) eller ostrukturerade (triangulära, tetraedriska, etc.). Gerris är helt annorlunda i detta avseende: den implementerar en överenskommelse mellan strukturerade och ostrukturerade maskor genom att använda en träddatastruktur, vilket gör det möjligt att lokalt (och dynamiskt) förfina beskrivningen av (ändlig volym) av tryck- och hastighetsfälten. I själva verket utvecklas rutnätet under loppet av en given simulering på grund av kriterier som definieras av användaren ( t.ex. dynamisk förfining av rutnätet i närheten av skarpa lutningar).
Turbulent stängning
Gerris syftar främst på DNS ; utbudet av Reynolds som är tillgängliga för användaren beror alltså på den datorkraft de har råd med (även om det autoadaptiva nätet tillåter en att fokusera datorresurserna på de sammanhängande strukturerna). Enligt Gerris FAQ kommer implementeringen av turbulensmodeller att fokusera på LES- familjen snarare än RANS- metoder.
Programmeringsspråk, biblioteksberoenden, inkluderade verktyg
Gerris är utvecklad i C med hjälp av biblioteken Glib (objektorientering, dynamisk laddning av moduler etc.) och GTS. Den senare tar in anläggningar för att utföra geometriska beräkningar såsom triangulering av fasta ytor och deras korsning med vätskeceller. Gerris är dessutom helt kompatibel med MPI- parallellisering (inklusive dynamisk lastbalansering).
Gerris behöver inte ett mesh-verktyg eftersom den lokala (och tidsberoende) förfiningen av nätet är på lösaren själv. När det gäller solida ytor känns flera inmatningsformat igen:
- analytiska formler i parameterfilen
- GTS-triangulerade filer; Observera att Gerris- distributionen inkluderar ett verktyg för att översätta STL-formatet (exporterat av olika CAD-program) till GTS-triangulerade ytor
- batymetrisk/topografisk databas i KDT- format; ett verktyg tillhandahålls också för att generera en sådan databas från enkla ASCII-listor
Bland de olika sätten att mata ut Gerris -resultat, låt oss bara nämna här:
- Grafisk utdata i PPM-format: bilder kan sedan konverteras till (nästan) vilket format som helst med ImageMagick , och MPEG-filmer kan genereras tack vare FFmpeg (bland annat).
- Simuleringsfiler ( .gfs ), som faktiskt är parameterfiler sammanlänkade med fält som utfärdats från simuleringen; dessa filer kan sedan (i) återanvändas som parameterfiler (definierar nya initiala villkor), eller (ii) bearbetas med Gfsview .
- Gfsview , en bildskärmsmjukvara som levereras med Gerris , kan hantera trädstrukturen i Gerris -rutnätet (en datastruktur som inte drivs effektivt av allmän visualiseringsprogramvara).
Licens
CFD-programvara, som vilken programvara som helst, kan utvecklas i olika "sfärer":
- Företag;
- Akademisk;
- Öppen källa.
När det gäller CFD kan en grundlig diskussion om dessa utvecklingsvägar för mjukvara hittas i uttalandet av Zaleski.
Gerris distribuerades som gratis programvara med öppen källkod redan från början av projektet.
Se även
Annan datormjukvara är fritt tillgänglig inom området flödesmekanik. Här är några av dem (om utvecklingen inte initierades under en fri licens nämns året då den flyttade till öppen källkod inom parentes):
Industriella vätskor
- Advanced Simulation Library (2015)
- Code Saturne (2007)
- FEATool Multiphysics (2013)
- OpenFOAM (2004)
- SU2-kod (2012)