Ir para o conteúdo

OpenLB

Origem: Wikipédia, a enciclopédia livre.
OpenLB
Versão atual 1.8[1]
Data de lançamento da versão atual 24 abril de 2025 (2025-04-24)
Linguagem de programação C++
Sistema operacional Linux, Mac OS, Windows
Licença GPLv2 (GPLv2)
Website www.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. [2] 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. [3] A eficiência e a escalabilidade foram verificadas e comprovadas por revisões de código. [4] 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

[editar | editar código]

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 [5]
  • Fluxo turbulento
  • Fluxo multicomponente [6]
  • Fluxo térmico [7]
  • 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

[editar | editar código]

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

[editar | editar código]
  • 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).
  • Winner Mimics Innovation Award (2011)[8]
  • Honorary certificate in the Group Humanitarian Impact, "Itanium® Solutions Alliance Innovation Awards" (2009)[9]
  • Finalist in the Group Humanitarian Impact Innovation, "Itanium® Solutions Alliance Innovation Awards" (2007)

Referências

[editar | editar código]
  1. «OpenLB 1.8» 
  2. «OpenLB is ... | OpenLB – Open Source Lattice Boltzmann Code». openlb.net. Consultado em 28 de fevereiro de 2017 
  3. Heuveline, Vincent; Latt, Jonas (1 de abril de 2007). «The openlb project: an open source and object oriented implementation of lattice boltzmann methods». International Journal of Modern Physics C. 18 (4): 627–634. Bibcode:2007IJMPC..18..627H. ISSN 0129-1831. doi:10.1142/S0129183107010875 
  4. Fietz, Jonas; Krause, MathiasJ.; Schulz, Christian; Sanders, Peter; Heuveline, Vincent (1 de janeiro de 2012). «Optimized Hybrid Parallel Lattice Boltzmann Fluid Flow Simulations on Complex Geometries». Euro-Par 2012 Parallel Processing. Col: Lecture Notes in Computer Science (em inglês). 7484. [S.l.: s.n.] pp. 818–829. ISBN 978-3-642-32819-0. doi:10.1007/978-3-642-32820-6_81 
  5. Erro de citação: Etiqueta <ref> inválida; não foi fornecido texto para as "refs" nomeadas Krause2010
  6. «Bifurcation | OpenLB – Open Source Lattice Boltzmann Code». optilb.org. Consultado em 28 de fevereiro de 2017 
  7. «Rayleigh Benard | OpenLB – Open Source Lattice Boltzmann Code». optilb.org. Consultado em 28 de fevereiro de 2017 
  8. «Innovative Patient-Specific Intranasal Flow Simulations» 
  9. «Itanium Solutions Alliance Selects Sweden's Kiwok as the 2009 Innovation Awards Winner for Humanitarian Impact». 28 de julho de 2009