Skip to content

Commit a8415d3

Browse files
authored
clean up / update the intro docs a bit (#214)
1 parent 0d61534 commit a8415d3

2 files changed

Lines changed: 22 additions & 84 deletions

File tree

docs/source/design.rst

Lines changed: 15 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Design ideas
22
============
33

4-
pyro is written entirely in python (by default, we expect python 3),
5-
with a few low-level routines compiled *just-in-time* by `numba` for performance. The
4+
pyro is written entirely in python,
5+
with a few low-level routines compiled *just-in-time* by ``numba`` for performance. The
66
``numpy`` package is used for representing arrays throughout the
77
python code and the ``matplotlib`` library is used for
88
visualization. Finally, ``pytest`` is used for unit testing of some
@@ -11,9 +11,9 @@ components.
1111
All solvers are written for a 2-d grid. This gives a good balance
1212
between complexity and speed.
1313

14-
A paper describing the design philosophy of pyro was accepted to
15-
Astronomy & Computing `[paper link] <http://adsabs.harvard.edu/abs/2013arXiv1306.6883Z>`_.
16-
14+
A paper describing the design philosophy of pyro was published in
15+
Astronomy & Computing `[A&C paper link]<http://adsabs.harvard.edu/abs/2013arXiv1306.6883Z>`_.
16+
A follow-on paper was published in JOSS `[JOSS paper link]<https://joss.theoj.org/papers/10.21105/joss.01265>`_.
1717

1818
Directory structure
1919
-------------------
@@ -42,81 +42,19 @@ The main code is all contained in the ``pyro/`` subdirectory. Here we discuss t
4242

4343
The files for each solver are in their own sub-directory, with
4444
additional sub-directories for the mesh and utilities. Each solver has
45-
two sub-directories: ``problems/`` and ``tests/``. These store the
46-
different problem setups for the solver and reference output for
47-
testing.
48-
49-
The overall structure is:
50-
51-
* ``advection/``: The linear advection equation solver using the CTU
52-
method. All advection-specific routines live here.
53-
54-
* ``problems/``: The problem setups for the advection solver.
55-
* ``tests/``: Reference advection output files for comparison and regression testing.
56-
57-
* ``advection_fv4/``: The fourth-order accurate finite-volume advection
58-
solver that uses RK4 time integration.
59-
60-
* ``problems/``: The problem setups for the fourth-order advection solver.
61-
* ``tests/``: Reference advection output files for comparison and regression testing.
62-
63-
* ``advection_nonuniform/``: The solver for advection with a non-uniform velocity field.
45+
two sub-directories for problems and tests, appearing as:
6446

65-
* ``problems/``: The problem setups for the non-uniform advection solver.
66-
* ``tests/``: Reference advection output files for comparison and regression testing.
47+
* *solver-name*
6748

68-
* ``advection_rk/``: The linear advection equation solver using the
69-
method-of-lines approach.
49+
* ``problems/`` : the problem setups and inputs file that work for this solver.
50+
In some cases, this might be a symlink to a similar solver that we inherit from.
7051

71-
* ``problems/``: This is a symbolic link to the advection/problems/ directory.
72-
* ``tests/``: Reference advection output files for comparison and regression testing.
52+
* ``tests/``. reference output (HDF5 files) used for the regression testing.
7353

74-
* ``advection_weno/``: The method-of-lines WENO solver for linear
75-
advection.
76-
77-
* ``problems/``: This is a symbolic link to the advection/problems/ directory.
54+
The other directories include:
7855

7956
* ``analysis/``: Various analysis scripts for processing pyro output files.
8057

81-
* ``compressible/``: The fourth-order accurate finite-volume compressible
82-
hydro solver that uses RK4 time integration. This is built from the
83-
method of McCourquodale and Colella (2011).
84-
85-
* ``problems/``: The problem setups for the fourth-order compressible hydrodynamics solver.
86-
* ``tests/``: Reference compressible hydro output for regression testing.
87-
88-
* ``compressible_fv4/``: The compressible hydrodynamics solver using the
89-
CTU method. All source files specific to this solver live here.
90-
91-
* ``problems/``: This is a symbolic link to the compressible/problems/ directory.
92-
* ``tests/``: Reference compressible hydro output for regression testing.
93-
94-
* ``compressible_rk/``: The compressible hydrodynamics solver using method of lines integration.
95-
96-
* ``problems/``: This is a symbolic link to the compressible/problems/ directory.
97-
* ``tests/``: Reference compressible hydro output for regression testing.
98-
99-
* ``compressible_sdc/``: The fourth-order compressible solver,
100-
using spectral-deferred correction (SDC) for the time integration.
101-
102-
* ``problems/``: This is a symbolic link to the compressible/problems/ directory.
103-
* ``tests/``: Reference compressible hydro output for regression testing.
104-
105-
* ``diffusion/``: The implicit (thermal) diffusion solver. All diffusion-specific routines live here.
106-
107-
* ``problems/``: The problem setups for the diffusion solver.
108-
* ``tests/``: Reference diffusion output for regression testing.
109-
110-
* ``incompressible/``: The incompressible hydrodynamics solver. All incompressible-specific routines live here.
111-
112-
* ``problems/``: The problem setups for the incompressible solver.
113-
* ``tests/``: Reference incompressible hydro output for regression testing.
114-
115-
* ``lm_atm/``: The low Mach number hydrodynamics solver for atmospherical flows. All low-Mach-specific files live here.
116-
117-
* ``problems/``: The problem setups for the low Mach number solver.
118-
* ``tests/``: Reference low Mach hydro output for regression testing.
119-
12058
* ``mesh/``: The main classes that deal with 2-d cell-centered grids
12159
and the data that lives on them. All the solvers use these classes
12260
to represent their discretized data.
@@ -125,17 +63,11 @@ The overall structure is:
12563
solver is used on its own to illustrate how multigrid works, and
12664
directly by the diffusion and incompressible solvers.
12765

128-
* ``problems/``: The problem setups for when the multigrid solver is used in a stand-alone fashion.
129-
* ``tests/``: Reference multigrid solver solutions (from when the multigrid solver is used stand-alone) for regression testing.
130-
131-
* ``particles/``: The solver for Lagrangian tracer particles.
132-
133-
* ``tests/``: Particle solver testing.
134-
135-
* ``swe/``: The shallow water solver.
66+
This includes its own ``problems`` and ``tests`` directories for when
67+
it is run in a standalone fashion.
13668

137-
* ``problems/``: The problem setups for the shallow water solver.
138-
* ``tests/``: Reference shallow water output for regression testing.
69+
* ``particles/``: The solver for Lagrangian tracer particles. This is meant
70+
to be used with another solver.
13971

14072
* ``util/``: Various service modules used by the pyro routines,
14173
including runtime parameters, I/O, profiling, and pretty output

docs/source/intro.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,21 @@ equations. In particular, the following solvers are developed:
2323

2424
* linear advection
2525

26+
* Burgers' equation
27+
2628
* compressible hydrodynamics
2729

30+
* special relativistic compressible hydrodynamics
31+
2832
* shallow water hydrodynamics
2933

3034
* multigrid
3135

3236
* implicit thermal diffusion
3337

34-
* incompressible hydrodynamics
38+
* inviscid incompressible hydrodynamics
39+
40+
* viscous incompressible hydrodynamics
3541

3642
* low Mach number atmospheric hydrodynamics
3743

0 commit comments

Comments
 (0)