Finite volume solver for incompressible multiphase flows with surface tension.
Key features:
Gallery wiki | Curvature | Multi-VOF | Electrochemistry | Parser |
Online documentation and PDF generated by doc/sphinx.
Default parameters are listed in deploy/scripts/sim_base.conf.
C++14, CMake
Optional dependencies: MPI, parallel HDF5, python3, python3-numpy
Bundled optional dependencies: hypre, overlap, fpzip
git clone https://github.com/cselab/aphros.git
First, follow deploy/README.md to prepare environment and install dependencies. Then build with
cd src
make
The Code Ocean platform hosts the following compute capsule
which builds Aphros in a Linux environment, runs a set of examples, and visualizes the results.
Instead of building the code in your system, you can build a Docker container and run a simulation example
docker build github.com/cselab/aphros --tag aphros
cd examples/202_coalescence/standalone
./conf
docker run -v `pwd`:`pwd` -w `pwd` aphros
Build without dependencies and tests on Unix-like systems
(APHROS_PREFIX
is the installation directory, with USE_MPI=1
,
USE_HDF=1
, USE_OPENCL=1
, USE_AVX=1
builds with MPI, parallel
HDF5 library, OpenCL, and AVX extensions):
cd src
../make/bootstrap
make -f Makefile_legacy install APHROS_PREFIX=$HOME/.local USE_MPI=0 USE_HDF=0 USE_OPENCL=0 USE_AVX=0
on Windows using Microsoft C++ toolset (NMAKE, LINK, and CL):
cd src
../make/bootstrap # Requires sh and awk.
nmake /f NMakefile
Examples of simulations visualized using
ParaView and OSPRay.
Links [conf]
lead to the solver configuration.
Coalescence of bubbles [conf] [4] | Taylor-Green vortex with bubbles [2] [5] |
Bubble jump-off [1] | Electrochemical reactor [conf] [9] |
Bubble trapped by vortex ring [5] | Plunging jet [2] |
Clustering of bubbles [conf] [6] [7] [11] | Foaming waterfall [conf] [8] [11] |
Bidisperse foam [conf] [11] | Microfluidic crystals [conf] [11] |
LAMMPS polymers in Taylor-Green vortex [conf] | Bubble pipe optimization [10] |
Bubbles through mesh |
APS Gallery of Fluid Motion 2019 award winner Breaking waves: to foam or not to foam? [6] Collaboration with Jean M. Favre at CSCS. |
Aphros is developed by researchers at ETH Zurich and Harvard University
advised by
Other contributors are: Fabian Wermelinger (Cubism backend)
If you use Aphros in your work, please consider using the following
@article{aphros2022,
author = {Petr Karnakov and Sergey Litvinov and Petros Koumoutsakos},
title = {Computing foaming flows across scales: From breaking waves to microfluidics},
journal = {Science Advances},
volume = {8},
number = {5},
pages = {eabm0590},
year = {2022},
doi = {10.1126/sciadv.abm0590},
URL = {https://www.science.org/doi/abs/10.1126/sciadv.abm0590},
eprint = {https://www.science.org/doi/pdf/10.1126/sciadv.abm0590},
}