Skip to content

Commit

Permalink
Minor documentation updates (#120)
Browse files Browse the repository at this point in the history
Co-authored-by: Ann Almgren <[email protected]>
  • Loading branch information
cgilet and asalmgren authored Sep 2, 2023
1 parent c6fed55 commit 8c596a6
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 3 deletions.
2 changes: 2 additions & 0 deletions Docs/source/Projections.rst
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ and multigrid properties if needed.
Details of the linear solver implementations are in the :ref:`amrex:Chap:LinearSolvers`
section of AMReX's documentation.

.. _projections_inputs:

Both Projector classes provide the following parameters, which can be set in an
inputs file or on the command line. For the MacProjector, these must be preceeded by
"mac_proj.", or for the NodalProjector, "nodal_proj."
Expand Down
45 changes: 42 additions & 3 deletions Docs/source/Slopes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,54 @@
Slopes
------

AMReX-Hydro includes implementations of several different slope routines along with options to apply limiters.
AMReX-Hydro's implementation of the piecewise linear method provides several options, and
leverages slopes routines from AMReX.
For cells where this calculation would involve all regular cells (i.e. no cut or covered cells),
there are second-order and fourth-order stencils.
there are second-order and fourth-order stencils along with options to apply limiters.
Note that the piecewise parabolic and BDS methods have their own routines for formulating slopes
(and these are housed within AMReX-Hydro).

For (EB)Godunov, the default is monotonicity-limited fourth-order slopes.
For (EB)MOL, the default is monotonicity-limited second-order slopes.
Default limiting is as described in Colella (1985) :cite:`colglaz`,
where limiting is done on each component of the velocity individually.

For (EB)MOL, the default is monotonicity-limited second-order slopes.
Default is the second order Monotonized Central (MC)
limiter (van Leer, 1977 :cite:`vanleer`), where limiting is applied direction by direction.

.. The scheme is described below for the u-velocity.
The limiter computes the slope at cell `i` by combining the left, central
and right u-variation `du`:
.. code:: shell
du_l = u(i) - u(i-1) = left variation
du_c = 0.5 * ( u(i+1) - u(i-1) ) = central (umlimited) variation
du_r = u(i+1) - u(i) = right variation
Finally, the u-variation at cell `i` is given by :
.. code:: shell
du(i) = sign(du_c) * min(2|du_l|, |du_c|, 2|du_r|)) if du_l*du_r > 0
du(i) = 0 otherwise
NOTE ON BOUNDARY CONDITIONS:

When periodic or Neumann BCs are imposed, schemes can be applied
without any change since the ghost cells outside the domain are filled
by either periodicity or by extrapolation.

For Dirichlet BCs, the BC value stored in the first ghost cell outside the domain
is considered as located directly on the boundary,
despite the fact that it is stored in what is otherwise considered a cell-centered
array. We then utilize one-sided differencing schemes that
use ONLY values from inside or on the domain boundary.



.. _EBslopes:

Expand Down
14 changes: 14 additions & 0 deletions Docs/source/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,20 @@ @article{br-refine
publisher={IEEE}
}

@article{vanleer,
title = {Towards the ultimate conservative difference scheme. IV. A new approach to numerical convection},
journal = {Journal of Computational Physics},
volume = {23},
number = {3},
pages = {276-299},
year = {1977},
issn = {0021-9991},
doi = {https://doi.org/10.1016/0021-9991(77)90095-X},
url = {https://www.sciencedirect.com/science/article/pii/002199917790095X},
author = {Bram {Van Leer}},
abstract = {An approach to numerical convection is presented that exclusively yields upstream-centered schemes. It starts from a meshwise approximation of the initial-value distribution by simple basic functions, e.g., Legendre polynomials. In every mesh the integral of the distribution is conserved. The overall approximation need not be continuous. The approximate distribution is convected explicitly and then remapped meshwise in terms of the basic functions. The weights of the basic functions that approximate the initial values in a mesh may be determined by finite differencing, but the most accurate schemes are obtained by least-squares fitting. In the latter schemes, the weights of the basic functions must be regarded as independent state quantities and must be stored separately. Examples of second-order and third-order schemes are given, and the accuracy of these schemes is discussed. Several monotonicity algorithms, designed to prevent numerical oscillations, are indicated. Numerical examples are given of linear and nonlinear wave propagation, also regarding monotonicity.}
}

@ARTICLE{colglaz,
author = {{Colella}, P. and {Glaz}, H.~M.},
title = "{Efficient solution algorithms for the Riemann problem
Expand Down

0 comments on commit 8c596a6

Please sign in to comment.