Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions .github/workflows/dependencies/documentation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,8 @@ set -eu -o pipefail

sudo apt-get update

# The docs job only builds HTML with Sphinx; doxygen and LaTeX are not used.
sudo apt-get install -y --no-install-recommends\
build-essential \
pandoc \
doxygen \
texlive \
texlive-latex-extra \
texlive-lang-cjk \
tex-gyre \
latexmk
pandoc

4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:

concurrency:
group: ${{ github.head_ref }}-docs
group: ${{ github.ref }}-${{ github.head_ref }}-docs
cancel-in-progress: true

jobs:
Expand All @@ -21,7 +21,7 @@ jobs:
.github/workflows/dependencies/documentation.sh
echo "Installing python packages for docs..."
python3 -m pip install --upgrade pip
python3 -m pip install sphinx sphinx_rtd_theme breathe sphinxcontrib.bibtex docutils
python3 -m pip install sphinx sphinx_rtd_theme sphinxcontrib.bibtex docutils

- name: Install and Build
run: |
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ plt?????
d/
f/
o/
tmp_build_dir/
tmp_install_dir/
chk?????.old*
plt?????.old*
4 changes: 1 addition & 3 deletions Docs/sphinx_documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ help:
.PHONY: help Makefile

clean:
rm -rf build ../Doxygen/xml source/class source/file
rm -f source/classlist.rst source/filelist.rst
rm -rf source/*_files.rst
rm -rf build

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
Expand Down
79 changes: 0 additions & 79 deletions Docs/sphinx_documentation/make_api.py

This file was deleted.

67 changes: 62 additions & 5 deletions Docs/sphinx_documentation/source/AlgorithmOptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,27 @@ Note that Temperature is only non-conservative. For more details, see :ref:`sec:
Advection
---------

IAMR has the option to use a Method of Lines (MOL) or Godunov scheme to compute the advective terms.
IAMR computes the advective terms with an unsplit Godunov scheme (piecewise linear or piecewise
parabolic reconstruction) or with the Bell-Dawson-Shubin (BDS) scheme. The following must be
preceded by "ns."

+-------------------------+-------------------------------------------------------------------------+-------------+--------------+
| | Description | Type | Default |
+=========================+=========================================================================+=============+==============+
| ns.use_godunov | If true, use Godunov, else use MOL. | bool | true |
| advection_scheme | Godunov_PLM, Godunov_PPM or BDS. Godunov_PPM and BDS are not | String | Godunov_PLM |
| | available with embedded boundaries. | | |
+-------------------------+-------------------------------------------------------------------------+-------------+--------------+

Note that the old ``ns.use_godunov`` key and the MOL scheme have been removed; setting either
aborts the run.

For problems without embedded boundaries, there are additional options when using the Godunov method. The following must

For problems without embedded boundaries, there is an additional option for the Godunov method. The following must
be preceded by "godunov."

+-------------------------+-------------------------------------------------------------------------+-------------+--------------+
| | Description | Type | Default |
+=========================+=========================================================================+=============+==============+
| use_ppm | Use the Piecewise Parabolic Method to construct edge states | bool | false |
+-------------------------+-------------------------------------------------------------------------+-------------+--------------+
| use_forces_in_trans | Use external forcing terms in constructing transverse derivatives | bool | false |
+-------------------------+-------------------------------------------------------------------------+-------------+--------------+

Expand All @@ -60,3 +64,56 @@ The following must be preceded by "ns."
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+

Note the default value of ``ns.be_cn_theta = 0.5`` corresponds to the Crank-Nicolson method.


.. _sec:LES:

Large Eddy Simulation
---------------------

IAMR can add a subgrid-scale eddy viscosity to the viscous terms. The following must be
preceded by "ns."

+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| | Description | Type | Default |
+=========================+=======================================================================+=============+==============+
| do_LES | Add a subgrid-scale eddy viscosity to the molecular viscosity | Int | 0 |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| LES_model | Which model to use: Smagorinsky or Sigma. Any other value aborts. | String | Smagorinsky |
| | Sigma is 3D only. | | |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| smago_Cs_cst | Model constant, used only when LES_model = Smagorinsky | Real | 0.18 |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| sigma_Cs_cst | Model constant, used only when LES_model = Sigma | Real | 1.5 |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| getLESVerbose | Print the model and constant in use from the LES routine | Int | 0 |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+

Note that each model reads its own constant, so changing ``ns.smago_Cs_cst`` has no effect
when ``ns.LES_model = Sigma``, and vice versa. The Sigma model is described in
Nicoud et al., *Using singular values to build a subgrid-scale model for large eddy
simulations*, Phys. Fluids 23, 085106 (2011).


.. _sec:EBOptions:

Embedded Boundaries
-------------------

These apply to builds with ``USE_EB=TRUE``; see :ref:`sec:EB-basics` for how the geometry
itself is constructed. The following must be preceded by "ns."

+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| | Description | Type | Default |
+=========================+=======================================================================+=============+==============+
| redistribution_type | How the advective update of a small cut cell is redistributed to its | String | StateRedist |
| | neighbours: StateRedist, FluxRedist or NoRedist. Any other value | | |
| | aborts. | | |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+
| refine_cutcells | Tag every cut cell for refinement, so that the embedded boundary | Int | 1 |
| | never crosses a coarse/fine boundary. Setting 0 allows a partially | | |
| | refined EB, which is still under development and issues a warning. | | |
+-------------------------+-----------------------------------------------------------------------+-------------+--------------+

Note that ``ns.advection_scheme = Godunov_PPM`` and ``BDS`` are not available with embedded
boundaries.
6 changes: 3 additions & 3 deletions Docs/sphinx_documentation/source/Contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Make your own fork
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

First, setup your local git repo. To make your own fork of the main
(`upstream`) repository, press the fork button on the `IAMR Github page <https://github.com/IAMR-Codes/IAMR>`_.
(`upstream`) repository, press the fork button on the `IAMR Github page <https://github.com/AMReX-Fluids/IAMR>`_.

Then, clone your fork on your local computer. If you plan on doing a lot of IAMR development,
we recommend configuring your clone to use ssh access so you won't have to enter your Github
Expand All @@ -77,7 +77,7 @@ password every time, which you can do using these commands:

# Then, navigate into your repo, add a new remote for the main IAMR repo, and fetch it:
cd IAMR
git remote add upstream https://github.com/IAMR-Codes/IAMR
git remote add upstream https://github.com/AMReX-Fluids/IAMR
git remote set-url --push upstream git@github.com:<myGithubUsername>/IAMR.git
git fetch upstream

Expand All @@ -95,7 +95,7 @@ If you instead prefer to use HTTPS authentication, configure your local clone as

# Navigate into your repo, add a new remote for the main IAMR repo, and fetch it
cd IAMR
git remote add upstream https://github.com/IAMR-Codes/IAMR
git remote add upstream https://github.com/AMReX-Fluids/IAMR
git remote set-url --push upstream https://github.com/<myGithubUsername>/IAMR.git
git fetch upstream

Expand Down
2 changes: 1 addition & 1 deletion Docs/sphinx_documentation/source/Introduction_Chapter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Key software and algorithmic features of IAMR include:

* Fluid velocity, density and tracers are defined at cell centroids; pressure is defined at nodes.

* Possible advection algorithms: a Method-Of-Lines (MOL) approach and a Godunov-method algorithm. Both use an intermediate MAC projection for face-centered advection velocities.
* Possible advection algorithms: an unsplit Godunov method (piecewise linear or piecewise parabolic reconstruction) and the Bell-Dawson-Shubin (BDS) scheme. All use an intermediate MAC projection for face-centered advection velocities.

* Incompressibility of the fluid is imposed through the use of an approximate projection at the end of the time step.

Expand Down
Loading
Loading