OpenFOAM ParaView
Udviklet af | OpenCFD Ltd. |
---|---|
Første version | 2004 |
Sidste version | 8 (22. juli 2020) |
Skrevet i | C ++ |
Operativ system | Linux og POSIX |
Miljø | Tværplatform |
Type | C ++ bibliotek og kontinuerlig medium mekanik værktøjskasse |
Licens | GNU General Public License |
Internet side | www.openfoam.org , openfoam.org og www.openfoam.com |
OpenFOAM (Open Field Operation and Manipulation) er en værktøjskasse til multiphysics-simulering, der hovedsagelig fokuserer på at løse ligningerne i fluidmekanik . Det er blevet distribueret siden 2004 under den gratis og open source GNU GPL- licens af det britiske selskab OpenCFD Ltd (erhvervet af SGI den8. august 2011derefter af ESI Group den11. september 2012). Dens udvikling i C ++ blev initieret af Imperial College London, der ønskede en beregningskode baseret på den endelige volumenmetode og drage fordel af de nyeste innovationer med hensyn til computersprog.
Det består hovedsageligt af et softwarebibliotek i gratis C ++ sprog og forskellige værktøjer i form af biblioteker og applikationer, der gør det muligt at udføre opløsninger.
Det kommer med mange løsere dækker en bred vifte af områder såsom forbrænding , sammentrykkeligt, usammentrykkelig , flerfaset strømmer , med kemiske reaktioner, varmetransmission ... Forskellige turbulens modeller (rans, LES ...) er også tilgængelige. Stede.
OpenFOAM distribueres med ParaView , en open-source efterbehandlingssoftware. For brugere, der foretrækker at bruge deres visualiseringsværktøj, er der eksportmoduler til Fluent , EnSight, Fieldview.
OpenFOAM-kode set som et C ++ - bibliotek er af stor interesse, når det kommer til at bruge nye modeller. I modsætning til de fleste videnskabelige koder, der er skrevet sekventielt (ofte i Fortran ), udnytter OpenFOAM faktisk kraften i objektorienterede sprog . Denne struktur i form af klasser gør det muligt at nærme sig matematisk skrivning med hensyn til divergens, rotation , gradient , laplacisk , tidsmæssig afledt operator ... Ingen dybdegående viden om C ++ er nødvendig for at skrive din model i OpenFOAM. Således transporteres ligningen af et temperaturfelt T
er simpelthen programmeret i OpenFOAM af:
solve ( fvm::ddt(T) +fvm::div(phi,T) == fvm::laplacian(D,T) );Mens diskretiseringen af de forskellige matematiske operatorer indtager en overvejende plads i oprettelsen af sekventielle koder, er brugeren af OpenFOAM ikke ligeglad med det, når han skriver sit program, og kan således koncentrere sig fuldstændigt om repræsentationen af hans fysiske model. De forskellige diskretiseringsmetoder er faktisk allerede kodet i klasserne for hver operatør. Valget udføres således efterfølgende under lanceringen af udarbejdelsen af en beregning i brugerfilerne. Takket være kraften i sprog på højt niveau kan brugeren derfor teste forskellige diskretiseringer uden at bruge timer på at programmere dem. Hvis han ønsker en diskretisering, der ikke tages med i koden, forhindrer intet ham i at tilføje den til klassen for den tilsvarende operatør, den vil derefter være gyldig for alle hans OpenFOAM-koder.
Koden kan downloades gratis fra det officielle websted.
Det fransktalende samfund af OpenFOAM-brugere er struktureret omkring FOAM-U-foreningen.