Skip to content

PlasmaSimUQ/cerberus

Repository files navigation

Cerberus

A solver for the ideal five-moment multi-fluid plasma equations using the AMReX framework.

NOTE: for detailed instructions, see Getting started. This code is very much in development. To report bugs, create an issue. If you would like help running the code, or getting started, please ask a question

Dependencies

A GNU/Linux operating system with the following packages is required to build this code:

  • C and C++ compiler package, Boost, GNU Readline.
  • LAPACK
  • OpenMPI
  • GNU make and various other GNU tools such as sed, git, etc.
  • *Optional: Build EAR (bear)* to generate the compile_commands.json index file for IDE features when developing.
  • *Optional: D compiler and runtime*, if you wish to use the UQ Gas Dynamics Toolkit

Building

If you wish to change build options, copy Make.local.template to Make.local. The latter is untracked, so you can make changes there without polluting the git history. The commented values in Make.local.template are the defaults, unless noted otherwise.

To run the build,

make -j$(nproc)

Alternatively, specify build flags on the commandline,

make -j$(nproc) USE_EB=FALSE AMREX_PARTICLES=FALSE -j9

Run source env from the root of the repo to initialise GDTk environment variables. This is necessary for running with the GDTk gas models.

Development builds

To compile for development, and automatically generate the compile_commands.json index, ensure that the executable bear is available at the commandline. Then execute either make develop -j8 or make develop_eilmer -j8.

This will set DEBUG=TRUE and generate a compile_commands.json file, so you can utilise it with an IDE or editor that supports the clangd or ccls language servers. See Getting started for a little more information.

Further documentation

Head over to Getting started.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published