MARBLES: Multi-scale Adaptively Refined Boltzmann LatticE Solver

README

MARBLES: Multi-scale Adaptively Refined Boltzmann LatticE Solver

CI Badge Documentation Badge License Badge AMReX Badge C++ Badge

Getting Started

To compile and run MARBLES, one needs a C++ compiler that supports the C++17 standard, and then execute

$ git clone --recursive git@github.com:NREL/marbles.git
$ cd Build
$ make realclean && make -j
$ ./marbles3d.xxx.yyy.ex example.inp

Note

  1. In the exec line above, xxx.yyy is a tag identifying your compiler and various build options, and will vary across pltaform. (Note that GNU compilers must be at least version 7, and MPI should be at least of standard version 3).

  2. The example file can be any file from the Tests/test_files directories.

  3. In addition to informative output to the terminal, periodic plotfiles are written in the run folder. These may be viewed with AMReX’s Amrvis or VisIt:

    1. In VisIt, direct the File->Open dialogue to select the file named “Header” that is inside each plotfile folder.

    2. With Amrvis, $ amrvis3d plt00030, for example.

Alternatively, one can use cmake to build the code

$ cd Build
$ ./cmake.sh
$ ./marbles example.inp

Dependencies

MARBLES is built on the AMReX library.

Documentation

The full documentation for MARBLES exists in the Docs directory; at present this is maintained inline using Sphinx. To build the documentation

$ cd Docs && mkdir build && cd build && sphinx-build -M html ../sphinx .

Or, using cmake

$ cd Build && cmake -B build-docs ../Docs && cmake --build build-docs

Indices and tables