The "leia" project is an OpenFOAM module that implements unstructured Lagrangian / Eulerian Interface (LEIA) methods for multiphase flow simulations in complex geometries.
This project is licensed under the GPL3.0 License - see the LICENSE.md file for details.
These instructions will get your copy of the project up and running on your local machine for development and testing purposes.
leia
is a project that builds on OpenFOAM so it compiles and links against OpenFOAM libraries.
A C++ compiler that supports the C++20 standard, tested with
- g++ (GCC) 11.2.0
- g++ (GCC) 10.3.0
Meshing
- cfmesh, available as OpenFOAM sub-module, used for automatic generation of unstructured volume meshes
OpenFOAM-v2206
To install OpenFOAM follow the instructions on installing OpenFOAM from sources.
- Check out openfoam using git.
- Check out the git tag and build
?> git checkout OpenFOAM-v2206
?> ./Allwmake
We use Jupyter notebooks for visualization and processing of test results, and following packages (may be differently named on your Operating System)
- python, python-pandas, python-numpy, python-jupyter
Once OpenFOAM is installed, run
leia> ./Allwmake
The template cases used for advection verification are located in cases/
.
case> ./Allrun.serial
Create the mesh and initialize the fields with
case> ./Allrun.parallel
The velocity field for an alternative advection case can be set in testAdvection/system/fvSolution
velocityModel
{
type deformation3D;
oscillation on;
}
Enter test
ater type
to get a list of available velocity models. Initial interface shape is also set in testAdvection/system/fvSolution
levelSet
{
implicitSurface
{
type implicitSphere;
center (0.35 0.35 0.35);
radius 0.15;
}
...
Enter test
after type
to get a list of available types and their parameters.
Fork the project and submit a merge request.