OpenLBVersão atual1.8Data de lançamento da versão atualLinguagem de programaçãoC++Sistema operacionalLinux, Mac OS, WindowsLicençaGPLv2 (GPLv2)Websitewww.openlb.net OpenLB é uma ferramenta para simulação de fenômentos físicos através do Método de Lattice Boltzmann (LBM), desenvolvida por programação orientada a objetos. É a primeira implementação de uma plataforma genérica para programação LBM, que é compartilhada com a comunidade de código aberto (GPLv2) . O código é escrito em C++ e é usado por programadores de aplicativos, bem como desenvolvedores, com a capacidade de implementar modelos personalizados. OpenLB suporta estruturas de dados complexas que permitem simulações em geometrias complexas e execução paralela usando MPI, OpenMP e CUDA em computadores de alto desempenho. O código-fonte usa os conceitos de interfaces e templates, para que implementações eficientes, diretas e intuitivas do LBM se tornem possíveis. A eficiência e a escalabilidade foram verificadas e comprovadas por revisões de código. A documentação do código-fonte está disponivel em DoxyGen e um manual do usuário está disponível na página do projeto.
Funções O OpenLB está em constante desenvolvimento. Até o momento, os seguintes recursos já foram implementados:
Dinâmica de fluidos computacional em geometria complexa Geração automática de uma grade Fluxo turbulento Fluxo multicomponente Fluxo térmico Radiação de luz Otimização de topologia Fluxo de partículas (método de Euler-Euler e Euler-Lagrange)
Geração automatizada de rede A geração automatizada de grades é uma das grandes vantagens do OpenLB em relação a outros pacotes de software CFD. As principais vantagens estão listadas abaixo:
Uso de geometrias no STL ou formas geometricamente primitivas (por exemplo, bola, cilindro, cone) e sua união, intersecção e diferença Voxelização muito rápida: 600 3 ~ 1 minuto Manuseio de superfícies não estanques Amigável à memória usando octrees Distribuição de carga para execução paralela com MPI, OpenMP e CUDA.
A geração automática de grades pode assumir tanto um arquivo STL quanto geometrias primitivas. Para a geometria, é criada uma grade uniforme e retangular que abrange todo o espaço da geometria. As células de grade supérfluas são então removidas e os cuboides restantes são reduzidos para se ajustarem à geometria fornecida. Por fim, a grade é distribuída para diferentes threads ou processadores para a execução paralela da simulação. As condições de contorno e os valores iniciais podem ser definidos usando números de material.
Literatura Krause, Mathias J. and Latt, Jonas and Heuveline, Vincent. "Towards a hybrid parallelization of lattice Boltzmann methods." Computers & Mathematics with Applications 58.5 (2009): 1071–1080. Heuveline, Vincent, and Mathias J. Krause. "OpenLB: towards an efficient parallel open source library for lattice Boltzmann fluid flow simulations." International Workshop on State-of-the-Art in Scientific and Parallel Computing. PARA. Vol. 9. 2010. Krause, Mathias J., Thomas Gengenbach, and Vincent Heuveline. "Hybrid parallel simulations of fluid flows in complex geometries: Application to the human lungs." European Conference on Parallel Processing. Springer Berlin Heidelberg, 2010. Krause, Mathias J. "Fluid flow simulation and optimisation with lattice Boltzmann methods on high performance computers: application to the human respiratory system." Karlsruhe Institute of Technology, KIT (2010). Trunk, Robin, et al. "Inertial dilute particulate fluid flow simulations with an Euler–Euler lattice Boltzmann method." Journal of Computational Science (2016). Mink, Albert, et al. "A 3D Lattice Boltzmann method for light simulation in participating media." Journal of Computational Science (2016).
Prêmios Winner Mimics Innovation Award (2011) Honorary certificate in the Group Humanitarian Impact, "Itanium® Solutions Alliance Innovation Awards" (2009) Finalist in the Group Humanitarian Impact Innovation, "Itanium® Solutions Alliance Innovation Awards" (2007)
Referências
Categoria:Software C++ Categoria:Fluidodinâmica Computacional Categoria:Software científico de c Categoria:Engenharia assistida por computador para Linux Categoria:Simulação do sistemas multifísica