OpenFOAM ParaView
Desenvolvido por | OpenCFD Ltd. |
---|---|
Primeira versão | 2004 |
Última versão | 8 (22 de julho de 2020) |
Escrito em | C ++ |
Sistema operacional | Linux e POSIX |
Meio Ambiente | Plataforma cruzada |
Modelo | Biblioteca C ++ e caixa de ferramentas de mecânica de meio contínuo |
Licença | GNU General Public License |
Local na rede Internet | www.openfoam.org , openfoam.org e www.openfoam.com |
OpenFOAM (Open Field Operation and Manipulation) é uma caixa de ferramentas de simulação multifísica focada principalmente na solução das equações da mecânica dos fluidos . É distribuído desde 2004 sob a licença GNU GPL gratuita e de código aberto da empresa britânica OpenCFD Ltd (adquirida pela SGI em8 de agosto de 2011, então pelo ESI Group em11 de setembro de 2012) Seu desenvolvimento, em C ++ , foi iniciado pelo Imperial College London, que pretendia um código de cálculo baseado no método de volumes finitos e aproveitando as últimas inovações em termos de linguagem de computador.
Consiste principalmente em uma biblioteca de software em linguagem C ++ livre , e diversas ferramentas, na forma de bibliotecas e aplicativos, permitindo realizar resoluções.
Ele vem com muitos solvers cobrindo uma ampla gama de campos como combustão , compressível, incompressível , fluxos multifásicos, com reações químicas, transferência de calor ... Diferentes modelos de turbulência (RANS, LES ...) também estão disponíveis.
O OpenFOAM é distribuído com o ParaView , um software de pós-processamento de código aberto. Para usuários que preferem usar sua ferramenta de visualização, existem módulos de exportação para Fluent , EnSight, Fieldview.
O código OpenFOAM visto como uma biblioteca C ++ é de grande interesse quando se trata de usar novos modelos. Na verdade, ao contrário da maioria dos códigos científicos escritos sequencialmente (geralmente em Fortran ), o OpenFOAM tira proveito do poder das linguagens orientadas a objetos . Esta estrutura em forma de classes torna possível abordar a escrita matemática em termos de divergência, rotação , gradiente , Laplaciano , operador de derivada temporal ... Nenhum conhecimento profundo de C ++ é necessário para escrever seu modelo em OpenFOAM. Assim, a equação de transporte de um campo de temperatura T
é simplesmente programado em OpenFOAM por:
solve ( fvm::ddt(T) +fvm::div(phi,T) == fvm::laplacian(D,T) );Enquanto a discretização dos diferentes operadores matemáticos ocupa um lugar preponderante na criação de códigos sequenciais, o usuário do OpenFOAM não se preocupa com isso ao escrever seu programa e pode assim concentrar-se inteiramente na representação de seu modelo físico. Os diferentes métodos de discretização já estão codificados nas classes de cada operador. A escolha é assim realizada a posteriori durante o lançamento da preparação de um cálculo nos arquivos do usuário. Graças ao poder das linguagens de alto nível, o usuário pode, portanto, testar diferentes discretizações sem gastar horas programando-as. Se ele deseja uma discretização que não seja levada em consideração no código, nada o impede de adicioná-la à classe do operador correspondente, ela será válida para todos os seus códigos OpenFOAM.
O código pode ser baixado gratuitamente no site oficial.
A comunidade de usuários do OpenFOAM de língua francesa está estruturada em torno da associação FOAM-U.