Skip to content

Commit 76cbfa3

Browse files
authored
update the intro / getting started docs (#1733)
1 parent 15d8ae4 commit 76cbfa3

File tree

2 files changed

+47
-16
lines changed

2 files changed

+47
-16
lines changed

Docs/source/getting_started.rst

+34-8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,29 @@
22
Getting Started
33
***************
44

5+
Requirements
6+
============
7+
8+
Microphysics requires
9+
10+
* A C++17 or later compilers
11+
* AMReX (https://github.com/amrex-codes/amrex)
12+
* python (>= 3.10)
13+
* GNU make
14+
15+
optional dependencies are:
16+
17+
* CUDA (>= 11)
18+
* ROCm (>= 6.3.1 --- earlier versions have register allocation bugs)
19+
20+
Microphysics is meant to be compiled into an application code as part
21+
of its build process, with the network, EOS, integrator, and more
22+
picked at compile time. As such, there is not a single library that
23+
can be built and linked against.
24+
25+
Below we describe how to use Microphysics in a "standalone" fashion,
26+
using the provided unit tests, and as part of an application code.
27+
528
Standalone
629
==========
730

@@ -39,10 +62,11 @@ This will create an executable called ``main3d.gnu.ex``. Then you can run it as
3962

4063
.. prompt:: bash
4164

42-
./main3d.gnu.ex inputs_aprox21
65+
./main3d.gnu.ex inputs_aprox13
4366

44-
By default, the test is built with the 21-isotope ``aprox21`` network.
45-
Here ``inputs_aprox21`` is the inputs file that sets options.
67+
By default, the test is built with the 13-isotope ``aprox13`` network,
68+
``helmholtz`` EOS, and VODE integrator.
69+
Here ``inputs_aprox13`` is the inputs file that sets options.
4670

4771

4872

@@ -51,11 +75,15 @@ Running with AMReX Application Code
5175

5276
.. index:: MICROPHYSICS_HOME
5377

54-
Getting started with Microphysics using either CASTRO or MAESTROeX is
78+
Getting started with Microphysics using either `CASTRO
79+
<https://amrex-astro.github.io/Castro/docs/index.html>`_ or `MAESTROeX
80+
<https://amrex-astro.github.io/MAESTROeX/docs/index.html>`_ is
5581
straightforward. Because the modules here are already in a format that
5682
the AMReX codes understand, you only need to provide to the code
5783
calling these routines their location on your system. The code will do
58-
the rest. To do so, define the ``MICROPHYSICS_HOME`` environment
84+
the rest.
85+
86+
First we need to define the ``MICROPHYSICS_HOME`` environment
5987
variable, either at a command line or (if you use the bash shell)
6088
through your ``~/.bashrc``, e.g.:
6189

@@ -70,6 +98,4 @@ rely on the Microphysics ``Make.Microphysics_extern`` makefile stub
7098
source to the build. All of the interfaces that these codes use
7199
are found in ``Microphysics/interfaces/``.
72100

73-
Other codes can use Microphysics in the same fashion. Unit tests in
74-
``Microphysics/unit_test/`` provide some examples of using the
75-
interfaces.
101+
Other AMReX-based codes can use Microphysics in the same fashion.

Docs/source/index.rst

+13-8
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,28 @@ The original design was to support codes based on the `AMReX
1414
<https://github.com/amrex-codes/amrex>`_ adaptive mesh refinement library :cite:`amrex_joss`,
1515
including `CASTRO
1616
<https://github.com/amrex-astro/Castro>`_ :cite:`castro_I`, `MAESTROeX
17-
<https://github.com/amrex-astro/MAESTROeX>`_ :cite:`maestroex`, and Quokka :cite:`quokka`. These all have a
17+
<https://github.com/amrex-astro/MAESTROeX>`_ :cite:`maestroex`, and, later, Quokka :cite:`quokka`. These all have a
1818
consistent interface and the separate Microphysics repository allows
1919
them to share the same equation of state, reaction networks, and more.
20-
Later, Microphysics was adopted by the `Quokka <https://github.com/quokka-astro/quokka>`_
21-
simulation code.
20+
21+
Microphysics is written in C++ as a (mostly) header-only library, making
22+
extensive use of templating and C++ `constexpr` features to be performant
23+
on both CPU and GPU architectures. It is compatible with both NVIDIA CUDA
24+
and AMD HIP/ROCm.
2225

2326
While there are a number of unit tests that exercise the functionality,
2427
Microphysics is primarily intended to be used along with another simulation
2528
code. At the moment, the interfaces and
2629
build stubs are compatible with the AMReX codes and use the AMReX build
2730
system.
2831

29-
A number of the routines contained here we authored by other people.
30-
We bundle them here with permission, usually changing the interfaces
31-
to be compatible with our standardized interface. We in particular
32-
thank Frank Timmes for numerous reaction networks and his equation
33-
of state routines.
32+
.. note::
33+
34+
A number of the routines contained here we authored by other people.
35+
We bundle them here with permission, usually changing the interfaces
36+
to be compatible with our standardized interface. We in particular
37+
thank Frank Timmes for numerous reaction networks and his equation
38+
of state routines.
3439

3540

3641
.. toctree::

0 commit comments

Comments
 (0)