Skip to content

Commit bbb76db

Browse files
committed
more updates
1 parent e2ac632 commit bbb76db

1 file changed

Lines changed: 56 additions & 65 deletions

File tree

docs/source/compressible_basics.rst

Lines changed: 56 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,76 @@
11
Compressible hydrodynamics solvers
22
==================================
33

4-
The equations of compressible hydrodynamics take the form:
4+
The Euler equations of compressible hydrodynamics take the form:
55

66
.. math::
77
88
\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho U) &= 0 \\
99
\frac{\partial (\rho U)}{\partial t} + \nabla \cdot (\rho U U) + \nabla p &= \rho g \\
1010
\frac{\partial (\rho E)}{\partial t} + \nabla \cdot [(\rho E + p ) U] &= \rho U \cdot g
1111
12-
with :math:`\rho E = \rho e + \frac{1}{2} \rho |U|^2` and :math:`p = p(\rho, e)`.
12+
with :math:`\rho E = \rho e + \frac{1}{2} \rho |U|^2` and :math:`p =
13+
p(\rho, e)`. Note these do not include any dissipation terms, since
14+
they are usually negligible in astrophysics.
1315

14-
pyro has several compressible solvers:
16+
pyro has several compressible solvers to solve this equation set.
17+
The implementations here have flattening at shocks, artificial
18+
viscosity, a simple gamma-law equation of state, and (in some cases) a
19+
choice of Riemann solvers. Optional constant gravity in the vertical
20+
direction is allowed.
21+
22+
.. note::
23+
24+
All the compressible solvers share the same ``problems/``
25+
directory, which lives in ``compressible/problems/``. For the
26+
other compressible solvers, we simply use a symbolic-link to this
27+
directory in the solver's directory.
1528

16-
* :py:mod:`compressible` is based on a directionally unsplit (the
17-
corner transport upwind algorithm) piecewise linear method for the
18-
Euler equations
29+
``compressible`` solver
30+
-----------------------
1931

20-
* :py:mod:`compressible_rk` uses a method of lines time-integration
21-
approach with piecewise linear spatial reconstruction for the Euler
22-
equations
32+
:py:mod:`compressible` is based on a directionally unsplit (the corner
33+
transport upwind algorithm) piecewise linear method for the Euler
34+
equations, following :cite:`colella:1990`. This is overall second-order
35+
accurate.
2336

24-
* :py:mod:`compressible_fv4` uses a 4th order accurate method with RK4
25-
time integration
37+
The parameters for this solver are:
2638

27-
* :py:mod:`compressible_sdc` uses a 4th order accurate method
28-
with spectral-deferred correction (SDC) for the time integration
39+
.. include:: compressible_defaults.inc
2940

30-
The implementations here have flattening at shocks, artificial
31-
viscosity, a simple gamma-law equation of state, and (in some cases) a
32-
choice of Riemann solvers. Optional constant gravity in the vertical
33-
direction is allowed.
41+
``compressible_rk`` solver
42+
--------------------------
43+
44+
:py:mod:`compressible_rk` uses a method of lines time-integration
45+
approach with piecewise linear spatial reconstruction for the Euler
46+
equations. This is overall second-order accurate.
3447

35-
The main parameters that affect this solver are:
36-
37-
+-----------------------------------------------------------------------------+
38-
|``[driver]`` |
39-
+==================+==========================================================+
40-
|``cfl`` | the advective CFL number (what fraction of a zone can |
41-
| | we cross in a single timestep) |
42-
+------------------+----------------------------------------------------------+
43-
44-
+-------------------------------------------------------------------------------+
45-
|``[compressible]`` |
46-
+====================+==========================================================+
47-
|``use_flattening`` | do we flatten the profiles at shocks? (0=no, 1=yes) |
48-
+--------------------+----------------------------------------------------------+
49-
|``z0`` | |
50-
+--------------------+ |
51-
|``z1`` | the parameters that affect the flattening algorithm |
52-
+--------------------+ |
53-
| ``delta`` | |
54-
+--------------------+----------------------------------------------------------+
55-
|``cvisc`` | the coefficient for the artifical viscosity |
56-
+--------------------+----------------------------------------------------------+
57-
|``limiter`` | what type of limiting to use in reconstructing the |
58-
| | slopes. 0 means use an unlimited second-order centered |
59-
| | difference. 1 is the MC limiter, and 2 is the 4th-order |
60-
| | MC limiter |
61-
+--------------------+----------------------------------------------------------+
62-
|``riemann`` | which Riemann solver do we use? "HLLE" for the HLLE |
63-
| | solver, or "CGF" for the Colella, Glaz, and Ferguson |
64-
| | solver |
65-
+--------------------+----------------------------------------------------------+
66-
|``grav`` | the gravitational acceleration (vertical/y direction) |
67-
+--------------------+----------------------------------------------------------+
68-
|``temporal_method`` | the MOL integration method to use (RK2, TVD2, TVD3, RK4) |
69-
| | (``compressible_rk`` and ``compressible_fv4`` only) |
70-
+--------------------+----------------------------------------------------------+
71-
72-
+-------------------------------------------------------------------------------+
73-
|``[eos]`` |
74-
+====================+==========================================================+
75-
|``gamma`` | the constant adiabatic index for the gas |
76-
+--------------------+----------------------------------------------------------+
48+
The parameters for this solver are:
49+
50+
.. include:: compressible_rk_defaults.inc
51+
52+
``compressible_fv4`` solver
53+
---------------------------
54+
55+
:py:mod:`compressible_fv4` uses a 4th order accurate method with RK4
56+
time integration, following :cite:`mccorquodalecolella`.
57+
58+
The parameter for this solver are:
59+
60+
.. include:: compressible_fv4_defaults.inc
61+
62+
63+
``compressible_sdc`` solver
64+
---------------------------
65+
66+
:py:mod:`compressible_sdc` uses a 4th order accurate method with
67+
spectral-deferred correction (SDC) for the time integration. This
68+
shares much in common with the ``compressible_fv4`` solver, aside from
69+
how the time-integration is handled.
70+
71+
The parameters for this solver are:
72+
73+
.. include:: compressible_sdc_defaults.inc
7774

7875

7976
Example problems
@@ -89,12 +86,6 @@ Example problems
8986
:func:`preevolve() <compressible_fv4.simulation.Simulation.preevolve>` method will convert
9087
these to cell-averages automatically after initialization.
9188

92-
.. note::
93-
94-
All the compressible solvers share the same ``problems/``
95-
directory, which lives in ``compressible/problems/``. For the
96-
other compressible solvers, we simply use a symbolic-link to this
97-
directory in the solver's directory.
9889

9990
Sod
10091
^^^

0 commit comments

Comments
 (0)