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 8.
Detailed installation instructions for OpenFOAM can be found here.
Summery of the OpenFOAM installtion (link above):
-
Compiler: GCC version > 4.8 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 flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
ParaView:
libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl
-
Clone OpenFOAM repositories (recommended installation directory $HOME/OpenFOAM): git clone https://github.com/OpenFOAM/OpenFOAM-8.git git clone https://github.com/OpenFOAM/ThirdParty-8.git
-
Set the environment variables: source $HOME/OpenFOAM/OpenFOAM-8/etc/bashrc
-
Compile Scotch/PT-Scotch: Run the Allwmake script in $HOME/OpenFOAM/ThirdParty-8
-
Compile OpenFOAM: Run the Allwmake script in $HOME/OpenFOAM/OpenFOAM-8
-
Compile ParaView: Run the makeParaView script in $HOME/OpenFOAM/ThirdParty-8
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.