This is chombo-discharge
, a multiphysics code which uses Chombo
for discharge simulations with adaptive mesh refinement (AMR) on embedded boundary grids.
A modified version of Chombo
is distributed together with this code.
A serial build quickstart is given below. For complete installation instructions, see https://chombo-discharge.github.io/chombo-discharge/Base/Installation.html
User documentation is available as HTML or as a PDF. A doxygen-generated API is also available.
See LICENSE and Copyright.txt for redistribution rights.
For doing a quick clone and test build of chombo-discharge
without HDF5 or MPI capabilities, execute the following steps:
-
Install the LAPACK, BLAS, and GCC dependencies:
sudo apt install csh gfortran g++ libblas-dev liblapack-dev
-
Choose an installation directory and clone
chombo-discharge
there:export DISCHARGE_HOME=/home/foo/chombo-discharge export CHOMBO_HOME=$DISCHARGE_HOME/Submodules/Chombo-3.3/lib git clone --recursive [email protected]:chombo-discharge/chombo-discharge.git ${DISCHARGE_HOME}
Alternatively, if cloning over https:
export DISCHARGE_HOME=/home/foo/chombo-discharge export CHOMBO_HOME=$DISCHARGE_HOME/Submodules/Chombo-3.3/lib git clone --recursive https://github.com/chombo-discharge/chombo-discharge.git ${DISCHARGE_HOME}
-
Copy the GNU compiler makefile to it's appropriate location
cp $DISCHARGE_HOME/Lib/Local/Make.defs.GNU $CHOMBO_HOME/mk/Make.defs.local
-
Build
chombo-discharge
cd $DISCHARGE_HOME make -s -j4
-
Run a simple example program
cd $DISCHARGE_HOME/Exec/Examples/AdvectionDiffusion/DiagonalFlowNoEB make -s -j4 ./*.ex example.inputs
-
Run an advanced example program
cd $DISCHARGE_HOME/Exec/Examples/CdrPlasma/StochasticAir make -s -j4 ./*.ex positive2d.inputs
We welcome feedback, bug reports, or code contributions.
-
Create a branch for the new feature.
git checkout main git pull git checkout -b my_branch
-
Develop the feature.
git add . git commit -m "my commit message"
If relevant, add Sphinx and doxygen documentation.
-
Format the source and example codes using
clang-format
:find Source Physics Geometries Exec \( -name "*.H" -o -name "*.cpp" \) -exec clang-format -i {} +
-
Push the changes to GitHub
git push --set-upstream origin my_branch
-
Create a pull request and make sure the GitHub continuous integration tests pass.