A C++ LBM code.
Focus is on incompressible, isothermal high-Re flows. The ultimate goal is solution-adaptive rotor-stator simulations.
Run 'make' to compile with visualizer.
Run 'make NOVIZ=1' to compile without visualizer (it will be slightly faster).
Run 'make TEST=1' to compile and run unit tests. For this, you will need to have the googletest repo on your machine and will need to define its path in the Makefile.
If you want to compile using multiple cores, add '-jN', where 'N' is the number of threads to use.
Modify 'settings' to your needs.
To run: './lbmpp'.
For custom maximum window size, run: './lbmpp <maximum resolution dimension>'.
The following are the main parameters:
- Mach number: this is the ratio of the boundary condition velocity to the lattice speed of sound, which is 1 / sqrt(3) for grid and time steps of 1. The Mach number should not be set too high for compressibility to affect the results, but increasing Mach number allows for less timesteps to convergence.
- Characteristic length: This is not necessarily related to the grid (though in the lid-driven cavity case it is). It is determined by the physics of your problem.
- Reynolds number: This is determined by the physics of your problem.
The complete list of parameters can be found in 'settings'.
See 'references/report.pdf'. Note that the compilation and usage instructions in the report may be outdated (use this readme instead).
- Characterize spatial order of accuracy of grid interfaces.
- Solution-adaptive refinement.