https://github.com/ivan-pi/periodic-lbm
A personal collection of research codes for LBM in periodic domains
https://github.com/ivan-pi/periodic-lbm
benchmark cfd dugks-method lattice-boltzmann-method lbm periodic-flow
Last synced: 27 days ago
JSON representation
A personal collection of research codes for LBM in periodic domains
- Host: GitHub
- URL: https://github.com/ivan-pi/periodic-lbm
- Owner: ivan-pi
- License: apache-2.0
- Created: 2022-03-04T14:06:44.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-03T21:04:23.000Z (8 months ago)
- Last Synced: 2025-03-26T05:49:12.687Z (28 days ago)
- Topics: benchmark, cfd, dugks-method, lattice-boltzmann-method, lbm, periodic-flow
- Language: Fortran
- Homepage:
- Size: 240 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# periodic-lbm
A personal collection of research codes for lattice Boltzmann methods in periodic 2D domains.
For actual simulation work take a look at [other codes](/other_codes).
## Data layout
When organizing an LBM code, there are two main choices for the data layout
- **S**tructure **o**f **A**rrays (SoA), and
- **A**rray **o**f **S**tructures (AoS)In the SoA layout, the PDF's pointing in a given direction at different spatial points are stored contiguously.
In the AoS layout, the PDF's pointing in different directions at a given spatial point are stored contiguously.The chosen layout carries large performance implications. For optimum performance the collision and streaming kernels should be specialized for the chosen layout.
## See also
Some of these libraries may also be used in the future:
- [Medusa](https://e6.ijs.si/medusa/wiki/index.php/Medusa)
- [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page)
- [Boost](https://www.boost.org/)
- [nanoflann](https://github.com/jlblancoc/nanoflann)
- [psblas3](https://github.com/sfilippone/psblas3)
- [librsb](http://librsb.sourceforge.net/)## Other codes
For large-scale simulations consider using one of the following freely availables codes
* [waLBerla](https://walberla.net/)
* [Palabos](https://palabos.unige.ch/)
* [TCLB](https://github.com/CFD-GO/TCLB)
* [Musubi](https://geb.inf.tu-dresden.de/doxy/musubi/index.html)
* [OpenLB](https://www.openlb.net/)
* [VirtualFluids](https://git.rz.tu-bs.de/irmb/virtualfluids)For industrial purpose simulations the following solvers can also be used
* Dassault Systèmes Simulia [PowerFLOW](https://www.3ds.com/products-services/simulia/products/powerflow/) and [XFlow](https://www.3ds.com/products-services/simulia/products/xflow/) (formerly from Exa Corporation)
* Altair [ultraFluidX](https://www.altair.com/altair-cfd-capabilities/#lbm) (formerly from FluiDyna GmbH)
* [ProLB](http://www.prolb-cfd.com/)A bunch of other (mostly research oriented) codes are described in [the list](https://github.com/sthavishtha/list-lattice-Boltzmann-codes) by Sthavishtha Bhopalam Rajakumar ([@sthavishtha](https://github.com/sthavishtha)).