picFoam is a fully kinetic electrostatic Particle-in-Cell(PIC) solver, including Monte Carlo Collisions(MCC), for non-equilibrium plasma research.
The solver is developed at ZARM (Center of Applied Space Technology and Microgravity, University of Bremen).
picFoam requires OpenFOAM version 9.
For OpenFOAM version 10 checkout the branch openfoam-v10 (Note: The branch was tested for compilation only!)
Detailed installation instructions for OpenFOAM can be found here.
Summery of the OpenFOAM installtion (link above):
-
Compiler: GCC version > 5.4 or above; or LLVM Clang version > 3.6 or above; or Intel ICC version > 17.0.4 or above
-
Package dependencies (for Ubuntu version 18.04 or above):
OpenFOAM: build-essential cmake git ca-certificates flex libfl-dev bison zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-devParaView:
libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl -
Clone OpenFOAM repositories (recommended installation directory $HOME/OpenFOAM): git clone https://github.com/OpenFOAM/OpenFOAM-9.git git clone https://github.com/OpenFOAM/ThirdParty-9.git
-
Set the environment variables: source $HOME/OpenFOAM/OpenFOAM-9/etc/bashrc
-
Compile Scotch/PT-Scotch: Run the Allwmake script in $HOME/OpenFOAM/ThirdParty-9
-
Compile OpenFOAM: Run the Allwmake script in $HOME/OpenFOAM/OpenFOAM-9
-
Compile ParaView: Run the makeParaView script in $HOME/OpenFOAM/ThirdParty-9
Run the Allwmake script inside the picFoam directory.
To run a tutorial execute the respective run.sh script. By default meshes are constructed with blockMesh, but Gmsh geometry files are also included.
If you wish to use the Gmsh geometry, installation of Gmsh version 3.0.6 is recommended. For newer versions run Gmsh with -format msh22 to output an older mesh format, which OpenFOAM can handle.
If you wish to extend picFoam with new submodels see the file EXTENSION_INSTRUCTIONS.md.