diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 8de0b02dc..000000000 --- a/doc/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - - -examples = $(wildcard example-*) -exoutput = $(foreach f,$(examples),$(f)/_output) - -.PHONY: html -#sphinx: $(exoutput) -html: - sphinx-build -b html . ./users - -# to make output needed for plot examples: -$(exoutput): - @echo 'Making ' $@ - $(MAKE) --directory=$(subst /_output,,$@) .rst - - diff --git a/doc/README.txt b/doc/README.txt deleted file mode 100644 index 496342c2d..000000000 --- a/doc/README.txt +++ /dev/null @@ -1 +0,0 @@ -This directory is for documentation. diff --git a/doc/_static/clawicon.ico b/doc/_static/clawicon.ico deleted file mode 100644 index ca032f3af..000000000 Binary files a/doc/_static/clawicon.ico and /dev/null differ diff --git a/doc/_static/clawlogo.jpg b/doc/_static/clawlogo.jpg deleted file mode 100644 index 1056f685f..000000000 Binary files a/doc/_static/clawlogo.jpg and /dev/null differ diff --git a/doc/_static/default.css b/doc/_static/default.css deleted file mode 100644 index f3abf8b9f..000000000 --- a/doc/_static/default.css +++ /dev/null @@ -1,512 +0,0 @@ -/** - * Alternate Sphinx design - * Originally created by Armin Ronacher for Werkzeug, adapted by Georg Brandl. - */ - -body { - font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; - font-size: 14px; - letter-spacing: -0.01em; - line-height: 150%; - text-align: center; - /*background-color: #AFC1C4; */ - /*background-color: #BFD1D4; */ - background-color: #FFFFE8; - color: black; - padding: 0; - border: 1px solid #aaa; - - margin: 0px 80px 0px 80px; - min-width: 740px; -} - -a { - color: #7F0000; - text-decoration: none; -} - -a:hover { - /* color: #2491CF; */ - color: red; -} - -pre { - font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.95em; - letter-spacing: 0.015em; - padding: 0.5em; - border: 1px solid #ccc; - background-color: #FFFFE8; -} - -td.linenos pre { - padding: 0.5em 0; - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - margin-left: 0.5em; -} - -table.highlighttable td { - padding: 0 0.5em 0 0.5em; -} - -cite, code, tt { - font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.95em; - letter-spacing: 0.01em; -} - -hr { - border: 1px solid #abc; - margin: 2em; -} - -tt { - /*background-color: #f2f2f2;*/ - background-color: #FFFFE8; - border-bottom: 1px solid #ddd; - color: #333; -} - -tt.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; - border: 0; -} - -tt.descclassname { - background-color: transparent; - border: 0; -} - -tt.xref { - background-color: transparent; - font-weight: bold; - border: 0; -} - -a tt { - background-color: transparent; - font-weight: bold; - border: 0; - color: #CA7900; -} - -a tt:hover { - color: #2491CF; -} - -dl { - margin-bottom: 15px; -} - -dd p { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.refcount { - color: #060; -} - -dt:target, -.highlight { - background-color: #fbe54e; -} - -dl.class, dl.function { - border-top: 2px solid #888; -} - -dl.method, dl.attribute { - border-top: 1px solid #aaa; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -pre { - line-height: 120%; -} - -pre a { - color: inherit; - text-decoration: underline; -} - -.first { - margin-top: 0 !important; -} - -div.document { - background-color: white; - text-align: left; - background-image: url(contents.png); - background-repeat: repeat-x; -} - -/* -div.documentwrapper { - width: 100%; -} -*/ - -div.clearer { - clear: both; -} - -div.related h3 { - display: none; -} - -div.related ul { - background-image: url(navigation.png); - height: 2em; - list-style: none; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 0; - padding-left: 10px; -} - -div.related ul li { - margin: 0; - padding: 0; - height: 2em; - float: left; -} - -div.related ul li.right { - float: right; - margin-right: 5px; -} - -div.related ul li a { - margin: 0; - padding: 0 5px 0 5px; - line-height: 1.75em; - color: #EE9816; -} - -div.related ul li a:hover { - color: #3CA8E7; -} - -div.body { - margin: 0; - padding: 0.5em 20px 20px 20px; -} - -div.bodywrapper { - margin: 0 240px 0 0; - border-right: 1px solid #ccc; -} - -div.body a { - text-decoration: underline; -} - -div.sphinxsidebar { - margin: 0; - padding: 0.5em 15px 15px 0; - width: 210px; - float: right; - text-align: left; -/* margin-left: -100%; */ -} - -div.sphinxsidebar h4, div.sphinxsidebar h3, div.sphinxsidebar h2 { - margin: 1em 0 0.5em 0; - font-size: 0.9em; - padding: 0.1em 0 0.1em 0.5em; - color: white; - border: 1px solid #86989B; - /* background-color: #AFC1C4; */ - background-color: #c27e70; -} - -div.sphinxsidebar ul { - padding-left: 1.5em; - margin-top: 7px; - list-style: none; - padding: 0; - line-height: 130%; -} - -div.sphinxsidebar ul ul { - list-style: square; - margin-left: 20px; -} - -p { - margin: 0.8em 0 0.5em 0; -} - -p.rubric { - font-weight: bold; -} - -h1 { - margin: 0; - padding: 0.7em 0 0.3em 0; - font-size: 1.5em; - /* color: #11557C; */ - color: black; -} - -h2 { - margin: 1.3em 0 0.2em 0; - font-size: 1.35em; - padding: 0; -} - -h3 { - margin: 1em 0 -0.3em 0; - font-size: 1.2em; -} - -h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { - color: black!important; -} - -h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor { - display: none; - margin: 0 0 0 0.3em; - padding: 0 0.2em 0 0.2em; - color: #aaa!important; -} - -h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, -h5:hover a.anchor, h6:hover a.anchor { - display: inline; -} - -h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover, -h5 a.anchor:hover, h6 a.anchor:hover { - color: #777; - background-color: #eee; -} - -table { - border-collapse: collapse; - margin: 0 -0.5em 0 -0.5em; -} - -table td, table th { - padding: 0.2em 0.5em 0.2em 0.5em; -} - -div.footer { - background-color: #E3EFF1; - color: #86989B; - padding: 3px 8px 3px 0; - clear: both; - font-size: 0.8em; - text-align: right; -} - -div.footer a { - color: #86989B; - text-decoration: underline; -} - -div.pagination { - margin-top: 2em; - padding-top: 0.5em; - border-top: 1px solid black; - text-align: center; -} - -div.sphinxsidebar ul.toc { - margin: 1em 0 1em 0; - padding: 0 0 0 0.5em; - list-style: none; -} - -div.sphinxsidebar ul.toc li { - margin: 0.5em 0 0.5em 0; - font-size: 0.9em; - line-height: 130%; -} - -div.sphinxsidebar ul.toc li p { - margin: 0; - padding: 0; -} - -div.sphinxsidebar ul.toc ul { - margin: 0.2em 0 0.2em 0; - padding: 0 0 0 1.8em; -} - -div.sphinxsidebar ul.toc ul li { - padding: 0; -} - -div.admonition, div.warning { - font-size: 0.9em; - margin: 1em 0 0 0; - border: 1px solid #86989B; - background-color: #f7f7f7; -} - -div.admonition p, div.warning p { - margin: 0.5em 1em 0.5em 1em; - padding: 0; -} - -div.admonition pre, div.warning pre { - margin: 0.4em 1em 0.4em 1em; -} - -div.admonition p.admonition-title, -div.warning p.admonition-title { - margin: 0; - padding: 0.1em 0 0.1em 0.5em; - color: white; - border-bottom: 1px solid #86989B; - font-weight: bold; - background-color: #AFC1C4; -} - -div.warning { - border: 1px solid #940000; -} - -div.warning p.admonition-title { - background-color: #CF0000; - border-bottom-color: #940000; -} - -div.admonition ul, div.admonition ol, -div.warning ul, div.warning ol { - margin: 0.1em 0.5em 0.5em 3em; - padding: 0; -} - -div.versioninfo { - margin: 1em 0 0 0; - border: 1px solid #ccc; - background-color: #DDEAF0; - padding: 8px; - line-height: 1.3em; - font-size: 0.9em; -} - - -a.headerlink { - color: #c60f0f!important; - font-size: 1em; - margin-left: 6px; - padding: 0 4px 0 4px; - text-decoration: none!important; - visibility: hidden; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink { - visibility: visible; -} - -a.headerlink:hover { - background-color: #ccc; - color: white!important; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable dl, table.indextable dd { - margin-top: 0; - margin-bottom: 0; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -img.inheritance { - border: 0px -} - -form.pfform { - margin: 10px 0 20px 0; -} - -table.contentstable { - width: 90%; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li div.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} diff --git a/doc/_templates/index.rst b/doc/_templates/index.rst deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html deleted file mode 100644 index 6dd547f9f..000000000 --- a/doc/_templates/layout.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends "!layout.html" %} - - -{% block rootrellink %} -
  • Main Clawpack -Documentation
  • -
  • Clawpack Webpage
  • -{% endblock %} - - -{% block relbar1 %} - -
    - - - - - -
    -
    -  -
    - Clawpack: AMRClaw Documentation -
    -  -
    - Adaptive Mesh Refinement -
    -  -
    -
    -
    -{{ super() }} -{% endblock %} - -{# put the sidebar before the body #} -{% block sidebar1 %}{{ sidebar() }}{% endblock %} -{% block sidebar2 %}{% endblock %} - diff --git a/doc/_templates/layout.html.1 b/doc/_templates/layout.html.1 deleted file mode 100644 index 123419c81..000000000 --- a/doc/_templates/layout.html.1 +++ /dev/null @@ -1,41 +0,0 @@ -{% extends "!layout.html" %} - - -{% block rootrellink %} -
  • Contents
  • -
  • Search
  • -
  • Clawpack Webpage
  • -{% endblock %} - - -{% block relbar1 %} - -
    - - - - - -
    -  -
    -Clawpack logo -
    -
    -  -
    - Clawpack Documentation -
    -  -
    -
    -
    -{{ super() }} -{% endblock %} - -{# put the sidebar before the body #} -{% block sidebar1 %}{{ sidebar() }}{% endblock %} -{% block sidebar2 %}{% endblock %} - diff --git a/doc/adj-struct.rst b/doc/adj-struct.rst deleted file mode 100644 index 17bb78b77..000000000 --- a/doc/adj-struct.rst +++ /dev/null @@ -1,47 +0,0 @@ - -.. _adj-struct: - -========================= -Adjacency data structures -========================= - - -*node(adjxlo,mptr)* - Type: Pointer to storage - - Target created in: *prepadj* (new routine, modeled after *prepf*) - - Target destroyed in: *putspadj* (new routine, modeled after *putsp*) - - Description: Target is an array of integers along the left boundary, - corresponding to ghost cells. Entries describe the relation of ghost - cells to other grids at the same level, with possible values: - - * *madj*, pointer to grid at the same level the contains this ghost - cell, if such a grid exists. - - * 0, if the ghost cell is interior, but does not overlap a grid of - the same level. - - * -1, if the ghost cell is exterior to the domain. - - -*node(adjxhi,mptr)* - Type: Pointer to storage - - Description: Same function as *node(adjxlo,mptr)*, but for ghost cells - along the right boundary. - - -*node(adjylo,mptr)* - Type: Pointer to integer data - - Description: Same function as *node(adjxlo,mptr)*, but for ghost cells - along the bottom boundary. - - -*node(adjyhi,mptr)* - Type: Pointer to integer data - - Description: Same function as *node(adjxlo,mptr)*, but for ghost cells - along the top boundary. \ No newline at end of file diff --git a/doc/amr2ez.rst b/doc/amr2ez.rst deleted file mode 100644 index 776287311..000000000 --- a/doc/amr2ez.rst +++ /dev/null @@ -1,17 +0,0 @@ - -.. _amr2ez: - -=========== -``amr2ez`` -=========== - -Signature: - ``program amr2ez`` - - -Description: - Main program for AMRClaw. - - -*Note:* - Provide a more thorough description. \ No newline at end of file diff --git a/doc/amr_strategy.rst b/doc/amr_strategy.rst deleted file mode 100644 index 69cb1ee59..000000000 --- a/doc/amr_strategy.rst +++ /dev/null @@ -1,200 +0,0 @@ - -.. _amr_strategy: - -***************************************************************** -AMR refinement strategy -***************************************************************** - -The basic adaptive refinment strategy used in :ref:`amrclaw` is -to refine on logically rectangular patches. A single Level 1 grid covers -the entire domain (usually --- if it is too large it may be split into -multiple Level 1 grids). Some rectangular portions of this grid are covered -by Level 2 grids refined by some refinement factor *R* in each direction -(anisotropic refinement is now allowed too --- see :ref:`setrun_amrclaw`). -Regions of each Level 2 grid may be covered by Level 3 grids, that are -further refined (perhaps with a different refinement ratio). And so on. - -For the hyperbolic solvers in Clawpack the time step is limited by the -Courant number (see Section :ref:`cfl`), and so if the spatial resolution is -refined by a factor of *R* in each direction then the time step will -generally have to be reduced by a factor *R* as well. - -The AMR code thus proceeds as follows: - - * In each time step on the Level 1 grid(s), the values in all grid cells - (including those covered by finer grids) is advanced one time step. - Before this time step is taken, ghost cells around the boundary of the - full computational domain are filled based on the boundary conditions - specified in *$CLAW/amrclaw/Nd/lib/bcNamr.f* (where *N* is the number of - space dimensions). - - * After a step on the Level 1 grid, *R* time steps must be taken on each - Level 2 grid, where *R* denotes the desired refinement ratio in - time from Level 1 to Level 2. - - For each of these time step, ghost cell - values must be filled in around all boundaries of each Level 2 grid. - This procedure is defined below in :ref:`amr_bc`. - - * After taking *R* steps on Level 2 grids, values on the Level 1 grid are - updated to be consistent with the Level 2 grids. Any cell on Level 1 - that is covered by a Level 2 grid has its *q* value replaced by the - average of all the Level 2 grid cells lying within this cell. This gives - a cell average that should be a better approximation to the true cell - average than the original value. - - * The updating just described can lead to a change in the total mass - calculated on the Level 1 grid. In order to restore global conseravtion, - it is necessary to do a conservation fix up. (To be described...) - -This style of AMR is often called *Berger-Colella-Oliger* adaptive -refinement, after the papers of Berger and Oliger [BergerOliger84]_ and -[BergerColella89]_. - -The Fortran code in `$CLAW/amrclaw `_ is based on code -originally written by Marsha Berger for gas dynamics, and merged in Clawpack -in the early days of Clawpack development by MJB and RJL. The algorithms -used in AMRClaw are described more fully in [BergerLeVeque98]_. - - -.. _amr_bc: - -Ghost cells and boundary conditions for AMR -------------------------------------------- - -Consider a Level *k > 1* grid for which we need ghost cells all around the -boundary at the start of each time step on this level. The same procedure -is used at other levels. - - * Some Level k grids will be adjacent to other Level k grids and so any - ghost cell that is equivalent to a Level k cell on some other grid has - values copied from this this grid. - - * Some ghost cells will be in the interior of the full computational domain - but in regions where there is no adjacent Level k grid. There will be - a Level k-1 grid covering that region, however. In this case the ghost - cells are obtained by space-time interpolation from values on the Level - k-1 grid. - - * Some ghost cells will lie outside the full computational domain, where - the boundary of the Level k grid lies along the boundary of the full - domain. For these cells the subroutine *$CLAW/amrclaw/Nd/lib/bcNamr.f* - (where *N* is the number of space dimensions) is used to fill ghost cell - values with the proper user-specified boundary conditions. - -For many standard boundary conditions it is not necessary for the user to do -anything beyond setting the *mthbc* parameters in *setrun.py* (see -:ref:`setrun`). Only if some element of *mthbc* is 0 (indicating -user-specified boundary conditions) is it necessary to modify the library -routine *bcNamr.f* (after copying to your application directory so as not to -damage the library version, and modifying the *Makefile* to point to the new -version). - -There some differences between the *bcNamr.f* routine and the *bcN.f* -routine used for the single-grid classic Clawpack routines (which are found in -*$CLAW/clawpack/Nd/lib/bcN.f*). In particular, it is necessary to check -whether a ghost cell actually lies outside the full computational domain -and only set ghost cell values for those that do. It should be clear how to -do this from the library version of the routine. - -If **periodic boundary -conditions** are specified, this is handled by the AMRClaw software along -with all internal boundaries, rather than in *bcNamr.f*. With AMR it is not -so easy to apply periodic boundary conditions as it is in the case of a -single grid, since it is necessary to determine whether there is a grid at -the same refinement level at the opposite side of the domain to copy ghost -cell values from, and if so which grid and what index corresponds to the -desired location. - -.. _amr_cluster_fill: - -Choosing and initializing finer grids -------------------------------------- - -Every few time steps on the coarsest level it is generally necessary to -revise modify the regions of refinement at all levels, for example to follow -a propagating shock wave. This is done by - - 1. Flagging cells that need refinement according to some criteria. - - 2. Clustering the flagged cells into rectangular patches that will form the - new set of grids at the next higher level. - - 3. Creating the new grids and initializing the values of *q* and also any - *aux* arrays for each new grid. - -Clustering is done using and algorithm developed by Berger and Rigoutsis -[BergerRigoutsis91]_ that finds a nonoverlapping set of rectangles that -cover all flagged points and balances the following conflicting goals: - - * Cover as few points as possible that are not flagged, - to reduce the number of grid cells that must be advanced in each time - step. - - * Create as few new grids as possible, to minimize the overhead associated - with filling ghost cells and doing the conservation fix-up around edges - of grids. - -A parameter *cutoff* can be specified (see :ref:`setrun_amrclaw`) to control -clustering. The algorithm will choose the grids in such a way that at least -this fraction of all the grid points in all the new grids will be in cells -that were flagged as needing refinement. Usually *cutoff = 0.7* is used, so -at least 70% of all grid cells in a computation are in regions where they -are really needed. - -Initializing the new grids at Level k+1 is done as follows: - - * At points where there was already a Level k+1 grid present, this value is - copied over. - - * At points where there was not previously a Level k+1 grid, bilinear - interpolation is performed based on the Level k grids (if the exist at - this point, if not even coarser grids are used -- **True?**). - -.. _amr_flag: - -Flagging cells for refinement ------------------------------ - -The user can control the criteria used for flagging cells for refinement. - -The default procedure is to ... (explain *tolsp* parameter). - -To be continued... describe library routines *allowflag.f* and -*flag2refine.f* and how to modify them. (But first these should be cleaned -up and regions added to AMRClaw versions!) - - -.. _regions: - -Specifying AMR regions ----------------------- - -In addition to specifying a tolerance or other criteria for flagging -individual cells as described above, it is possible to specify regions of -the domain so that all points in the region, over some -time interval also specified, will be refined to at least some level -*minlevel* and at most some level *maxlevel*. - - -**Note:** This is currently available only in :ref:`geoclaw` but should be -carried over to AMRClaw. - -This can be automatically specified via parameters set in *setrun.py* (see -:ref:`setrun_regions`). - -To determine whether a grid cell lies in one of the regions specified, the -center of the grid cell is used. If a mapped grid is being used, the limits -for the regions should be in terms of the computational grid coordinates, -not the physical coordinates. - -If a cell center lies in more than one specified region, then the -cell will definitely be flagged for refinement at level k (meaning it should -be covered by a Level k+1 grid) if *k+1 <= minlevel* for any of the regions, -regardless of whether the general flagging criteria hold or not. -This means the smallest of the various *minlevel* parameters for any region -covering this point will take effect. Conversely it will definitely **not** -be flagged for refinement if *k+1 > maxlevel* for **all** regions that cover -this point. This means the largest of the various *maxlevel* parameters for -any region covering this point will take effect. - diff --git a/doc/basic.rst b/doc/basic.rst deleted file mode 100644 index dc8cebea3..000000000 --- a/doc/basic.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _basic: - -========== -``basic`` -========== - -Signature: - ``subroutine basic(time, lst, end)`` - - -Arguments: - ``integer, intent(in)``: - * ``lst``: Coarsest level for output of tree structure. - * ``lend``: Finest level for output of tree structure. - ``double precision, intent(in)``: - * ``time``: Time of output. - - -Description: - Outputs basic information needed by the other graphics - output routines (:ref:`valout`) at the given ``time``. - Writes the entire level list, from level ``1`` to ``lfine``, - and the tree structure from level ``lst`` to ``lend``. diff --git a/doc/bc2amr.rst b/doc/bc2amr.rst deleted file mode 100644 index ec0378f72..000000000 --- a/doc/bc2amr.rst +++ /dev/null @@ -1,49 +0,0 @@ - -.. _bc2amr: - -============ -``bc2amr`` -============ - -Signature: - ``subroutine bc2amr(val, aux, nrow, ncol, meqn, naux, hx, hy, - level, time, xleft, xright, ybot, ytop, xlower, ylower, xupper, - yupper, xperiodic, yperiodic, spheredom)`` - - -Arguments: - ``integer, intent(in)``: - * ``nrow``: Horizontal dimension of the input patch. - * ``ncol``: Vertical dimension of the input patch. - * ``meqn``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``level``: Level of the input patch. - ``double precision, intent(in)``: - * ``time``: Time at which boundary conditions are being applied. - * ``xleft``: Left bound of the input patch. - * ``xright``: Right bound of the input patch. - * ``ybot``: Bottom bound of the input patch. - * ``ytop``: Top bound of the input patch. - * ``xlower``: Left bound of the physical domain. - * ``xupper``: Right bound of the physical domain. - * ``ylower``: Bottom bound of the physical domain. - * ``yupper``: Top bound of the physical domain. - * ``aux(nrow,ncol,meqn)``: Aux variables on the input patch. - ``logical, intent(in)``: - * ``xperiodic``: Value is ``.true.`` if the physical domain - is periodic in *x*. - * ``yperiodic``: Value is ``.true.`` if the physical domain - is periodic in *y*. - * ``spheredom``: Value is ``.true.`` if the physical domain - is spherically symmetric. - ``double precision, intent(inout)``: - * ``val(nrow,ncol,meqn)``: Solution values on the input patch. - - -Description: - Takes a grid patch with mesh widths ``hx`` and ``hy``, of - dimensions ``nrow`` by ``ncol``, and uses the boundary conditions - to set the solution values on any piece of the patch which extends - outside the physical domain. - - User-specified boundary conditions must be included in this routine. \ No newline at end of file diff --git a/doc/bound.rst b/doc/bound.rst deleted file mode 100644 index 30908958a..000000000 --- a/doc/bound.rst +++ /dev/null @@ -1,30 +0,0 @@ - -.. _bound: - -============ -``bound`` -============ - -Signature: - ``bound(time, nvar, ng, valbig, mitot, mjtot, mptr, aux, naux)`` - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of solution variables. - * ``ng``: Number of ghost cells in each direction (width of boundary region). - * ``mitot``: Horizontal dimension of the grid, including ghost cells. - * ``mjtot``: Vertical dimension of the grid, including ghost cells. - * ``mptr``: Pointer to the descriptor of the input grid. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``time``: Time at which to fill the ghost cells. - * ``aux(mitot,mjtot,naux)``: Values of aux variables on the input grid. - ``double precision, intent(inout)``: - * ``valbig(mitot,mjtot,nvar)``: Solution values on the input grid. - - -Description: - This routine sets the boundary values (ghost cells) for a given grid, - specified by ``mptr``, at level ``level``. It fills the values for - a region ``ng`` cells wide all the way around the border, in 4 - rectangular strips. \ No newline at end of file diff --git a/doc/check.rst b/doc/check.rst deleted file mode 100644 index ebcc82ddf..000000000 --- a/doc/check.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _check: - -=========== -``check`` -=========== - -Signature: - ``subroutine check(nsteps, time, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``nsteps``: Number of steps taken on the coarse grid since - the start. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``time``: Time of the checkpoint. - - -Description: - Creates a checkpoint, from which the simulation may be restarted. - Can only be called at the end of coarse grid cycles. \ No newline at end of file diff --git a/doc/cleanup.rst b/doc/cleanup.rst deleted file mode 100644 index c00bb5609..000000000 --- a/doc/cleanup.rst +++ /dev/null @@ -1,21 +0,0 @@ - -.. _cleanup: - -============ -``cleanup`` -============ - -Signature: - ``subroutine cleanup(nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - - -Description: - Final subroutine called by :ref:`amr2ez`. Reclaims all remaining - storage space from grids, allowing ``amr2ez`` to raise a warning - if memory has not been properly released. diff --git a/doc/conck.rst b/doc/conck.rst deleted file mode 100644 index 552971490..000000000 --- a/doc/conck.rst +++ /dev/null @@ -1,25 +0,0 @@ - -.. _conck: - -========== -``conck`` -========== - -Signature: - ``subroutine conck(level, nvar, time)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level of the conservation check. Most likely, - ``level=1``, and conservation is being checked on the entire - domain. - * ``nvar``: Number of solution variables. Not actually used. - ``double precision, intent(in)``: - * ``time``: Time of the conservation check. - - -Description: - Outputs mass information on level ``level`` to standard output, so - conservation may be inspected. Primarily a debugging tool. Assumes - that grids don't overlap. \ No newline at end of file diff --git a/doc/conf.py b/doc/conf.py deleted file mode 100644 index 5ac42519e..000000000 --- a/doc/conf.py +++ /dev/null @@ -1,218 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Clawpack documentation build configuration file, created by -# sphinx-quickstart on Wed Mar 25 12:07:14 2009. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# The contents of this file are pickled, so don't put values in the namespace -# that aren't pickleable (module imports are okay, they're removed automatically). -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os - -# If your extensions are in another directory, add it here. If the directory -# is relative to the documentation root, use os.path.abspath to make it -# absolute, like shown here. -sys.path.append(os.path.abspath('../..')) -sys.path.append(os.path.abspath('./ext')) - -clawpack_root = os.path.abspath('../..') -print "clawpack_root = ",clawpack_root -sys.path.append(os.path.join(clawpack_root,'amrclaw/doc')) -sys.path.append(os.path.join(clawpack_root,'visclaw/doc')) -sys.path.append(os.path.join(clawpack_root,'geoclaw/doc')) - - -# General configuration -# --------------------- - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', - 'sphinx.ext.intersphinx','plot_directive','only_directives', - 'sphinx.ext.inheritance_diagram'] - -# extensions.append('sphinx.ext.jsmath') -extensions.append('sphinx.ext.pngmath') - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'AMRClaw' -copyright = u'2011, Randall J. LeVeque and others' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '4.6' -# The full version, including alpha/beta/rc tags. -release = '4.6.x' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directory, that shouldn't be searched -# for source files. -exclude_trees = ['users'] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = 'math' - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {"linkcolor": "#000000", "textcolor":"#ff0000"} -html_theme_options = {"rightsidebar": False, "stickysidebar":True} - -# Add any paths that contain custom themes here, relative to this directory. -html_theme_path = ['_static'] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -html_logo = '_static/clawlogo.jpg' - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -html_favicon = '_static/clawicon.ico' - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_use_modindex = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'Clawpackdoc' - - -# Options for LaTeX output -# ------------------------ - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, document class [howto/manual]). -latex_documents = [ - ('index', 'AMRClaw.tex', ur'Clawpack Documentation', - ur'RJL', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_use_modindex = True - - -# Example configuration for intersphinx: refer to the Python standard library. -#intersphinx_mapping = {'http://docs.python.org/dev': None} -intersphinx_mapping = {'kingkong': ('http://kingkong.amath.washington.edu/clawpack/trunk/doc/sphinx/', None)} - - -jsmath_path = 'jsmath/easy/load.js' -# jsmath_path = '_static/jsMath/easy/load.js' -keep_warnings = 'True' diff --git a/doc/cstore.rst b/doc/cstore.rst deleted file mode 100644 index 5788c1947..000000000 --- a/doc/cstore.rst +++ /dev/null @@ -1,45 +0,0 @@ - -.. _cstore: - -============ -``cstore`` -============ - -Signature: - ``subroutine cstore(qc, nrow, ncol, nvar, qc1d, lenbc, naux, auxc, auxc1d)`` - - -Arguments: - ``integer, intent(in)``: - * ``nrow``: Horizontal dimension of the coarse patch. - * ``ncol``: Vertical dimension of the coarse patch. - * ``nvar``: Number of solution variables. - * ``lenbc``: Perimeter of the fine grid, in number of cells. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``qc(nrow,ncol,nvar)``: Solution values on coarse patch. - * ``auxc(nrow,ncol,nvar)``: Aux variable values on coarse patch. - ``double precision, intent(out)``: - * ``qc1d(lenbc)``: Stores coarse grid solution around perimeter - of fine grid. - * ``auxc1d(lenbc)``: Stores coarse grid aux variables around perimeter - of fine grid. - - -Description: - Takes data (``qc`` and ``auxc``) from a coarse patch that perfectly surrounds - a fine grid, and extracts the coarse data around the perimeter of the fine - grid. These are stored in 1-dimensional arrays ``qc1d`` and ``auxc1d``. - - The perimeter of the fine grid is traversed in the following order:: - - . 2 - . __________ - . | | - . 1 | | 3 - . |__________| - . 4 - - save first interior cell of enlarged grid corresponding to - fine grid bordering cell. note that since fine grid is smaller, - the cell is one in. coarse (temporary) grid has no ghost cells diff --git a/doc/ext/only_directives.py b/doc/ext/only_directives.py deleted file mode 100644 index b93eb7ffc..000000000 --- a/doc/ext/only_directives.py +++ /dev/null @@ -1,88 +0,0 @@ -# -# A pair of directives for inserting content that will only appear in -# either html or latex. -# - -from docutils.nodes import Body, Element -from docutils.writers.html4css1 import HTMLTranslator -from sphinx.writers.latex import LaTeXTranslator -#from sphinx.latexwriter import LaTeXTranslator -from docutils.parsers.rst import directives - -class html_only(Body, Element): - pass - -class latex_only(Body, Element): - pass - -def run(content, node_class, state, content_offset): - text = '\n'.join(content) - node = node_class(text) - state.nested_parse(content, content_offset, node) - return [node] - -try: - from docutils.parsers.rst import Directive -except ImportError: - from docutils.parsers.rst.directives import _directives - - def html_only_directive(name, arguments, options, content, lineno, - content_offset, block_text, state, state_machine): - return run(content, html_only, state, content_offset) - - def latex_only_directive(name, arguments, options, content, lineno, - content_offset, block_text, state, state_machine): - return run(content, latex_only, state, content_offset) - - for func in (html_only_directive, latex_only_directive): - func.content = 1 - func.options = {} - func.arguments = None - - _directives['htmlonly'] = html_only_directive - _directives['latexonly'] = latex_only_directive -else: - class OnlyDirective(Directive): - has_content = True - required_arguments = 0 - optional_arguments = 0 - final_argument_whitespace = True - option_spec = {} - - def run(self): - self.assert_has_content() - return run(self.content, self.node_class, - self.state, self.content_offset) - - class HtmlOnlyDirective(OnlyDirective): - node_class = html_only - - class LatexOnlyDirective(OnlyDirective): - node_class = latex_only - - directives.register_directive('htmlonly', HtmlOnlyDirective) - directives.register_directive('latexonly', LatexOnlyDirective) - -def setup(app): - app.add_node(html_only) - app.add_node(latex_only) - - # Add visit/depart methods to HTML-Translator: - def visit_perform(self, node): - pass - def depart_perform(self, node): - pass - def visit_ignore(self, node): - node.children = [] - def depart_ignore(self, node): - node.children = [] - - HTMLTranslator.visit_html_only = visit_perform - HTMLTranslator.depart_html_only = depart_perform - HTMLTranslator.visit_latex_only = visit_ignore - HTMLTranslator.depart_latex_only = depart_ignore - - LaTeXTranslator.visit_html_only = visit_ignore - LaTeXTranslator.depart_html_only = depart_ignore - LaTeXTranslator.visit_latex_only = visit_perform - LaTeXTranslator.depart_latex_only = depart_perform diff --git a/doc/ext/plot_directive.py b/doc/ext/plot_directive.py deleted file mode 100644 index 934176eac..000000000 --- a/doc/ext/plot_directive.py +++ /dev/null @@ -1,471 +0,0 @@ -""" -A special directive for generating a matplotlib plot. - -.. warning:: - - This is a hacked version of plot_directive.py from Matplotlib. - It's very much subject to change! - -Usage ------ - -Can be used like this:: - - .. plot:: examples/example.py - - .. plot:: - - import matplotlib.pyplot as plt - plt.plot([1,2,3], [4,5,6]) - - .. plot:: - - A plotting example: - - >>> import matplotlib.pyplot as plt - >>> plt.plot([1,2,3], [4,5,6]) - -The content is interpreted as doctest formatted if it has a line starting -with ``>>>``. - -The ``plot`` directive supports the options - - format : {'python', 'doctest'} - Specify the format of the input - include-source : bool - Whether to display the source code. Default can be changed in conf.py - -and the ``image`` directive options ``alt``, ``height``, ``width``, -``scale``, ``align``, ``class``. - -Configuration options ---------------------- - -The plot directive has the following configuration options: - - plot_output_dir - Directory (relative to config file) where to store plot output. - Should be inside the static directory. (Default: 'static') - - plot_pre_code - Code that should be executed before each plot. - - plot_rcparams - Dictionary of Matplotlib rc-parameter overrides. - Has 'sane' defaults. - - plot_include_source - Default value for the include-source option - - plot_formats - The set of files to generate. Default: ['png', 'pdf', 'hires.png'], - ie. everything. - -TODO ----- - -* Don't put temp files to _static directory, but do function in the way - the pngmath directive works, and plot figures only during output writing. - -* Refactor Latex output; now it's plain images, but it would be nice - to make them appear side-by-side, or in floats. - -""" - -import sys, os, glob, shutil, imp, warnings, cStringIO, re, textwrap - -def setup(app): - setup.app = app - setup.config = app.config - setup.confdir = app.confdir - - static_path = '_static' - if hasattr(app.config, 'html_static_path') and app.config.html_static_path: - static_path = app.config.html_static_path[0] - - app.add_config_value('plot_output_dir', static_path, True) - app.add_config_value('plot_pre_code', '', True) - app.add_config_value('plot_rcparams', sane_rcparameters, True) - app.add_config_value('plot_include_source', False, True) - app.add_config_value('plot_formats', ['png', 'hires.png', 'pdf'], True) - - app.add_directive('plot', plot_directive, True, (0, 1, False), - **plot_directive_options) - -sane_rcparameters = { - 'font.size': 9, - 'axes.titlesize': 9, - 'axes.labelsize': 9, - 'xtick.labelsize': 9, - 'ytick.labelsize': 9, - 'legend.fontsize': 9, - 'figure.figsize': (4, 3), -} - -#------------------------------------------------------------------------------ -# Run code and capture figures -#------------------------------------------------------------------------------ - -import matplotlib -import matplotlib.cbook as cbook -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import matplotlib.image as image -from matplotlib import _pylab_helpers - -def contains_doctest(text): - r = re.compile(r'^\s*>>>', re.M) - m = r.match(text) - return bool(m) - -def unescape_doctest(text): - """ - Extract code from a piece of text, which contains either Python code - or doctests. - - """ - if not contains_doctest(text): - return text - - code = "" - for line in text.split("\n"): - m = re.match(r'^\s*(>>>|...) (.*)$', line) - if m: - code += m.group(2) + "\n" - elif line.strip(): - code += "# " + line.strip() + "\n" - else: - code += "\n" - return code - -def run_code(code, code_path): - # Change the working directory to the directory of the example, so - # it can get at its data files, if any. - pwd = os.getcwd() - old_sys_path = list(sys.path) - if code_path is not None: - dirname = os.path.abspath(os.path.dirname(code_path)) - os.chdir(dirname) - sys.path.insert(0, dirname) - - # Redirect stdout - stdout = sys.stdout - sys.stdout = cStringIO.StringIO() - - try: - code = unescape_doctest(code) - ns = {} - exec setup.config.plot_pre_code in ns - exec code in ns - finally: - os.chdir(pwd) - sys.path[:] = old_sys_path - sys.stdout = stdout - return ns - - -#------------------------------------------------------------------------------ -# Generating figures -#------------------------------------------------------------------------------ - -def out_of_date(original, derived): - """ - Returns True if derivative is out-of-date wrt original, - both of which are full file paths. - """ - return (not os.path.exists(derived) - or os.stat(derived).st_mtime < os.stat(original).st_mtime) - - -def makefig(code, code_path, output_dir, output_base, config): - """ - run a pyplot script and save the low and high res PNGs and a PDF in _static - - """ - - included_formats = config.plot_formats - if type(included_formats) is str: - included_formats = eval(included_formats) - - formats = [x for x in [('png', 80), ('hires.png', 200), ('pdf', 50)] - if x[0] in config.plot_formats] - - all_exists = True - - # Look for single-figure output files first - for format, dpi in formats: - output_path = os.path.join(output_dir, '%s.%s' % (output_base, format)) - if out_of_date(code_path, output_path): - all_exists = False - break - - if all_exists: - return [output_base] - - # Then look for multi-figure output files - image_names = [] - for i in xrange(1000): - image_names.append('%s_%02d' % (output_base, i)) - for format, dpi in formats: - output_path = os.path.join(output_dir, - '%s.%s' % (image_names[-1], format)) - if out_of_date(code_path, output_path): - all_exists = False - break - if not all_exists: - # assume that if we have one, we have them all - all_exists = (i > 0) - break - - if all_exists: - return image_names - - # We didn't find the files, so build them - print "-- Plotting figures %s" % output_base - - # Clear between runs - plt.close('all') - - # Reset figure parameters - matplotlib.rcdefaults() - matplotlib.rcParams.update(config.plot_rcparams) - - # Run code - run_code(code, code_path) - - # Collect images - image_names = [] - - fig_managers = _pylab_helpers.Gcf.get_all_fig_managers() - for i, figman in enumerate(fig_managers): - if len(fig_managers) == 1: - name = output_base - else: - name = "%s_%02d" % (output_base, i) - image_names.append(name) - for format, dpi in formats: - path = os.path.join(output_dir, '%s.%s' % (name, format)) - figman.canvas.figure.savefig(path, dpi=dpi) - - return image_names - -#------------------------------------------------------------------------------ -# Generating output -#------------------------------------------------------------------------------ - -from docutils import nodes, utils -import jinja2 - -TEMPLATE = """ -{{source_code}} - -.. htmlonly:: - - {% if source_code %} - (`Source code <{{source_link}}>`__) - {% endif %} - - .. admonition:: Output - :class: plot-output - - {% for name in image_names %} - .. figure:: {{link_dir}}/{{name}}.png - {%- for option in options %} - {{option}} - {% endfor %} - - ( - {%- if not source_code %}`Source code <{{source_link}}>`__, {% endif -%} - `PNG <{{link_dir}}/{{name}}.hires.png>`__, - `PDF <{{link_dir}}/{{name}}.pdf>`__) - {% endfor %} - -.. latexonly:: - - {% for name in image_names %} - .. image:: {{link_dir}}/{{name}}.pdf - {% endfor %} - -""" - -def run(arguments, content, options, state_machine, state, lineno): - if arguments and content: - raise RuntimeError("plot:: directive can't have both args and content") - - document = state_machine.document - config = document.settings.env.config - - options.setdefault('include-source', config.plot_include_source) - if options['include-source'] is None: - options['include-source'] = config.plot_include_source - - # determine input - rst_file = document.attributes['source'] - rst_dir = os.path.dirname(rst_file) - - if arguments: - file_name = os.path.join(rst_dir, directives.uri(arguments[0])) - code = open(file_name, 'r').read() - output_base = os.path.basename(file_name) - else: - file_name = rst_file - code = textwrap.dedent("\n".join(map(str, content))) - counter = document.attributes.get('_plot_counter', 0) + 1 - document.attributes['_plot_counter'] = counter - output_base = '%d-%s' % (counter, os.path.basename(file_name)) - - rel_name = relpath(file_name, setup.confdir) - - base, ext = os.path.splitext(output_base) - if ext in ('.py', '.rst', '.txt'): - output_base = base - - # is it in doctest format? - is_doctest = contains_doctest(code) - if options.has_key('format'): - if options['format'] == 'python': - is_doctest = False - else: - is_doctest = True - - # determine output - file_rel_dir = os.path.dirname(rel_name) - while file_rel_dir.startswith(os.path.sep): - file_rel_dir = file_rel_dir[1:] - - output_dir = os.path.join(setup.confdir, setup.config.plot_output_dir, - file_rel_dir) - - if not os.path.exists(output_dir): - cbook.mkdirs(output_dir) - - # copy script - target_name = os.path.join(output_dir, output_base) - f = open(target_name, 'w') - f.write(unescape_doctest(code)) - f.close() - - source_link = relpath(target_name, rst_dir) - - # determine relative reference - link_dir = relpath(output_dir, rst_dir) - - # make figures - try: - image_names = makefig(code, file_name, output_dir, output_base, config) - except RuntimeError, err: - reporter = state.memo.reporter - sm = reporter.system_message(3, "Exception occurred rendering plot", - line=lineno) - return [sm] - - # generate output - if options['include-source']: - if is_doctest: - lines = [''] - else: - lines = ['.. code-block:: python', ''] - lines += [' %s' % row.rstrip() for row in code.split('\n')] - source_code = "\n".join(lines) - else: - source_code = "" - - opts = [':%s: %s' % (key, val) for key, val in options.items() - if key in ('alt', 'height', 'width', 'scale', 'align', 'class')] - - #result = jinja.from_string(TEMPLATE).render( - result = jinja2.Template(TEMPLATE).render( - link_dir=link_dir.replace(os.path.sep, '/'), - source_link=source_link, - options=opts, - image_names=image_names, - source_code=source_code) - - lines = result.split("\n") - if len(lines): - state_machine.insert_input( - lines, state_machine.input_lines.source(0)) - - return [] - - -if hasattr(os.path, 'relpath'): - relpath = os.path.relpath -else: - def relpath(target, base=os.curdir): - """ - Return a relative path to the target from either the current - dir or an optional base dir. Base can be a directory - specified either as absolute or relative to current dir. - """ - - if not os.path.exists(target): - raise OSError, 'Target does not exist: '+target - - if not os.path.isdir(base): - raise OSError, 'Base is not a directory or does not exist: '+base - - base_list = (os.path.abspath(base)).split(os.sep) - target_list = (os.path.abspath(target)).split(os.sep) - - # On the windows platform the target may be on a completely - # different drive from the base. - if os.name in ['nt','dos','os2'] and base_list[0] <> target_list[0]: - raise OSError, 'Target is on a different drive to base. Target: '+target_list[0].upper()+', base: '+base_list[0].upper() - - # Starting from the filepath root, work out how much of the - # filepath is shared by base and target. - for i in range(min(len(base_list), len(target_list))): - if base_list[i] <> target_list[i]: break - else: - # If we broke out of the loop, i is pointing to the first - # differing path elements. If we didn't break out of the - # loop, i is pointing to identical path elements. - # Increment i so that in all cases it points to the first - # differing path elements. - i+=1 - - rel_list = [os.pardir] * (len(base_list)-i) + target_list[i:] - return os.path.join(*rel_list) - -#------------------------------------------------------------------------------ -# plot:: directive registration etc. -#------------------------------------------------------------------------------ - -from docutils.parsers.rst import directives -try: - # docutils 0.4 - from docutils.parsers.rst.directives.images import align -except ImportError: - # docutils 0.5 - from docutils.parsers.rst.directives.images import Image - align = Image.align - -def plot_directive(name, arguments, options, content, lineno, - content_offset, block_text, state, state_machine): - return run(arguments, content, options, state_machine, state, lineno) - -plot_directive.__doc__ = __doc__ - -def _option_boolean(arg): - if not arg or not arg.strip(): - return None - elif arg.strip().lower() in ('no', '0', 'false'): - return False - elif arg.strip().lower() in ('yes', '1', 'true'): - return True - else: - raise ValueError('"%s" unknown boolean' % arg) - -def _option_format(arg): - return directives.choice(arg, ('python', 'lisp')) - -plot_directive_options = {'alt': directives.unchanged, - 'height': directives.length_or_unitless, - 'width': directives.length_or_percentage_or_unitless, - 'scale': directives.nonnegative_int, - 'align': align, - 'class': directives.class_option, - 'include-source': _option_boolean, - 'format': _option_format, - } diff --git a/doc/filrecur.rst b/doc/filrecur.rst deleted file mode 100644 index 2b0f17b39..000000000 --- a/doc/filrecur.rst +++ /dev/null @@ -1,57 +0,0 @@ - -.. _filrecur: - -============ -``filrecur`` -============ - -Signature: - ``recursive subroutine filrecur(level, nvar, valbig, aux, - naux, time, mitot, mjtot, nrowst, ncolst, ilo, ihi, jlo, - jhi)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level of the input region. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``mitot``: Horizontal dimension of the input region. - * ``mjtot``: Vertical dimension of the input region. - * ``nrowst``: Starting ``i``-index of the patch, - in indices relative to ``valbig``. - * ``ncolst``: Starting ``j``-index of the patch, - in indices relative to ``valbig``. - * ``ilo``: Lower horizontal index of the patch to fill, - in global indices. - * ``ihi``: Upper horizontal index of the patch to fill, - in global indices. - * ``jlo``: Lower vertical index of the patch to fill, - in global indices. - * ``jhi``: Upper vertical index of the patch to fill, - in global indices. - ``double precision, intent(in)``: - * ``time``: Time at which values are needed. - ``double precision, intent(inout)``: - * ``valbig(mitot,mjtot,nvar)``: Solution values on the - input region. - * ``aux(mitot,mjtot,naux)``: Aux variable values on the - input region. - - - -Description: - Fills in a rectangular patch of ``valbig`` and ``aux``, which - contain solution and aux values on an input region. Values - are needed at time ``time``, and at level ``level``. - - In indices relative to ``valbig`` and ``aux``, the lower-left - corner of the patch is at ``(nrowst,ncolst)``. In global - indices, its lower-left corner is at ``(ilo,jlo)``, and its - upper-right corner is at ``(ihi,jhi)``. - - First, the patch is filled with values obtainable from the - level ``level`` grids. If any values are left unfilled, - the remaining rectangle of unfilled values is enlarged by 1 - (for later linear interpolation), and remaining values are - recursively obtained from coarser levels. \ No newline at end of file diff --git a/doc/filval.rst b/doc/filval.rst deleted file mode 100644 index c6c69c550..000000000 --- a/doc/filval.rst +++ /dev/null @@ -1,55 +0,0 @@ - -.. _filval: - -============ -``filval`` -============ - -Signature: - ``subroutine filval(val, mitot, mjtot, hx, hy, lev, time, valc, auxc, - mic, mjc, xleft, xright, ybot, ytop, nvar, mptr, ilo, ihi, jlo, jhi, - aux, naux, locflip)`` - - -Arguments: - ``integer, intent(in)``: - * ``mitot``: Horizontal dimension of the fine grid, including ghost cells. - * ``mjtot``: Vertical dimension of the fine grid, including ghost cells. - * ``lev``: Level of the fine grid. - * ``nvar``: Number of solution variables. - * ``mptr``: Pointer to the fine grid being filled. - * ``naux``: Number of aux variables. - * ``ilo``: Lower horizontal index of the fine grid, including ghost cells, in global indices. - * ``ihi``: Upper horizontal index of the fine grid, including ghost cells, in global indices. - * ``jlo``: Lower vertical index of the fine grid, including ghost cells, in global indices. - * ``jhi``: Upper vertical index of the fine grid, including ghost cells, in global indices. - * ``locflip``: Location of perimeter storage for fine grid, for use in the periodic case. - - ``double precision, intent(in)``: - * ``hx``: Horizontal cell width on the fine grid. - * ``hy``: Vertical cell width of the fine grid. - * ``time``: Physical time. - * ``xleft``: Left coordinate of the fine grid, ghost cells excluded. - * ``xright``: Right coordinate of the fine grid, ghost cells excluded. - * ``ybot``: Bottom coordinate of the fine grid, ghost cells excluded. - * ``ytop``: Top coordinate of the fine grid, ghost cells excluded. - - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Solution values on the fine grid, with - space for ghost cells. - * ``aux(nrow,ncol,nvar)``: Values of aux variables on the fine grid, - with space for ghost cells. - - ``double precision, intent(out)``: - * ``valc(mic,mjc,nvar)``: Solution values on the coarse patch. - * ``auxc(mic,mjc,naux)``: Aux variable values on the coarse patch. - - -Description: - Fills in solution values on the interior of a fine grid. This is done - by filling a coarse patch that extends one coarse cell beyond the interior - of the fine grid on each side. Then solution values on the fine grid may - be linearly interpolated. - - Afterwards, solution values on the fine grid are replaced by values copied - from other fine grids, wherever possible. \ No newline at end of file diff --git a/doc/fixcapaq.rst b/doc/fixcapaq.rst deleted file mode 100644 index 2e558bb9b..000000000 --- a/doc/fixcapaq.rst +++ /dev/null @@ -1,38 +0,0 @@ - -.. _fixcapaq: - -============ -``fixcapaq`` -============ - -Signature: - ``subroutine fixcapaq(val, aux, mitot, mjtot, valc, auxc, mic, mjc, - nvar, naux, levc)`` - - -Arguments: - ``integer, intent(in):`` - * ``mitot``: Horizontal dimension of the fine grid. - * ``mjtot``: Vertical dimension of the fine grid. - * ``mic``: Horizontal dimension of the coarse patch. - * ``mjc``: Vertical dimension of the coarse patch. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``levc``: Level of the coarse patch - ``double precision, intent(in)``: - * ``valc(mic,mjc,nvar)``: Solution values on the coarse patch. - * ``auxc(mic,mjc,naux)``: Aux variable values on the coarse patch. - * ``aux(mitot,mjtot,naux)``: Aux variable values on the fine grid. - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Solution values on the fine grid. - - -Description: - After filling a new fine grid solution via linear interpolation, - *kappa\*q* may need to be conserved rather than *q* in the presence - of a capacity function. This routine calculates the discrepancy in - *kappa\*q* and modifies *q* to account for it. - - The inputs are solution and aux data (``val``, ``aux``) from a fine - grid that has just been filled via linear interpolation, as well as - from a coarse patch (``valc``, ``auxc``) that covers the fine grid. \ No newline at end of file diff --git a/doc/flglvl.rst b/doc/flglvl.rst deleted file mode 100644 index 014deeef1..000000000 --- a/doc/flglvl.rst +++ /dev/null @@ -1,30 +0,0 @@ - -.. _flglvl: - -============ -``flglvl`` -============ - -Signature: - ``subroutine flglvl(nvar, naux, lcheck, nxypts, index, lbase, - ldom2, npts, t0)`` - - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of dependent variables. - * ``naux``: Number of aux variables. - * ``lcheck``: Level to be flagged. - * ``lbase``: Finest level remaining fixed during regridding. - ``integer, intent(out)``: - * ``nxypts``: Total number of flagged points. - * ``index``: Starting index in ``alloc`` of the flagged points - (which occupy ``2\*nxypts`` locations). - **Incomplete**: - * ``ldom2`` - * ``t0`` - - -Description: - Controls error estimation and/or flagging of bad points for the - input level ``lcheck``. \ No newline at end of file diff --git a/doc/fluxad.rst b/doc/fluxad.rst deleted file mode 100644 index ff77bf71f..000000000 --- a/doc/fluxad.rst +++ /dev/null @@ -1,31 +0,0 @@ - -.. _fluxad: - -=========== -``fluxad`` -=========== - -Signature: - ``subroutine fluxad(xfluxm, xfluxp, yfluxm, yfluxp, svdflx, - mptr, mitot, mjtot, nvar, lenbc, lratiox, lratioy, ng, dtf, - dx, dy)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: - * ``mitot``: - * ``mjtot``: - * ``nvar``: - - - -Description: - save fine grid fluxes at the border of the grid, for fixing - up the adjacent coarse cells. at each edge of the grid, only - save the plus or minus fluxes, as necessary. For ex., on - left edge of fine grid, it is the minus xfluxes that modify the - coarse cell. - - -Incomplete! \ No newline at end of file diff --git a/doc/global-desc.rst b/doc/global-desc.rst deleted file mode 100644 index 8f3fadad3..000000000 --- a/doc/global-desc.rst +++ /dev/null @@ -1,52 +0,0 @@ - -.. _global-desc: - -===================== -Global descriptors -===================== - --------------- -Parameters --------------- - -All the below are of type ``integer, parameter``, and hard-coded -in ``call.i``. - -``maxlv`` - Description: Maximum number of levels. - - -``maxgr`` - Description: Maximum number of grids, across all levels. - - -``maxcl`` - Description: Maximum number of clusters(?) used in regridding. - - -``max1d`` - Description: Maximum size of a grid along a single dimension. - - -``maxvar`` - Description: Maximum number of independent variables. - - -``maxaux`` - Description: Maximum number of aux variables. - - -``maxout`` - Description: Maximum number of times for output. - - ------------------ -Variables ------------------ - -``ndfree`` - Description: Points to the head of the free list of nodes (grids). - - -``lfine`` - Description: Finest level currently in use. \ No newline at end of file diff --git a/doc/icall.rst b/doc/icall.rst deleted file mode 100644 index 1a2958b3d..000000000 --- a/doc/icall.rst +++ /dev/null @@ -1,40 +0,0 @@ - -.. _icall: - -============ -``icall`` -============ - -Signature: - ``subroutine icall(val, aux, nrow, ncol, nvar, naux, ilo, ihi, jlo, - jhi, level, iputst, jputst)`` - - -Arguments: - ``integer, intent(in):`` - * ``nrow``: Horizontal dimension of the input patch. - * ``ncol``: Vertical dimension of the input patch. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``ilo``: Lower horizontal index of the patch, in global indices. - * ``ihi``: Upper horizontal index of the patch, in global indices. - * ``jlo``: Lower vertical index of the patch, in global indices. - * ``jhi``: Upper vertical index of the patch, in global indices. - * ``level``: Level of the patch - * ``iputst``: Lower horizontal index of the patch region to fill, - in indices local to the patch. - * ``jputst``: Lower vertical index of the patch region to fill, - in indices local to the patch. - ``double precision, intent(inout)``: - * ``val(nrow,ncol,nvar)``: Solution values on the input patch. - * ``aux(nrow,ncol,nvar)``: Values of aux variables on the input patch. - - -Description: - Fills solution and aux data on an input patch with data from - intersecting grids at the same level. - - -**Notes:** - Currently ``sticksout`` is passed as an extra argument when this - routine is called from :ref:`saveqc`. \ No newline at end of file diff --git a/doc/igetsp.rst b/doc/igetsp.rst deleted file mode 100644 index ee31b5e36..000000000 --- a/doc/igetsp.rst +++ /dev/null @@ -1,20 +0,0 @@ - -.. _igetsp: - -============ -``igetsp`` -============ - -Signature: - ``integer function igetsp(nwords)`` - - -Arguments: - ``integer, intent(in):`` - * ``nwords``: Length of continuous space (double - precision) to be allocated. - - -Description: - Allocates contiguous space of length ``nwords`` in the main - storage array ``alloc``. \ No newline at end of file diff --git a/doc/index.rst b/doc/index.rst deleted file mode 100644 index e5f712a72..000000000 --- a/doc/index.rst +++ /dev/null @@ -1,96 +0,0 @@ - - -.. _index: - -*************** -AMRClaw -*************** - -The $CLAW/amrclaw directory contains a version of Clawpack that uses -adaptive mesh refinement (AMR). - -See :ref:`setrun_amrclaw` for a description of the run-time parameters -needed by AMRClaw and how to set them. - -The refinement strategy and criteria are described in :ref:`amr_strategy`. - -Several examples can be found from :ref:`apps`, look for ones with an *amr* -subdirectory. - -The sections below detail many components of the library $CLAW/amrclaw/2d. - - - ------------------------------------ -Global parameters and descriptors ------------------------------------ - -This describes most of the entries in the common block, call.i. - -.. toctree:: - :maxdepth: 2 - - global-desc - level-desc - node-desc - -------------- -Main program -------------- - -.. toctree:: - :maxdepth: 2 - - amr2ez - - ----------- -Functions ----------- - -.. toctree:: - :maxdepth: 2 - - igetsp - nestck - nodget - - - ---------------------- -Selected subroutines ---------------------- - -.. toctree:: - :maxdepth: 2 - - basic - bc2amr - bound - check - cleanup - conck - cstore - icall - intcopy - intfil - filrecur - filval - fixcapaq - flglvl - outmsh - outtre - outval - outvar - prepc - putnod - putsp - reclam - saveqc - setaux - setuse - stepgrid - trimbd - upbnd - update - valout diff --git a/doc/intcopy.rst b/doc/intcopy.rst deleted file mode 100644 index ea81bba58..000000000 --- a/doc/intcopy.rst +++ /dev/null @@ -1,34 +0,0 @@ - -.. _intcopy: - -============ -``intcopy`` -============ - -Signature: - ``subroutine icall(val, mitot, mjtot, nvar, ilo, ihi, jlo, jhi, level, - iputst, jputst)`` - - -Arguments: - ``integer, intent(in):`` - * ``mitot``: Horizontal dimension of the input patch. - * ``mjtot``: Vertical dimension of the input patch. - * ``nvar``: Number of solution variables. - * ``ilo``: Lower horizontal index of the patch, in global indices. - * ``ihi``: Upper horizontal index of the patch, in global indices. - * ``jlo``: Lower vertical index of the patch, in global indices. - * ``jhi``: Upper vertical index of the patch, in global indices. - * ``level``: Level of the patch - * ``iputst``: Lower horizontal index of the patch region to fill, - in indices local to the patch. - * ``jputst``: Lower vertical index of the patch region to fill, - in indices local to the patch. - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Solution values on the input patch. - - -Description: - Fills *only* solution data on an input patch with data from - intersecting grids at the same level. To fill both solution and aux - data, use :ref:`icall`. \ No newline at end of file diff --git a/doc/intfil.rst b/doc/intfil.rst deleted file mode 100644 index d2008088b..000000000 --- a/doc/intfil.rst +++ /dev/null @@ -1,59 +0,0 @@ - -.. _intfil: - -============ -``intfil`` -============ - -Signature: - ``subroutine intfil(val, mi, mj, time, flaguse, nrowst, - ncolst, ilo, ihi, jlo, jhi, level, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mi``: Horizontal dimension of the input region. - * ``mj``: Vertical dimension of the input region. - * ``nrowst``: Starting ``i``-index of the patch, - in indices relative to ``val``. - * ``ncolst``: Starting ``j``-index of the patch, - in indices relative to ``val``. - * ``ilo``: Lower horizontal index of the patch to fill, - in global indices. - * ``ihi``: Upper horizontal index of the patch to fill, - in global indices. - * ``jlo``: Lower vertical index of the patch to fill, - in global indices. - * ``jhi``: Upper vertical index of the patch to fill, - in global indices. - * ``level``: Level of the input region. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``double precision, intent(inout)``: - * ``val``: Array of solution values on the patch being - filled. - ``double precision, intent(out)``: - * ``flaguse(ilo:ihi,jlo:jhi)``: Indicates where the patch - is successfully filled. ``flaguse`` is initialized to - ``0.d0``, and set to ``1.d0`` in every location of the - patch that gets filled. It is also set to ``1.d0`` - in all cells outside the computational domain, as these - will be filled in later using boundary data. - ``double precision, intent(in)``: - * ``time``: Time on the patch being filled. - - -Description: - Attempts to fill a rectangular patch of ``val`` and ``aux``, - which contain solution and aux values on an input region. - Values are needed at time ``time``, and at level ``level``. - - This routine only copies information from grids at level - ``level`` into the patch; no spatial interpolation is done here. - - In indices relative to ``val`` and ``aux``, the lower-left - corner of the patch is at ``(nrowst,ncolst)``. In global - indices, its lower-left corner is at ``(ilo,jlo)``, and its - upper-right corner is at ``(ihi,jhi)``. - - This is a subprocess of ``filrecur``. \ No newline at end of file diff --git a/doc/level-desc.rst b/doc/level-desc.rst deleted file mode 100644 index 328392d14..000000000 --- a/doc/level-desc.rst +++ /dev/null @@ -1,138 +0,0 @@ - -.. _level-desc: - -================= -Level descriptors -================= - - -.. _int-level: - -------------------------- -Integer level descriptors -------------------------- - -Each of the below descriptors is of type ``integer, dimension(maxlv)``. - - -``icheck`` - Modified in: *stst1*, *tick* - - Description: Counts the number of time steps taken on the current - level. This determines when the level should have its error estimated, - and finer levels regridded. - - Question: Does this count steps taken using this level's time step, - or time steps of the coarsest level? - - -``intratx`` - Modified in: *amr2ez* (read from *amr2ez.data*) - - Description: Horizontal refinement ratio, used to obtain the next-finest - level. - - -``intraty`` - Modified in: *amr2ez* (read from *amr2ez.data*) - - Description: Vertical refinement ratio, used to obtain the next-finest - level. - - -``iregend`` - Modified in: *domain*, *grdfit* - - Description: The largest *i*-index used by a grid at this level. - - -``iregst`` - Modified in: *domain*, *grdfit* - - Description: The smallest *i*-index used by a grid at this level. - - -``iregsz`` - Modified in: *domain*, *restrt*, *restrt_hdf* - - Description: The horizontal width of the region (computational domain), - measured in cells at this level. - - -``jregend`` - Modified in: *domain*, *grdfit* - - Description: The largest *j*-index used by a grid at this level. - - -``jregst`` - Modified in: *domain*, *grdfit* - - Description: The smallest *j*-index used by a grid at this level. - - -``jregsz`` - Modified in: *domain*, *restrt*, *restrt_hdf* - - Description: The vertical width of the region (computational domain), - measured in cells at this level. - - -``kratio`` - Modified in: *amr2ez* (set equal to intratx, and never changed) - - Description: Time refinement ratio, which is used to determine the time - step used on the next-finest level. - - -``listsp`` - Modified in: *prepc* - - Description: Records ``maxsp`` for each level, which indicates the space - (``5*maxsp``) alloted for coarse flux storage (target of ``cfluxptr``) to each - grid on that level. - - -``lstart`` - Modified in: *domain*, *stst1*, *setgrd*, *gfixup* - - Description: Pointer to the first grid on the level, where "first" refers - to its location in the ``node`` data structure. - - -``newstl`` - Modified in: *regrid*, *grdfit* - - Description: Same function as ``lstart``, but used to build a new start list. - Eventually copied into ``lstart`` in *setgrd*. ``lstart`` cannot be overwritten - until it has been used to interpolate values on the new grids, hence the new - space is needed. - - - - -.. _real-level: - ----------------------- -Real level descriptors ----------------------- - -Each of the descriptors below is of type ``double precision, dimension(maxlv)``. - - -``hxposs`` - Modified in: *amr2ez*, *stst1*, *restrt*, *restrt_hdf* - - Description: Records *hx*, the horizontal cell width. - - -``hyposs`` - Modified in: *amr2ez*, *stst1*, *restrt*, *restrt_hdf* - - Description: Records *hy*, the vertical cell width. - - -``possk`` - Modified in: *amr2ez*, *stst1*, *restrt*, *restrt_hdf* - - Description: Records *k*, the length of the time step. \ No newline at end of file diff --git a/doc/nestck.rst b/doc/nestck.rst deleted file mode 100644 index 98224a117..000000000 --- a/doc/nestck.rst +++ /dev/null @@ -1,33 +0,0 @@ - -.. _nestck: - -============ -``nestck`` -============ - -Signature: - ``logical function nestck(mnew, lbase, badpts, npts, numptc, - icl, nclust, domflags, isize, jsize, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mnew``: Pointer to the grid being tested for proper containment. - * ``lbase``: The finest level remaining fixed in this regridding. - * ``nvar``: Number of dependent variables. - * ``naux``: Number of aux variables. - **Incomplete**: - * ``badpts`` - * ``npts`` - * ``numptc`` - * ``icl`` - * ``nclust`` - * ``domflags`` - * ``isize`` - * ``jsize`` - -Description: - Checks whether the potential grid ``mnew`` is completely contained - in the (coarser) finest grid which stays fixed, at level ``lbase``. - The projection algorithm will guarantee containment in all finer grids - between them. diff --git a/doc/node-desc.rst b/doc/node-desc.rst deleted file mode 100644 index 56e3b318f..000000000 --- a/doc/node-desc.rst +++ /dev/null @@ -1,224 +0,0 @@ - -.. _node-desc: - -================ -Node descriptors -================ - - -.. _int-node: - ------------------------- -Integer node descriptors ------------------------- - -``node(levelptr,mptr)`` - Type: Pointer to grid - - Modified in: *birect*, *domain*, *grdfit* - - Description: Provides a pointer to the next grid on the same level, so that - each level may be traversed as a linked list. Value is set to null (global - variable, currently =0) if mptr points to the last grid on the level. - -``node(tempptr,mptr)`` - Type: Pointer to storage - - Target created in: *spest* (also used in plotclaw) - - Target destroyed in: *bufnst* - - Description: Provides the location of a temporary storage space where an error - estimate is stored. The allotted size is one word per grid cell per variable, - including ghost cells. - - -``node(errptr,mptr)`` - Type: Pointer to storage - - Target created in: *errest* - - Target destroyed in: *errest* - - Description: Provides the location of a temporary storage space where another - error estimate is stored, this estimate being on the grid *mptr* coarsened by - a factor of 2. The allotted size is one word per coarsened cell (including - ghost cells) per variable (dependent and aux). - - Question: Does the coarsening correspond to the use of Richardson extrapolation? - Yes. - - -``node(nestlevel,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Level containing the grid *mptr*. - - -``node(cfluxptr,mptr)`` - Type: Pointer to storage - - Target created in: *prepc* - - Target destroyed in: *putsp* - - Description: For each grid at level *coarseLevel* above the finest level, - this provides the storage in a layer around each grid at level - *coarseLevel+1*. - - The space allotted is *5\*maxsp*, where *maxsp* is the number of level - *coarseLevel* interfaces surrounding each of the finer grids. This provides - space for 5 fields to describe the interaction between grid *mptr* and the - finer grid. For later reference, *listsp(currentLevel)=maxsp*. - - Note that coarse fluxes themselves are not stored here. They contribute - instead to the space targeted by *ffluxptr* of each finer grid. - - To do: What are the five fields? (See *setuse*: i, j, which side, kid, - location in kid's grid.) - - - -``node(ffluxptr,mptr)`` - Type: Pointer to storage - - Target created in: *prepf* - - Target destroyed in: *putsp* - - Description: For each grid at level *fineLevel* below the coarsest level, - this provides the storage location for fluxes in a layer around the grid, - to be used in coarse-fine fixup. - - The space allotted is *2\*nvar\*lenbc+naux\*lenbc*, where *lenbc* is 2 times - the number of boundary interfaces. One space is for plus or minus fluxes, - and the other is for the coarse solution for wave fixing. - - -``node(store1,mptr)`` - Type: Pointer to storage - - Target created in: *ginit*, *gfixup* - - Target destroyed in: *gfixup* - - Description: Provides location in storage for the first copy of solution - data. The allotted size is (# of interior grid cells)*nvar. - - -``node(store2,mptr)`` - Type: Pointer to storage - - Target created in: *ginit*, *gfixup* - - Target destroyed in: *gfixup* - - Description: Provides location in storage for the second copy of solution - data. The allotted size is (# of interior grid cells)*nvar. - - -``node(ndilo,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the leftmost interior cell in global index - space. - - -``node(ndihi,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the rightmost interior cell in global index - space. - - -``node(ndjlo,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the bottom-most interior cell in global index - space. - - -``node(ndjhi,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the top-most interior cell in global index - space. - - -``node(storeaux,mptr)`` - Type: Pointer to storage - - Target created in: *ginit*, *gfixup* - - Target destroyed in: *gfixup* - - Description: Provides the location in storage designated for aux - variables. The allotted size is (# of interior cells)*naux. - - -``node(nextfree,mptr)`` - Type: Pointer to (free) node - - Description: Points to the next node on the free list. Only - relevant for free nodes, and currently uses the same space as - ``node(tempptr,mptr)``. See also: :ref:`nodget`, :ref:`putnod`. - - -.. _real-node: - ---------------------- -Real node descriptors ---------------------- - -``rnode(cornxlo,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Lower x-coordinate of the grid specified by mptr. - - -``rnode(cornylo,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Lower y-coordinate of the grid specified by mptr. - - -``rnode(cornxhi,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Upper x-coordinate of the grid specified by mptr. - - -``rnode(cornyhi,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Upper y-coordinate of the grid specified by mptr. - - -``rnode(timemult,mptr)`` - Type: double precision - - Modified in: advanc, birect, ginit, grdfit, setgrd - - Description: Current time of the grid specified by mptr. - - Question: What is 'mult' in 'timemult'? - "Multiple" of delta t - But this actually stores the physical time \ No newline at end of file diff --git a/doc/nodget.rst b/doc/nodget.rst deleted file mode 100644 index 3aedb0100..000000000 --- a/doc/nodget.rst +++ /dev/null @@ -1,21 +0,0 @@ - -.. _nodget: - -=========== -``nodget`` -=========== - - -Signature: - ``integer function nodget(dummy)`` - - -Arguments: - ``double precision, intent(in)``: - * ``dummy``: Unused dummy argument, provided simply to allow - the function call. - - -Description: - Returns and removes the head of the free list, stored in ``ndfree``. - Updates ``ndfree`` accordingly. \ No newline at end of file diff --git a/doc/outmsh.rst b/doc/outmsh.rst deleted file mode 100644 index eba6890ef..000000000 --- a/doc/outmsh.rst +++ /dev/null @@ -1,25 +0,0 @@ - -.. _outmsh: - -============ -``outmsh`` -============ - -Signature: - ``subroutine outmsh(mptr,outgrd,nvar,naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: Pointer to the grid descriptor being output. - * ``nvar``: Number of dependent variables. - * ``naux``: Number of aux variables. - ``logical, intent(in)``: - * ``outgrd``: If ``outgrd=.true.``, then solution values - and aux variables on the grid are output as well. - - -Description: - Outputs the grid descriptor, and optionally the values on the - grid, for a single grid referenced by ``mptr``. (See - ``outtre`` for outputting a full subtree.) diff --git a/doc/outtre.rst b/doc/outtre.rst deleted file mode 100644 index fe62b1305..000000000 --- a/doc/outtre.rst +++ /dev/null @@ -1,25 +0,0 @@ - -.. _outtre: - -============ -``outtre`` -============ - -Signature: - ``subroutine outtre(mlev, outgrd, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mlev``: Points to a grid on the coarsest level to - output. I.e., output begins with the level - ``node(nestlevel,mptr)``. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``logical, intent(in)``: - * ``outgrd``: If ``outgrd=.true.``, then solution and - aux variables are output as well as grid descriptors. - - -Description: - Output data from a subtree of the grid hierarchy. diff --git a/doc/outval.rst b/doc/outval.rst deleted file mode 100644 index 5d9cbd5fb..000000000 --- a/doc/outval.rst +++ /dev/null @@ -1,30 +0,0 @@ - -.. _outval: - -============ -``outval`` -============ - -Signature: - ``subroutine outval(val, nvar, mitot, mjtot, mptr, outgrd, - naux,aux)`` - - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of dependent variables. - * ``mitot``: Number of horizontal cells, including ghost cells. - * ``mjtot``: Number of vertical cells, including ghost cells. - * ``mptr``: Pointer to output grid. - * ``naux``: Number of aux variables. - ``logical, intent(in)``: - * ``outgrd``: Only output if this is ``.true.`` - ``double precision, intent(in)``: - * ``val(mitot,mjtot,nvar)``: Solution values to print. - * ``aux(mitot,mjtot,naux)``: Aux variables to print. - - -Description: - Prints the solution and aux variables to output; only prints values - at interior (non-ghost) cells. - diff --git a/doc/outvar.rst b/doc/outvar.rst deleted file mode 100644 index 2c4da7a32..000000000 --- a/doc/outvar.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _outvar: - -=========== -``outvar`` -=========== - -Signature: - ``subroutine outvar(rect, mitot, mjtot, nvar, mptr, ng)`` - - -Arguments: - ``integer, intent(in)``: - * ``mitot``: Horizontal dimension of grid, including ghost cells. - * ``mjtot``: Vertical dimension of grid, including ghost cells. - * ``nvar``: Number of solution variables. - * ``mptr``: Pointer to grid being output. - ``double precision, intent(in)``: - * ``rect(mitot,mjtot,nvar)``: Solution values on the grid being - output. - - -Description: - Outputs the solution on a single grid, for later use by graphics routines. \ No newline at end of file diff --git a/doc/prepadj.rst b/doc/prepadj.rst deleted file mode 100644 index 3c48c1011..000000000 --- a/doc/prepadj.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _prepadj: - -============= -``prepadj`` -============= - -Signature: - ``subroutine prepadj(level)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level on which adjacency structures are - being added. - - -Description: - Creates the adjacency data structures for all grids - on level ``level``, and fills them by calling :ref:`setadj`. - - - - diff --git a/doc/prepc.rst b/doc/prepc.rst deleted file mode 100644 index 00ec9de6f..000000000 --- a/doc/prepc.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _prepc: - -========= -``prepc`` -========= - - -Signature: - ``subroutine prepc(level,nvar)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Coarse level, for which coarse flux - descriptors are being prepared. - * ``nvar``: Number of solution variables. - - -Description: - After fine level ``level+1`` has been regridded, this routine - allocates and fills (via :ref:`setuse`) the coarse flux - descriptors in ``node(cfluxptr,mcoarse)`` for each coarse grid - ``mcoarse`` at level ``level``. \ No newline at end of file diff --git a/doc/putadjsp.rst b/doc/putadjsp.rst deleted file mode 100644 index bd4bf0091..000000000 --- a/doc/putadjsp.rst +++ /dev/null @@ -1,21 +0,0 @@ - -.. _putadjsp: - -============= -``putadjsp`` -============= - - -Signature: - ``subroutine putadjsp(level)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level from which adjacency structures are - being reclaimed. - - -Description: - Reclaim space for adjacency data structures for all grids - on level ``level``. \ No newline at end of file diff --git a/doc/putnod.rst b/doc/putnod.rst deleted file mode 100644 index b854b5ace..000000000 --- a/doc/putnod.rst +++ /dev/null @@ -1,23 +0,0 @@ - -.. _putnod: - -============ -``putnod`` -============ - - -Signature: - ``subroutine putnod(mptr)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: Pointer to the grid being returned to the free list. - - -Description: - Places the node ``mptr`` at the head of the free list. This entire - routine is simply:: - - node(nextfree, mptr) = ndfree - ndfree = mptr \ No newline at end of file diff --git a/doc/putsp.rst b/doc/putsp.rst deleted file mode 100644 index ebc6bed0a..000000000 --- a/doc/putsp.rst +++ /dev/null @@ -1,24 +0,0 @@ - -.. _putsp: - -========== -``putsp`` -========== - -Signature: - ``putsp(lbase,level,nvar,naux)`` - -Arguments: - ``integer, intent(in)``: - * ``lbase``: Base level of regridding; finer levels are being - regridded, but ``lbase`` is not. - * ``level``: Level on which space is being reclaimed. - * ``nvar``: Number of independent variables. - * ``naux``: Number of dependent variables. - - -Description: - Reclaims flux storage space in the main storage - array for grids at level ``level``. If ``level=lbase``, only - the space at ``cfluxptr`` is reclaimed from each grid. If - ``level>lbase``, then the space at ``ffluxptr`` is reclaimed as well. \ No newline at end of file diff --git a/doc/reclam.rst b/doc/reclam.rst deleted file mode 100644 index c1d24d88c..000000000 --- a/doc/reclam.rst +++ /dev/null @@ -1,22 +0,0 @@ - -.. _reclam: - -============ -``reclam`` -============ - -Signature: - ``subroutine reclam(index, nwords)`` - - -Arguments: - ``integer, intent(in):`` - * ``index``: Starting location of space to be freed - in ``alloc``. - * ``nwords``: Length of space to be freed. - - -Description: - Return ``nwords`` of space, beginning at location ``index``, - to the free list. - diff --git a/doc/saveqc.rst b/doc/saveqc.rst deleted file mode 100644 index 02c82876a..000000000 --- a/doc/saveqc.rst +++ /dev/null @@ -1,28 +0,0 @@ - -.. _saveqc: - -============ -``saveqc`` -============ - -Signature: - ``subroutine saveqc(level, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level of the fine grids, around which coarse fluxes - are being saved. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - - -Description: - Loops over each grid on (fine) level ``level``. For each such grid - ``mkid``: - - #. Makes a coarsened, enlarged patch that extends one cell past - ``mkid`` on each side. - #. Fills the coarsened patch via :ref:`icall` or ``preicall``. - #. Calls :ref:`cstore` to store values at the perimeter of the coarsened - patch in the target of ``node(ffluxptr,mkid)``. \ No newline at end of file diff --git a/doc/setadj.rst b/doc/setadj.rst deleted file mode 100644 index ef835c69a..000000000 --- a/doc/setadj.rst +++ /dev/null @@ -1,26 +0,0 @@ - -.. _setadj: - -=========== -``setadj`` -=========== - - -Signature: - ``subroutine setadj(mptr, nx, ny, listxlo, listxhi, listylo, listyhi)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: Pointer to the grid being modified. - * ``nx``: Horizontal dimension of grid ``mptr`` (interior only). - * ``ny``: Vertical dimension of grid ``mptr`` (interior only). - ``integer, intent(out)``: - * ``listxlo(ny)``: Left adjacency list of grid ``mptr``. - * ``listxhi(ny)``: Right adjacency list of grid ``mptr``. - * ``listylo(ny)``: Bottom adjacency list of grid ``mptr``. - * ``listyhi(ny)``: Top adjacency list of grid ``mptr``. - - -Description: - Sets the adjacency lists for the grid ``mptr``. \ No newline at end of file diff --git a/doc/setaux.rst b/doc/setaux.rst deleted file mode 100644 index 1714d68d4..000000000 --- a/doc/setaux.rst +++ /dev/null @@ -1,36 +0,0 @@ - -.. _setaux: - -============ -``setaux`` -============ - -Signature: - ``subroutine setaux(maxmx, maxmy, mbc, mx, my, xlower, ylower, - dx, dy, maux, aux)`` - - -Arguments: - ``integer, intent(in):`` - * ``maxmx``: Maximum number of (interior) horizontal cells. - * ``maxmy``: Maximum number of (interior) vertical cells. - * ``mbc``: Number of ghost cells in each direction. - * ``mx``: Actual number of horizontal cells. - * ``my``: Actual number of vertical cells. - * ``maux``: Number of aux variables. - ``double precision, intent(in):`` - * ``xlower``: Left bound of the input region. - * ``ylower``: Bottom bound of the input region. - * ``dx``: Horizontal grid spacing. - * ``dy``: Vertical grid spacing. - ``double precision, intent(out):`` - * ``aux(1-mbc:maxmx+mbc,1-mbc:maxmy+mbc, maux)``: Array - of aux values, to be set by this routine. - - -Description: - User-supplied routine that initializes values of auxiliary - variables. - -**Question**: - Why is this called at every time step? \ No newline at end of file diff --git a/doc/setrun_amrclaw.rst b/doc/setrun_amrclaw.rst deleted file mode 100644 index 62cb8801d..000000000 --- a/doc/setrun_amrclaw.rst +++ /dev/null @@ -1,188 +0,0 @@ - - -.. _setrun_amrclaw: - -***************************************************************** -Specifying AMRClaw parameters in `setrun.py` -***************************************************************** - -Since AMRClaw is an extension of Clawpack, all of the parameters that -are required for Clawpack are also needed by AMRClaw. See -:ref:`setrun` for a discussion of these and a -description of `setrun.py` input scripts more generally. - -In addition, a number of other parameters should be set in the `setrun.py` -file in any AMRClaw application. - -It is best to look at a specific example while reading this section, for -example :ref:`setrun_amrclaw_sample`. - -The function `setrun` in this module is essentially the same as for Clawpack, -except that it expects to be called with *claw_pkg = 'amrclaw'*. This call -should be performed properly by the Makefile if you have *CLAW_PKG = -amrclaw* set properly there. - -The new parameter in this module start at -:ref:`setrun_amrclaw_sample_parameters` in the sample file. - -A brief summary of these: - -.. attribute:: mxnest : integer - - **mxnest** is the maximum number of refinement levels to use. - *mxnest=1* corresponds to a single grid run and should give essentially the - same results as the classic Clawpack would give (not identical probably - because different routines are used with minor variations in - implementation). Checking that this works is a good first step - in converting a code to \amrclaw. - - *mxnest > 1* then more then one level is used. - - *mxnest < 0* means *abs(mxnest)* levels are used. The negative sign - indicates that anisotropic refinement may be used, which affects the next - parameters. - - This will be cleaned up in Clawpack 5.0. - -.. attribute:: inratx : list of integers - - *inratx* is a list of refinement ratios in the x direction. - *inratx[k] = R* means that in refining from level k+1 to k+2 the x - direction will be refined by a factor R. (Here Python indexing starting - at 0 is used, so *inratx[0]* is the ratio from Level 1 to Level 2.) - - If *mxnst > 0* then *inratx* also determines the refinement ratio in y - and t (and in z for 3d problems). - -.. attribute:: inraty, inratz, inratt : lists of integers - - *inraty*, *inratz*, *inratt* are only used if *mxnest < 0* and are lists - of refinement ratios in the respective directions. - -.. attribute:: auxtype : list of strings - - If *maux > 0* then for each component of *aux* there should be a - corresponding element of *auxtype* from the list below: - - 'xleft' - a value associated with the left edge of a cell in the x-direction - - 'yleft' - a value associated with the left edge of a cell in the y-direction - - 'zleft' - a value associated with the left edge of a cell in the z-direction - - 'center' - a value associated with a cell center - - 'capacity' - a cell-centered capacity function - - - The *auxtype* array is required for adaptive refinement because - auxiliary arrays must be handled slightly differently at refinement - boundaries depending on how these values are used. - - A cell-centered auxiliary value such as the density or impedance in a - heterogeneous acoustics problem would have type *center*. - On the other hand, in a variable-coefficient advection problem we may - want to store the normal velocity at each edge of the cell. In two - dimensions we might use one component of *aux* to store a left-edge - velocity in the x-direction and another to store the left-edge (i.e. - bottom) velocity in the y-direction. - - At most one component may have type *'capacity'*, and the value of - *mcapa* described in :ref:`setrun` should be set in a consistent - manner (modulo the fact that Fortran indexing starts at 1 and Python at - 0, so if *mcapa = k* then *auxtype[k-1] = 'capacity'* should be set). - -.. attribute:: checkpt_iousr : integer - - A A checkpoint file is dumped every *checkpt_iousr* time - steps on the coarse grid. These are binary files with names of the form - *fort.chkXXXX* where *XXXX* is the step number. - - **Note:** these files are typically very large! - - The solution and grid structure is printed out in a form that can be used - to later restart the calculation from this point. This is useful when - doing long runs in case the computer goes down or the algorithm fails at some - point in the calculation. It is also useful if you want to go to some - large time and then start doing frequent outputs in order to examine the - time-evolution of the solution more carefully. - - In addition to creating a checkpoint file every *checkpt_iousr* time steps, a - final checkpoint file is created at the end of the computation. This can be - used to restart the calculation from the final time if you wish to evolve it - further. Setting *checkpt_iousr* to a sufficiently - large integer will cause a checkpoint - file to be written only at the end of the computation. - - If *checkpt_iousr = 0* then no checkpoint files are generated, not even at - the end. - - If *checkpt_iousr < 0* then the attribute *tchk* should also be set, to a - list of *abs(checkpt_iousr)* times when checkpoint files are desired. - - This will be cleaned up in Clawpack 5.0. - -.. attribute:: restart : boolean - - If *restart = True* then a restart is performed. - Information read in from the file *restart.data* is used to resume a - previous calculation. An appropriate checkpoint file *fort.chkXXXX* - should be renamed *restart.data* in order to use this option. - (And generally moved from the *_output* directory to the directory from - which the code is being run.) - - When a restart is performed, other parameters in this *amr2ez.data* file - should be consistent with values used in the previous calculation, with - some exceptions: - - * The final time *tfinal* can be increased, - * Others? - - Note that when restarting, the output files will continue to be numbered - consecutively from the previous run. - - -.. attribute:: tol: float - - Error tolerance used in Richardson error estimation. Cells are - flagged for refinement if the error estimate is greater than *tol*. - Richardson estimation requires taking two time steps on the current grid - and comparing the result with what's obtained by taking one step on a - coarsened grid. - - If *tol < 0*, Richardson estimation is not used. - -.. attribute:: tolsp: float - - Error tolerance used in a simpler approach of estimating the spatial - gradient of the solution and flagging points where this estimate is - larger than *tolsp*. See :ref:`amr_strategy` for more information. - -.. attribute:: kcheck : int - - How often to regrid: error estimation and regridding is performed every - *kcheck* time steps on each level. - -.. attribute:: ibuff : int - - Size of the buffer zone around flagged cells. - Certain cells are flagged for refinement and then clustered (see - :ref:`amr_strategy`) into finer grids. In addition to the cells flagged by the - error estimation, all cells within *ibuff* cells of these are also - flagged. This insures that structures in the solution that require - refinement will remain in the refined region for at least *ibuff* time - steps, since the Courant number must be no greater than 1. The value of - *ibuff* should generally be consistent with the value of *kcheck*, - with *ibuff >= kcheck* if the Courant number is close to 1. - -.. attribute:: cutoff : float - - Parameter used in the clustering algorithm (see - :ref:`amr_strategy`). Typically 0.7 is a good value. - - diff --git a/doc/setrun_amrclaw_sample.rst b/doc/setrun_amrclaw_sample.rst deleted file mode 100644 index 017d6034d..000000000 --- a/doc/setrun_amrclaw_sample.rst +++ /dev/null @@ -1,268 +0,0 @@ - - -.. _setrun_amrclaw_sample: - -***************************************************************** -Sample AMRClaw `setrun.py` module -***************************************************************** - -:: - - """ - Module to set up run time parameters for Clawpack. - - The values set in the function setrun are then written out to data files - that will be read in by the Fortran code. - - """ - - import os - from pyclaw import data - - - #------------------------------ - def setrun(claw_pkg='amrclaw'): - #------------------------------ - - """ - Define the parameters used for running Clawpack. - - INPUT: - claw_pkg expected to be "amrclaw" for this setrun. - - OUTPUT: - rundata - object of class ClawRunData - - """ - - assert claw_pkg.lower() == 'amrclaw', "Expected claw_pkg = 'amrclaw'" - - ndim = 2 - rundata = data.ClawRunData(claw_pkg, ndim) - - #------------------------------------------------------------------ - # Problem-specific parameters to be written to setprob.data: - #------------------------------------------------------------------ - - probdata = rundata.new_UserData(name='probdata',fname='setprob.data') - probdata.add_param('u', 0.5, 'ubar advection velocity') - probdata.add_param('v', 1.0, 'vbar advection velocity') - - #------------------------------------------------------------------ - # Standard Clawpack parameters to be written to claw.data: - # (or to amr2ez.data for AMR) - #------------------------------------------------------------------ - - clawdata = rundata.clawdata # initialized when rundata instantiated - - - # Set single grid parameters first. - # See below for AMR parameters. - - - # --------------- - # Spatial domain: - # --------------- - - # Number of space dimensions: - clawdata.ndim = ndim - - # Lower and upper edge of computational domain: - clawdata.xlower = 0.0 - clawdata.xupper = 1.0 - - clawdata.ylower = 0.0 - clawdata.yupper = 1.0 - - - # Number of grid cells: - clawdata.mx = 50 - - clawdata.my = 50 - - - # --------------- - # Size of system: - # --------------- - - # Number of equations in the system: - clawdata.meqn = 1 - - # Number of auxiliary variables in the aux array (initialized in setaux) - clawdata.maux = 0 - - # Index of aux array corresponding to capacity function, if there is one: - clawdata.mcapa = 0 - - - - # ------------- - # Initial time: - # ------------- - - clawdata.t0 = 0.0 - - - # ------------- - # Output times: - #-------------- - - # Specify at what times the results should be written to fort.q files. - # Note that the time integration stops after the final output time. - # The solution at initial time t0 is always written in addition. - - clawdata.outstyle = 1 - - if clawdata.outstyle==1: - # Output nout frames at equally spaced times up to tfinal: - clawdata.nout = 10 - clawdata.tfinal = 2.0 - - elif clawdata.outstyle == 2: - # Specify a list of output times. - clawdata.tout = [0.5, 1.0] # used if outstyle == 2 - clawdata.nout = len(clawdata.tout) - - elif clawdata.outstyle == 3: - # Output every iout timesteps with a total of ntot time steps: - iout = 1 - ntot = 5 - clawdata.iout = [iout, ntot] - - - - # --------------------------------------------------- - # Verbosity of messages to screen during integration: - # --------------------------------------------------- - - # The current t, dt, and cfl will be printed every time step - # at AMR levels <= verbosity. Set verbosity = 0 for no printing. - # (E.g. verbosity == 2 means print only on levels 1 and 2.) - clawdata.verbosity = 3 - - - - # -------------- - # Time stepping: - # -------------- - - # if dt_variable==1: variable time steps used based on cfl_desired, - # if dt_variable==0: fixed time steps dt = dt_initial will always be used. - clawdata.dt_variable = 1 - - # Initial time step for variable dt. - # If dt_variable==0 then dt=dt_initial for all steps: - clawdata.dt_initial = 0.016 - - # Max time step to be allowed if variable dt used: - clawdata.dt_max = 1e+99 - - # Desired Courant number if variable dt used, and max to allow without - # retaking step with a smaller dt: - clawdata.cfl_desired = 0.9 - clawdata.cfl_max = 1.0 - - # Maximum number of time steps to allow between output times: - clawdata.max_steps = 500 - - - - - # ------------------ - # Method to be used: - # ------------------ - - # Order of accuracy: 1 => Godunov, 2 => Lax-Wendroff plus limiters - clawdata.order = 2 - - # Transverse order for 2d or 3d (not used in 1d): - clawdata.order_trans = 2 - - # Number of waves in the Riemann solution: - clawdata.mwaves = 1 - - # List of limiters to use for each wave family: - # Required: len(mthlim) == mwaves - clawdata.mthlim = [3] - - # Source terms splitting: - # src_split == 0 => no source term (src routine never called) - # src_split == 1 => Godunov (1st order) splitting used, - # src_split == 2 => Strang (2nd order) splitting used, not recommended. - clawdata.src_split = 0 - - - # -------------------- - # Boundary conditions: - # -------------------- - - # Number of ghost cells (usually 2) - clawdata.mbc = 2 - - # Choice of BCs at xlower and xupper: - # 0 => user specified (must modify bcN.f to use this option) - # 1 => extrapolation (non-reflecting outflow) - # 2 => periodic (must specify this at both boundaries) - # 3 => solid wall for systems where q(2) is normal velocity - - clawdata.mthbc_xlower = 2 - clawdata.mthbc_xupper = 2 - - clawdata.mthbc_ylower = 2 - clawdata.mthbc_yupper = 2 - - -.. _setrun_amrclaw_sample_parameters: - -AMR parameters section ----------------------- - -:: - - """ - # --------------- - # AMR parameters: - # --------------- - """ - - - # max number of refinement levels: - mxnest = 3 - - clawdata.mxnest = -mxnest # negative ==> anisotropic refinement in x,y,t - - # List of refinement ratios at each level (length at least mxnest+1) - clawdata.inratx = [2,2,2] - clawdata.inraty = [2,2,2] - clawdata.inratt = [2,2,2] - - - # Specify type of each aux variable in clawdata.auxtype. - # This must be a list of length maux, each element of which is one of: - # 'center', 'capacity', 'xleft', or 'yleft' (see documentation). - - clawdata.auxtype = [] - - - clawdata.tol = -1.0 # negative ==> don't use Richardson estimator - clawdata.tolsp = 0.05 # used in default flag2refine subroutine - clawdata.kcheck = 2 # how often to regrid (every kcheck steps) - clawdata.ibuff = 3 # width of buffer zone around flagged points - - # More AMR parameters can be set -- see the defaults in pyclaw/data.py - - return rundata - # end of function setrun - # ---------------------- - - - if __name__ == '__main__': - # Set up run-time parameters and write all data files. - import sys - if len(sys.argv) == 2: - rundata = setrun(sys.argv[1]) - else: - rundata = setrun() - - rundata.write() - diff --git a/doc/setuse.rst b/doc/setuse.rst deleted file mode 100644 index 5f59b5e98..000000000 --- a/doc/setuse.rst +++ /dev/null @@ -1,59 +0,0 @@ - -.. _setuse: - -========== -``setuse`` -========== - - -Signature: - ``subroutine setuse(listbc, maxsp, ispot, mkid, ilo, ihi, - jlo, jhi, iclo, ichi, jclo, jchi, kflag)`` - - -Arguments: - ``integer, intent(in)``: - * ``maxsp``: - * ``mkid``: - * ``ilo``: - * ``ihi``: - * ``jlo``: - * ``jhi``: - * ``iclo``: - * ``ichi``: - * ``jclo``: - * ``jchi``: - * ``kflag``: - - ``integer, intent(inout)``: - * ``listbc(5,maxsp)``: - * ``ispot``: - - - -Description: - set up boundary list for coarse grid, to be used by fluxsv. - loop around boundary of fine grids to do this. each entry has - i, j, side #, fine grid #, loc in fine grid list for fluxes. - for example, side 1 of fine grid fixes side 3 of coarse grid, - so coarse grid list will store the # 3. - wrt coarse grid, the sides are:: - - . 2 - . 1 3 that is, right edge of a coarse cell = 3 - . 4 top edge of a coarse cell = 2 - - lkid is the index into the fine grid's saved fluxes. - the fine grid will save all its fluxes all around its - perimeter. lkid tells where the coarse grid should - taking them from. (no ghost cells in this index, but - it is 1-based for indexing array, not - based for - integer index of grid location). - - changed 11/11/08: spheredom for periodically mapped spherical - grids. could affect top and bottom if fine grid touches - edge of domain in y direction. if calling with spheredom - (and not yperdom) then grid is NOT periodically mapped. - need kflag to indicate spherically mapped now - otherwise - cant tell the difference, dont skip appropropriate loops - \ No newline at end of file diff --git a/doc/stepgrid.rst b/doc/stepgrid.rst deleted file mode 100644 index 1e770d116..000000000 --- a/doc/stepgrid.rst +++ /dev/null @@ -1,42 +0,0 @@ - -.. _stepgrid: - -============= -``stepgrid`` -============= - -Signature: - ``subroutine stepgrid(q, fm, fp, gm, gp, mitot, mjtot, mbc, dt, - dtnew, dx, dy, nvar, xlow, ylow, time, mptr, maux, aux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mbc``: Number of ghost cells. - * ``mitot``: Horizontal dimension of grid ``mptr``, including - ghost cells. - * ``mjtot``: Vertical dimension of grid ``mptr``, including - ghost cells. - * ``nvar``: Number of solution variables. - * ``mptr``: Pointer to grid being stepped. - * ``maux``: Number of aux variables. - ``double precision, intent(in)``: - * ``dt``: Incoming time step. - * ``dx``: Horizontal cell width of grid ``mptr``. - * ``dy``: Vertical cell width of grid ``mptr``. - * ``xlow``: Lower *x*-index of grid, including ghost cells. - * ``ylow``: Lower *y*-index of grid, including ghost cells. - ``double precision, intent(inout)``: - * ``q(mitot,mjtot,nvar)``: Solution values on the grid, to be - overwritten. - * ``aux(mitot,mjtot,maux)``: Aux variable values on the grid. - ``double precision, intent(out)``: - * ``fm(mitot,mjtot,nvar)``: Fluxes left of cell edges. - * ``fp(mitot,mjtot,nvar)``: Fluxes right of cell edges. - * ``gm(mitot,mjtot,nvar)``: Fluxes below cell edges. - * ``gp(mitot,mjtot,nvar)``: Fluxes above cell edges - * ``dtnew``: Suggested new time step for this grid's solution. - - -Description: - Takes a time step on the grid ``mptr``. \ No newline at end of file diff --git a/doc/trimbd.rst b/doc/trimbd.rst deleted file mode 100644 index 58b8bdd90..000000000 --- a/doc/trimbd.rst +++ /dev/null @@ -1,37 +0,0 @@ - -.. _trimbd: - -============ -``trimbd`` -============ - -Signature: - ``subroutine trimbd(used, nrow, ncol, set, il, ir, jb, jt)`` - - -Arguments: - ``integer, intent(in)``: - * ``nrow``: Horizontal dimension of ``used``. - * ``ncol``: Vertical dimension of ``used``. - ``double precision, intent(in)``: - * ``used(nrow,ncol)``: Array of flags indicating whether - solution values have been filled in a patch using ``filrecur``. - Value is ``0.d0`` at unset points, and ``1.d0`` at set points. - ``integer, intent(out)``: - * ``il``: If ``used`` is not completely set, indicates the - lower horizontal index of the smallest rectangle containing - the unset points. - * ``ir``: Like ``il``, but indicates the upper horizontal index. - * ``jb``: Like ``il``, but indicates the lower vertical index. - * ``jt``: Like ``il``, but indicates the upper vertical index. - ``logical, intent(out)``: - * ``set``: Returns ``.true.`` if all elements of the ``used`` - array are set. Returns ``.false.`` otherwise. - - -Description: - If the ``used`` array is completely set (``=1.d0``) then this - routine returns ``set=.true.``. Otherwise it returns - ``set=.false.``, and specifies the smallest rectangle containing - all unset points, which has lower-left corner ``(il,jb)`` and - upper-right corner ``(ir,jt)``. \ No newline at end of file diff --git a/doc/upbnd.rst b/doc/upbnd.rst deleted file mode 100644 index 9ce0c1521..000000000 --- a/doc/upbnd.rst +++ /dev/null @@ -1,34 +0,0 @@ - -.. _upbnd: - -========== -``upbnd`` -========== - -Signature: - ``subroutine upbnd(listbc, val, nvar, mitot, mjtot, maxsp, - iused, mptr)`` - - -Arguments: - ``integer, intent(in)``: - * ``listbc(5,maxsp)``: Coarse boundary lists for the input grid. - * ``nvar``: Number of solution variables. - * ``mitot``: Horizontal dimension of the input grid, including - ghost cells. - * ``mjtot``: Vertical dimension of the input grid, including - ghost cells. - * ``maxsp``: Space needed for each field in the coarse boundary - lists. - * ``mptr``: Pointer to the coarse grid being corrected. - ``integer, intent(out)``: - * ``iused(mitot,mjtot)``: Used to indicate where flux updates - have been performed. - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Array of solution values on grid - ``mptr``. - - -Description: - Corrects the coarse grid ``mptr`` with the flux differences stored - with each of the fine grids. \ No newline at end of file diff --git a/doc/update.rst b/doc/update.rst deleted file mode 100644 index 8cac226bb..000000000 --- a/doc/update.rst +++ /dev/null @@ -1,20 +0,0 @@ - -.. _update: - -============ -``update`` -============ - -Signature: - ``subroutine update(level, nvar)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level being updated. - * ``nvar``: Number of solution variables. - - -Description: - Updates coarse grids on level ``level`` based on fine grids - at level ``level+1``. \ No newline at end of file diff --git a/doc/users/.buildinfo b/doc/users/.buildinfo deleted file mode 100644 index 7055d4e8b..000000000 --- a/doc/users/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 13e1c45a6e1e3af72011fe50515cf8a6 -tags: fbb0d17656682115ca4d033fb2f83ba1 diff --git a/doc/users/.doctrees/_templates/index.doctree b/doc/users/.doctrees/_templates/index.doctree deleted file mode 100644 index 43bff942d..000000000 Binary files a/doc/users/.doctrees/_templates/index.doctree and /dev/null differ diff --git a/doc/users/.doctrees/adj-struct.doctree b/doc/users/.doctrees/adj-struct.doctree deleted file mode 100644 index 1e34cbc9c..000000000 Binary files a/doc/users/.doctrees/adj-struct.doctree and /dev/null differ diff --git a/doc/users/.doctrees/amr2ez.doctree b/doc/users/.doctrees/amr2ez.doctree deleted file mode 100644 index d84e875e4..000000000 Binary files a/doc/users/.doctrees/amr2ez.doctree and /dev/null differ diff --git a/doc/users/.doctrees/amr_strategy.doctree b/doc/users/.doctrees/amr_strategy.doctree deleted file mode 100644 index 1528ebba2..000000000 Binary files a/doc/users/.doctrees/amr_strategy.doctree and /dev/null differ diff --git a/doc/users/.doctrees/basic.doctree b/doc/users/.doctrees/basic.doctree deleted file mode 100644 index 65fd6a59a..000000000 Binary files a/doc/users/.doctrees/basic.doctree and /dev/null differ diff --git a/doc/users/.doctrees/bc2amr.doctree b/doc/users/.doctrees/bc2amr.doctree deleted file mode 100644 index 04ff01cc3..000000000 Binary files a/doc/users/.doctrees/bc2amr.doctree and /dev/null differ diff --git a/doc/users/.doctrees/bound.doctree b/doc/users/.doctrees/bound.doctree deleted file mode 100644 index 3a21ccb31..000000000 Binary files a/doc/users/.doctrees/bound.doctree and /dev/null differ diff --git a/doc/users/.doctrees/check.doctree b/doc/users/.doctrees/check.doctree deleted file mode 100644 index 38453149f..000000000 Binary files a/doc/users/.doctrees/check.doctree and /dev/null differ diff --git a/doc/users/.doctrees/cleanup.doctree b/doc/users/.doctrees/cleanup.doctree deleted file mode 100644 index 63f8e34b6..000000000 Binary files a/doc/users/.doctrees/cleanup.doctree and /dev/null differ diff --git a/doc/users/.doctrees/conck.doctree b/doc/users/.doctrees/conck.doctree deleted file mode 100644 index 9371996ea..000000000 Binary files a/doc/users/.doctrees/conck.doctree and /dev/null differ diff --git a/doc/users/.doctrees/cstore.doctree b/doc/users/.doctrees/cstore.doctree deleted file mode 100644 index 8727c0ff3..000000000 Binary files a/doc/users/.doctrees/cstore.doctree and /dev/null differ diff --git a/doc/users/.doctrees/environment.pickle b/doc/users/.doctrees/environment.pickle deleted file mode 100644 index 41731b1b4..000000000 Binary files a/doc/users/.doctrees/environment.pickle and /dev/null differ diff --git a/doc/users/.doctrees/filrecur.doctree b/doc/users/.doctrees/filrecur.doctree deleted file mode 100644 index 2677b2493..000000000 Binary files a/doc/users/.doctrees/filrecur.doctree and /dev/null differ diff --git a/doc/users/.doctrees/filval.doctree b/doc/users/.doctrees/filval.doctree deleted file mode 100644 index 04805c70c..000000000 Binary files a/doc/users/.doctrees/filval.doctree and /dev/null differ diff --git a/doc/users/.doctrees/fixcapaq.doctree b/doc/users/.doctrees/fixcapaq.doctree deleted file mode 100644 index 2b2840b9c..000000000 Binary files a/doc/users/.doctrees/fixcapaq.doctree and /dev/null differ diff --git a/doc/users/.doctrees/flglvl.doctree b/doc/users/.doctrees/flglvl.doctree deleted file mode 100644 index 809fbe0ab..000000000 Binary files a/doc/users/.doctrees/flglvl.doctree and /dev/null differ diff --git a/doc/users/.doctrees/fluxad.doctree b/doc/users/.doctrees/fluxad.doctree deleted file mode 100644 index 7d7b61c30..000000000 Binary files a/doc/users/.doctrees/fluxad.doctree and /dev/null differ diff --git a/doc/users/.doctrees/global-desc.doctree b/doc/users/.doctrees/global-desc.doctree deleted file mode 100644 index 7803d34e6..000000000 Binary files a/doc/users/.doctrees/global-desc.doctree and /dev/null differ diff --git a/doc/users/.doctrees/icall.doctree b/doc/users/.doctrees/icall.doctree deleted file mode 100644 index b8dffad86..000000000 Binary files a/doc/users/.doctrees/icall.doctree and /dev/null differ diff --git a/doc/users/.doctrees/igetsp.doctree b/doc/users/.doctrees/igetsp.doctree deleted file mode 100644 index a364bc531..000000000 Binary files a/doc/users/.doctrees/igetsp.doctree and /dev/null differ diff --git a/doc/users/.doctrees/index.doctree b/doc/users/.doctrees/index.doctree deleted file mode 100644 index aee7f3db4..000000000 Binary files a/doc/users/.doctrees/index.doctree and /dev/null differ diff --git a/doc/users/.doctrees/intcopy.doctree b/doc/users/.doctrees/intcopy.doctree deleted file mode 100644 index b88638ed6..000000000 Binary files a/doc/users/.doctrees/intcopy.doctree and /dev/null differ diff --git a/doc/users/.doctrees/intfil.doctree b/doc/users/.doctrees/intfil.doctree deleted file mode 100644 index 0410961e5..000000000 Binary files a/doc/users/.doctrees/intfil.doctree and /dev/null differ diff --git a/doc/users/.doctrees/level-desc.doctree b/doc/users/.doctrees/level-desc.doctree deleted file mode 100644 index 4258d3a35..000000000 Binary files a/doc/users/.doctrees/level-desc.doctree and /dev/null differ diff --git a/doc/users/.doctrees/nestck.doctree b/doc/users/.doctrees/nestck.doctree deleted file mode 100644 index ce5039209..000000000 Binary files a/doc/users/.doctrees/nestck.doctree and /dev/null differ diff --git a/doc/users/.doctrees/node-desc.doctree b/doc/users/.doctrees/node-desc.doctree deleted file mode 100644 index a36e61fc4..000000000 Binary files a/doc/users/.doctrees/node-desc.doctree and /dev/null differ diff --git a/doc/users/.doctrees/nodget.doctree b/doc/users/.doctrees/nodget.doctree deleted file mode 100644 index 744c7c55c..000000000 Binary files a/doc/users/.doctrees/nodget.doctree and /dev/null differ diff --git a/doc/users/.doctrees/outmsh.doctree b/doc/users/.doctrees/outmsh.doctree deleted file mode 100644 index ed79c339b..000000000 Binary files a/doc/users/.doctrees/outmsh.doctree and /dev/null differ diff --git a/doc/users/.doctrees/outtre.doctree b/doc/users/.doctrees/outtre.doctree deleted file mode 100644 index d16a3b27a..000000000 Binary files a/doc/users/.doctrees/outtre.doctree and /dev/null differ diff --git a/doc/users/.doctrees/outval.doctree b/doc/users/.doctrees/outval.doctree deleted file mode 100644 index 4e172fc75..000000000 Binary files a/doc/users/.doctrees/outval.doctree and /dev/null differ diff --git a/doc/users/.doctrees/outvar.doctree b/doc/users/.doctrees/outvar.doctree deleted file mode 100644 index dcf2d575f..000000000 Binary files a/doc/users/.doctrees/outvar.doctree and /dev/null differ diff --git a/doc/users/.doctrees/prepadj.doctree b/doc/users/.doctrees/prepadj.doctree deleted file mode 100644 index f3a588ff6..000000000 Binary files a/doc/users/.doctrees/prepadj.doctree and /dev/null differ diff --git a/doc/users/.doctrees/prepc.doctree b/doc/users/.doctrees/prepc.doctree deleted file mode 100644 index 9e84e93ad..000000000 Binary files a/doc/users/.doctrees/prepc.doctree and /dev/null differ diff --git a/doc/users/.doctrees/putadjsp.doctree b/doc/users/.doctrees/putadjsp.doctree deleted file mode 100644 index 73b94b6d1..000000000 Binary files a/doc/users/.doctrees/putadjsp.doctree and /dev/null differ diff --git a/doc/users/.doctrees/putnod.doctree b/doc/users/.doctrees/putnod.doctree deleted file mode 100644 index cae0f1c30..000000000 Binary files a/doc/users/.doctrees/putnod.doctree and /dev/null differ diff --git a/doc/users/.doctrees/putsp.doctree b/doc/users/.doctrees/putsp.doctree deleted file mode 100644 index 82ec6e42f..000000000 Binary files a/doc/users/.doctrees/putsp.doctree and /dev/null differ diff --git a/doc/users/.doctrees/reclam.doctree b/doc/users/.doctrees/reclam.doctree deleted file mode 100644 index 739ef8e27..000000000 Binary files a/doc/users/.doctrees/reclam.doctree and /dev/null differ diff --git a/doc/users/.doctrees/saveqc.doctree b/doc/users/.doctrees/saveqc.doctree deleted file mode 100644 index 7ee309c7c..000000000 Binary files a/doc/users/.doctrees/saveqc.doctree and /dev/null differ diff --git a/doc/users/.doctrees/setadj.doctree b/doc/users/.doctrees/setadj.doctree deleted file mode 100644 index 300dfa5c1..000000000 Binary files a/doc/users/.doctrees/setadj.doctree and /dev/null differ diff --git a/doc/users/.doctrees/setaux.doctree b/doc/users/.doctrees/setaux.doctree deleted file mode 100644 index a799d41e1..000000000 Binary files a/doc/users/.doctrees/setaux.doctree and /dev/null differ diff --git a/doc/users/.doctrees/setrun_amrclaw.doctree b/doc/users/.doctrees/setrun_amrclaw.doctree deleted file mode 100644 index 898eaa8da..000000000 Binary files a/doc/users/.doctrees/setrun_amrclaw.doctree and /dev/null differ diff --git a/doc/users/.doctrees/setrun_amrclaw_sample.doctree b/doc/users/.doctrees/setrun_amrclaw_sample.doctree deleted file mode 100644 index abf00d758..000000000 Binary files a/doc/users/.doctrees/setrun_amrclaw_sample.doctree and /dev/null differ diff --git a/doc/users/.doctrees/setuse.doctree b/doc/users/.doctrees/setuse.doctree deleted file mode 100644 index 27e0c9bd9..000000000 Binary files a/doc/users/.doctrees/setuse.doctree and /dev/null differ diff --git a/doc/users/.doctrees/stepgrid.doctree b/doc/users/.doctrees/stepgrid.doctree deleted file mode 100644 index cb26ca00c..000000000 Binary files a/doc/users/.doctrees/stepgrid.doctree and /dev/null differ diff --git a/doc/users/.doctrees/trimbd.doctree b/doc/users/.doctrees/trimbd.doctree deleted file mode 100644 index f00ddf611..000000000 Binary files a/doc/users/.doctrees/trimbd.doctree and /dev/null differ diff --git a/doc/users/.doctrees/upbnd.doctree b/doc/users/.doctrees/upbnd.doctree deleted file mode 100644 index 2418c4efa..000000000 Binary files a/doc/users/.doctrees/upbnd.doctree and /dev/null differ diff --git a/doc/users/.doctrees/update.doctree b/doc/users/.doctrees/update.doctree deleted file mode 100644 index ce890384c..000000000 Binary files a/doc/users/.doctrees/update.doctree and /dev/null differ diff --git a/doc/users/.doctrees/valout.doctree b/doc/users/.doctrees/valout.doctree deleted file mode 100644 index d36cea643..000000000 Binary files a/doc/users/.doctrees/valout.doctree and /dev/null differ diff --git a/doc/users/_sources/_templates/index.txt b/doc/users/_sources/_templates/index.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/users/_sources/adj-struct.txt b/doc/users/_sources/adj-struct.txt deleted file mode 100644 index 17bb78b77..000000000 --- a/doc/users/_sources/adj-struct.txt +++ /dev/null @@ -1,47 +0,0 @@ - -.. _adj-struct: - -========================= -Adjacency data structures -========================= - - -*node(adjxlo,mptr)* - Type: Pointer to storage - - Target created in: *prepadj* (new routine, modeled after *prepf*) - - Target destroyed in: *putspadj* (new routine, modeled after *putsp*) - - Description: Target is an array of integers along the left boundary, - corresponding to ghost cells. Entries describe the relation of ghost - cells to other grids at the same level, with possible values: - - * *madj*, pointer to grid at the same level the contains this ghost - cell, if such a grid exists. - - * 0, if the ghost cell is interior, but does not overlap a grid of - the same level. - - * -1, if the ghost cell is exterior to the domain. - - -*node(adjxhi,mptr)* - Type: Pointer to storage - - Description: Same function as *node(adjxlo,mptr)*, but for ghost cells - along the right boundary. - - -*node(adjylo,mptr)* - Type: Pointer to integer data - - Description: Same function as *node(adjxlo,mptr)*, but for ghost cells - along the bottom boundary. - - -*node(adjyhi,mptr)* - Type: Pointer to integer data - - Description: Same function as *node(adjxlo,mptr)*, but for ghost cells - along the top boundary. \ No newline at end of file diff --git a/doc/users/_sources/amr2ez.txt b/doc/users/_sources/amr2ez.txt deleted file mode 100644 index 776287311..000000000 --- a/doc/users/_sources/amr2ez.txt +++ /dev/null @@ -1,17 +0,0 @@ - -.. _amr2ez: - -=========== -``amr2ez`` -=========== - -Signature: - ``program amr2ez`` - - -Description: - Main program for AMRClaw. - - -*Note:* - Provide a more thorough description. \ No newline at end of file diff --git a/doc/users/_sources/amr_strategy.txt b/doc/users/_sources/amr_strategy.txt deleted file mode 100644 index 69cb1ee59..000000000 --- a/doc/users/_sources/amr_strategy.txt +++ /dev/null @@ -1,200 +0,0 @@ - -.. _amr_strategy: - -***************************************************************** -AMR refinement strategy -***************************************************************** - -The basic adaptive refinment strategy used in :ref:`amrclaw` is -to refine on logically rectangular patches. A single Level 1 grid covers -the entire domain (usually --- if it is too large it may be split into -multiple Level 1 grids). Some rectangular portions of this grid are covered -by Level 2 grids refined by some refinement factor *R* in each direction -(anisotropic refinement is now allowed too --- see :ref:`setrun_amrclaw`). -Regions of each Level 2 grid may be covered by Level 3 grids, that are -further refined (perhaps with a different refinement ratio). And so on. - -For the hyperbolic solvers in Clawpack the time step is limited by the -Courant number (see Section :ref:`cfl`), and so if the spatial resolution is -refined by a factor of *R* in each direction then the time step will -generally have to be reduced by a factor *R* as well. - -The AMR code thus proceeds as follows: - - * In each time step on the Level 1 grid(s), the values in all grid cells - (including those covered by finer grids) is advanced one time step. - Before this time step is taken, ghost cells around the boundary of the - full computational domain are filled based on the boundary conditions - specified in *$CLAW/amrclaw/Nd/lib/bcNamr.f* (where *N* is the number of - space dimensions). - - * After a step on the Level 1 grid, *R* time steps must be taken on each - Level 2 grid, where *R* denotes the desired refinement ratio in - time from Level 1 to Level 2. - - For each of these time step, ghost cell - values must be filled in around all boundaries of each Level 2 grid. - This procedure is defined below in :ref:`amr_bc`. - - * After taking *R* steps on Level 2 grids, values on the Level 1 grid are - updated to be consistent with the Level 2 grids. Any cell on Level 1 - that is covered by a Level 2 grid has its *q* value replaced by the - average of all the Level 2 grid cells lying within this cell. This gives - a cell average that should be a better approximation to the true cell - average than the original value. - - * The updating just described can lead to a change in the total mass - calculated on the Level 1 grid. In order to restore global conseravtion, - it is necessary to do a conservation fix up. (To be described...) - -This style of AMR is often called *Berger-Colella-Oliger* adaptive -refinement, after the papers of Berger and Oliger [BergerOliger84]_ and -[BergerColella89]_. - -The Fortran code in `$CLAW/amrclaw `_ is based on code -originally written by Marsha Berger for gas dynamics, and merged in Clawpack -in the early days of Clawpack development by MJB and RJL. The algorithms -used in AMRClaw are described more fully in [BergerLeVeque98]_. - - -.. _amr_bc: - -Ghost cells and boundary conditions for AMR -------------------------------------------- - -Consider a Level *k > 1* grid for which we need ghost cells all around the -boundary at the start of each time step on this level. The same procedure -is used at other levels. - - * Some Level k grids will be adjacent to other Level k grids and so any - ghost cell that is equivalent to a Level k cell on some other grid has - values copied from this this grid. - - * Some ghost cells will be in the interior of the full computational domain - but in regions where there is no adjacent Level k grid. There will be - a Level k-1 grid covering that region, however. In this case the ghost - cells are obtained by space-time interpolation from values on the Level - k-1 grid. - - * Some ghost cells will lie outside the full computational domain, where - the boundary of the Level k grid lies along the boundary of the full - domain. For these cells the subroutine *$CLAW/amrclaw/Nd/lib/bcNamr.f* - (where *N* is the number of space dimensions) is used to fill ghost cell - values with the proper user-specified boundary conditions. - -For many standard boundary conditions it is not necessary for the user to do -anything beyond setting the *mthbc* parameters in *setrun.py* (see -:ref:`setrun`). Only if some element of *mthbc* is 0 (indicating -user-specified boundary conditions) is it necessary to modify the library -routine *bcNamr.f* (after copying to your application directory so as not to -damage the library version, and modifying the *Makefile* to point to the new -version). - -There some differences between the *bcNamr.f* routine and the *bcN.f* -routine used for the single-grid classic Clawpack routines (which are found in -*$CLAW/clawpack/Nd/lib/bcN.f*). In particular, it is necessary to check -whether a ghost cell actually lies outside the full computational domain -and only set ghost cell values for those that do. It should be clear how to -do this from the library version of the routine. - -If **periodic boundary -conditions** are specified, this is handled by the AMRClaw software along -with all internal boundaries, rather than in *bcNamr.f*. With AMR it is not -so easy to apply periodic boundary conditions as it is in the case of a -single grid, since it is necessary to determine whether there is a grid at -the same refinement level at the opposite side of the domain to copy ghost -cell values from, and if so which grid and what index corresponds to the -desired location. - -.. _amr_cluster_fill: - -Choosing and initializing finer grids -------------------------------------- - -Every few time steps on the coarsest level it is generally necessary to -revise modify the regions of refinement at all levels, for example to follow -a propagating shock wave. This is done by - - 1. Flagging cells that need refinement according to some criteria. - - 2. Clustering the flagged cells into rectangular patches that will form the - new set of grids at the next higher level. - - 3. Creating the new grids and initializing the values of *q* and also any - *aux* arrays for each new grid. - -Clustering is done using and algorithm developed by Berger and Rigoutsis -[BergerRigoutsis91]_ that finds a nonoverlapping set of rectangles that -cover all flagged points and balances the following conflicting goals: - - * Cover as few points as possible that are not flagged, - to reduce the number of grid cells that must be advanced in each time - step. - - * Create as few new grids as possible, to minimize the overhead associated - with filling ghost cells and doing the conservation fix-up around edges - of grids. - -A parameter *cutoff* can be specified (see :ref:`setrun_amrclaw`) to control -clustering. The algorithm will choose the grids in such a way that at least -this fraction of all the grid points in all the new grids will be in cells -that were flagged as needing refinement. Usually *cutoff = 0.7* is used, so -at least 70% of all grid cells in a computation are in regions where they -are really needed. - -Initializing the new grids at Level k+1 is done as follows: - - * At points where there was already a Level k+1 grid present, this value is - copied over. - - * At points where there was not previously a Level k+1 grid, bilinear - interpolation is performed based on the Level k grids (if the exist at - this point, if not even coarser grids are used -- **True?**). - -.. _amr_flag: - -Flagging cells for refinement ------------------------------ - -The user can control the criteria used for flagging cells for refinement. - -The default procedure is to ... (explain *tolsp* parameter). - -To be continued... describe library routines *allowflag.f* and -*flag2refine.f* and how to modify them. (But first these should be cleaned -up and regions added to AMRClaw versions!) - - -.. _regions: - -Specifying AMR regions ----------------------- - -In addition to specifying a tolerance or other criteria for flagging -individual cells as described above, it is possible to specify regions of -the domain so that all points in the region, over some -time interval also specified, will be refined to at least some level -*minlevel* and at most some level *maxlevel*. - - -**Note:** This is currently available only in :ref:`geoclaw` but should be -carried over to AMRClaw. - -This can be automatically specified via parameters set in *setrun.py* (see -:ref:`setrun_regions`). - -To determine whether a grid cell lies in one of the regions specified, the -center of the grid cell is used. If a mapped grid is being used, the limits -for the regions should be in terms of the computational grid coordinates, -not the physical coordinates. - -If a cell center lies in more than one specified region, then the -cell will definitely be flagged for refinement at level k (meaning it should -be covered by a Level k+1 grid) if *k+1 <= minlevel* for any of the regions, -regardless of whether the general flagging criteria hold or not. -This means the smallest of the various *minlevel* parameters for any region -covering this point will take effect. Conversely it will definitely **not** -be flagged for refinement if *k+1 > maxlevel* for **all** regions that cover -this point. This means the largest of the various *maxlevel* parameters for -any region covering this point will take effect. - diff --git a/doc/users/_sources/basic.txt b/doc/users/_sources/basic.txt deleted file mode 100644 index dc8cebea3..000000000 --- a/doc/users/_sources/basic.txt +++ /dev/null @@ -1,24 +0,0 @@ - -.. _basic: - -========== -``basic`` -========== - -Signature: - ``subroutine basic(time, lst, end)`` - - -Arguments: - ``integer, intent(in)``: - * ``lst``: Coarsest level for output of tree structure. - * ``lend``: Finest level for output of tree structure. - ``double precision, intent(in)``: - * ``time``: Time of output. - - -Description: - Outputs basic information needed by the other graphics - output routines (:ref:`valout`) at the given ``time``. - Writes the entire level list, from level ``1`` to ``lfine``, - and the tree structure from level ``lst`` to ``lend``. diff --git a/doc/users/_sources/bc2amr.txt b/doc/users/_sources/bc2amr.txt deleted file mode 100644 index ec0378f72..000000000 --- a/doc/users/_sources/bc2amr.txt +++ /dev/null @@ -1,49 +0,0 @@ - -.. _bc2amr: - -============ -``bc2amr`` -============ - -Signature: - ``subroutine bc2amr(val, aux, nrow, ncol, meqn, naux, hx, hy, - level, time, xleft, xright, ybot, ytop, xlower, ylower, xupper, - yupper, xperiodic, yperiodic, spheredom)`` - - -Arguments: - ``integer, intent(in)``: - * ``nrow``: Horizontal dimension of the input patch. - * ``ncol``: Vertical dimension of the input patch. - * ``meqn``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``level``: Level of the input patch. - ``double precision, intent(in)``: - * ``time``: Time at which boundary conditions are being applied. - * ``xleft``: Left bound of the input patch. - * ``xright``: Right bound of the input patch. - * ``ybot``: Bottom bound of the input patch. - * ``ytop``: Top bound of the input patch. - * ``xlower``: Left bound of the physical domain. - * ``xupper``: Right bound of the physical domain. - * ``ylower``: Bottom bound of the physical domain. - * ``yupper``: Top bound of the physical domain. - * ``aux(nrow,ncol,meqn)``: Aux variables on the input patch. - ``logical, intent(in)``: - * ``xperiodic``: Value is ``.true.`` if the physical domain - is periodic in *x*. - * ``yperiodic``: Value is ``.true.`` if the physical domain - is periodic in *y*. - * ``spheredom``: Value is ``.true.`` if the physical domain - is spherically symmetric. - ``double precision, intent(inout)``: - * ``val(nrow,ncol,meqn)``: Solution values on the input patch. - - -Description: - Takes a grid patch with mesh widths ``hx`` and ``hy``, of - dimensions ``nrow`` by ``ncol``, and uses the boundary conditions - to set the solution values on any piece of the patch which extends - outside the physical domain. - - User-specified boundary conditions must be included in this routine. \ No newline at end of file diff --git a/doc/users/_sources/bound.txt b/doc/users/_sources/bound.txt deleted file mode 100644 index 30908958a..000000000 --- a/doc/users/_sources/bound.txt +++ /dev/null @@ -1,30 +0,0 @@ - -.. _bound: - -============ -``bound`` -============ - -Signature: - ``bound(time, nvar, ng, valbig, mitot, mjtot, mptr, aux, naux)`` - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of solution variables. - * ``ng``: Number of ghost cells in each direction (width of boundary region). - * ``mitot``: Horizontal dimension of the grid, including ghost cells. - * ``mjtot``: Vertical dimension of the grid, including ghost cells. - * ``mptr``: Pointer to the descriptor of the input grid. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``time``: Time at which to fill the ghost cells. - * ``aux(mitot,mjtot,naux)``: Values of aux variables on the input grid. - ``double precision, intent(inout)``: - * ``valbig(mitot,mjtot,nvar)``: Solution values on the input grid. - - -Description: - This routine sets the boundary values (ghost cells) for a given grid, - specified by ``mptr``, at level ``level``. It fills the values for - a region ``ng`` cells wide all the way around the border, in 4 - rectangular strips. \ No newline at end of file diff --git a/doc/users/_sources/check.txt b/doc/users/_sources/check.txt deleted file mode 100644 index ebcc82ddf..000000000 --- a/doc/users/_sources/check.txt +++ /dev/null @@ -1,24 +0,0 @@ - -.. _check: - -=========== -``check`` -=========== - -Signature: - ``subroutine check(nsteps, time, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``nsteps``: Number of steps taken on the coarse grid since - the start. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``time``: Time of the checkpoint. - - -Description: - Creates a checkpoint, from which the simulation may be restarted. - Can only be called at the end of coarse grid cycles. \ No newline at end of file diff --git a/doc/users/_sources/cleanup.txt b/doc/users/_sources/cleanup.txt deleted file mode 100644 index c00bb5609..000000000 --- a/doc/users/_sources/cleanup.txt +++ /dev/null @@ -1,21 +0,0 @@ - -.. _cleanup: - -============ -``cleanup`` -============ - -Signature: - ``subroutine cleanup(nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - - -Description: - Final subroutine called by :ref:`amr2ez`. Reclaims all remaining - storage space from grids, allowing ``amr2ez`` to raise a warning - if memory has not been properly released. diff --git a/doc/users/_sources/conck.txt b/doc/users/_sources/conck.txt deleted file mode 100644 index 552971490..000000000 --- a/doc/users/_sources/conck.txt +++ /dev/null @@ -1,25 +0,0 @@ - -.. _conck: - -========== -``conck`` -========== - -Signature: - ``subroutine conck(level, nvar, time)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level of the conservation check. Most likely, - ``level=1``, and conservation is being checked on the entire - domain. - * ``nvar``: Number of solution variables. Not actually used. - ``double precision, intent(in)``: - * ``time``: Time of the conservation check. - - -Description: - Outputs mass information on level ``level`` to standard output, so - conservation may be inspected. Primarily a debugging tool. Assumes - that grids don't overlap. \ No newline at end of file diff --git a/doc/users/_sources/cstore.txt b/doc/users/_sources/cstore.txt deleted file mode 100644 index 5788c1947..000000000 --- a/doc/users/_sources/cstore.txt +++ /dev/null @@ -1,45 +0,0 @@ - -.. _cstore: - -============ -``cstore`` -============ - -Signature: - ``subroutine cstore(qc, nrow, ncol, nvar, qc1d, lenbc, naux, auxc, auxc1d)`` - - -Arguments: - ``integer, intent(in)``: - * ``nrow``: Horizontal dimension of the coarse patch. - * ``ncol``: Vertical dimension of the coarse patch. - * ``nvar``: Number of solution variables. - * ``lenbc``: Perimeter of the fine grid, in number of cells. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``qc(nrow,ncol,nvar)``: Solution values on coarse patch. - * ``auxc(nrow,ncol,nvar)``: Aux variable values on coarse patch. - ``double precision, intent(out)``: - * ``qc1d(lenbc)``: Stores coarse grid solution around perimeter - of fine grid. - * ``auxc1d(lenbc)``: Stores coarse grid aux variables around perimeter - of fine grid. - - -Description: - Takes data (``qc`` and ``auxc``) from a coarse patch that perfectly surrounds - a fine grid, and extracts the coarse data around the perimeter of the fine - grid. These are stored in 1-dimensional arrays ``qc1d`` and ``auxc1d``. - - The perimeter of the fine grid is traversed in the following order:: - - . 2 - . __________ - . | | - . 1 | | 3 - . |__________| - . 4 - - save first interior cell of enlarged grid corresponding to - fine grid bordering cell. note that since fine grid is smaller, - the cell is one in. coarse (temporary) grid has no ghost cells diff --git a/doc/users/_sources/filrecur.txt b/doc/users/_sources/filrecur.txt deleted file mode 100644 index 2b0f17b39..000000000 --- a/doc/users/_sources/filrecur.txt +++ /dev/null @@ -1,57 +0,0 @@ - -.. _filrecur: - -============ -``filrecur`` -============ - -Signature: - ``recursive subroutine filrecur(level, nvar, valbig, aux, - naux, time, mitot, mjtot, nrowst, ncolst, ilo, ihi, jlo, - jhi)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level of the input region. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``mitot``: Horizontal dimension of the input region. - * ``mjtot``: Vertical dimension of the input region. - * ``nrowst``: Starting ``i``-index of the patch, - in indices relative to ``valbig``. - * ``ncolst``: Starting ``j``-index of the patch, - in indices relative to ``valbig``. - * ``ilo``: Lower horizontal index of the patch to fill, - in global indices. - * ``ihi``: Upper horizontal index of the patch to fill, - in global indices. - * ``jlo``: Lower vertical index of the patch to fill, - in global indices. - * ``jhi``: Upper vertical index of the patch to fill, - in global indices. - ``double precision, intent(in)``: - * ``time``: Time at which values are needed. - ``double precision, intent(inout)``: - * ``valbig(mitot,mjtot,nvar)``: Solution values on the - input region. - * ``aux(mitot,mjtot,naux)``: Aux variable values on the - input region. - - - -Description: - Fills in a rectangular patch of ``valbig`` and ``aux``, which - contain solution and aux values on an input region. Values - are needed at time ``time``, and at level ``level``. - - In indices relative to ``valbig`` and ``aux``, the lower-left - corner of the patch is at ``(nrowst,ncolst)``. In global - indices, its lower-left corner is at ``(ilo,jlo)``, and its - upper-right corner is at ``(ihi,jhi)``. - - First, the patch is filled with values obtainable from the - level ``level`` grids. If any values are left unfilled, - the remaining rectangle of unfilled values is enlarged by 1 - (for later linear interpolation), and remaining values are - recursively obtained from coarser levels. \ No newline at end of file diff --git a/doc/users/_sources/filval.txt b/doc/users/_sources/filval.txt deleted file mode 100644 index c6c69c550..000000000 --- a/doc/users/_sources/filval.txt +++ /dev/null @@ -1,55 +0,0 @@ - -.. _filval: - -============ -``filval`` -============ - -Signature: - ``subroutine filval(val, mitot, mjtot, hx, hy, lev, time, valc, auxc, - mic, mjc, xleft, xright, ybot, ytop, nvar, mptr, ilo, ihi, jlo, jhi, - aux, naux, locflip)`` - - -Arguments: - ``integer, intent(in)``: - * ``mitot``: Horizontal dimension of the fine grid, including ghost cells. - * ``mjtot``: Vertical dimension of the fine grid, including ghost cells. - * ``lev``: Level of the fine grid. - * ``nvar``: Number of solution variables. - * ``mptr``: Pointer to the fine grid being filled. - * ``naux``: Number of aux variables. - * ``ilo``: Lower horizontal index of the fine grid, including ghost cells, in global indices. - * ``ihi``: Upper horizontal index of the fine grid, including ghost cells, in global indices. - * ``jlo``: Lower vertical index of the fine grid, including ghost cells, in global indices. - * ``jhi``: Upper vertical index of the fine grid, including ghost cells, in global indices. - * ``locflip``: Location of perimeter storage for fine grid, for use in the periodic case. - - ``double precision, intent(in)``: - * ``hx``: Horizontal cell width on the fine grid. - * ``hy``: Vertical cell width of the fine grid. - * ``time``: Physical time. - * ``xleft``: Left coordinate of the fine grid, ghost cells excluded. - * ``xright``: Right coordinate of the fine grid, ghost cells excluded. - * ``ybot``: Bottom coordinate of the fine grid, ghost cells excluded. - * ``ytop``: Top coordinate of the fine grid, ghost cells excluded. - - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Solution values on the fine grid, with - space for ghost cells. - * ``aux(nrow,ncol,nvar)``: Values of aux variables on the fine grid, - with space for ghost cells. - - ``double precision, intent(out)``: - * ``valc(mic,mjc,nvar)``: Solution values on the coarse patch. - * ``auxc(mic,mjc,naux)``: Aux variable values on the coarse patch. - - -Description: - Fills in solution values on the interior of a fine grid. This is done - by filling a coarse patch that extends one coarse cell beyond the interior - of the fine grid on each side. Then solution values on the fine grid may - be linearly interpolated. - - Afterwards, solution values on the fine grid are replaced by values copied - from other fine grids, wherever possible. \ No newline at end of file diff --git a/doc/users/_sources/fixcapaq.txt b/doc/users/_sources/fixcapaq.txt deleted file mode 100644 index 2e558bb9b..000000000 --- a/doc/users/_sources/fixcapaq.txt +++ /dev/null @@ -1,38 +0,0 @@ - -.. _fixcapaq: - -============ -``fixcapaq`` -============ - -Signature: - ``subroutine fixcapaq(val, aux, mitot, mjtot, valc, auxc, mic, mjc, - nvar, naux, levc)`` - - -Arguments: - ``integer, intent(in):`` - * ``mitot``: Horizontal dimension of the fine grid. - * ``mjtot``: Vertical dimension of the fine grid. - * ``mic``: Horizontal dimension of the coarse patch. - * ``mjc``: Vertical dimension of the coarse patch. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``levc``: Level of the coarse patch - ``double precision, intent(in)``: - * ``valc(mic,mjc,nvar)``: Solution values on the coarse patch. - * ``auxc(mic,mjc,naux)``: Aux variable values on the coarse patch. - * ``aux(mitot,mjtot,naux)``: Aux variable values on the fine grid. - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Solution values on the fine grid. - - -Description: - After filling a new fine grid solution via linear interpolation, - *kappa\*q* may need to be conserved rather than *q* in the presence - of a capacity function. This routine calculates the discrepancy in - *kappa\*q* and modifies *q* to account for it. - - The inputs are solution and aux data (``val``, ``aux``) from a fine - grid that has just been filled via linear interpolation, as well as - from a coarse patch (``valc``, ``auxc``) that covers the fine grid. \ No newline at end of file diff --git a/doc/users/_sources/flglvl.txt b/doc/users/_sources/flglvl.txt deleted file mode 100644 index 014deeef1..000000000 --- a/doc/users/_sources/flglvl.txt +++ /dev/null @@ -1,30 +0,0 @@ - -.. _flglvl: - -============ -``flglvl`` -============ - -Signature: - ``subroutine flglvl(nvar, naux, lcheck, nxypts, index, lbase, - ldom2, npts, t0)`` - - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of dependent variables. - * ``naux``: Number of aux variables. - * ``lcheck``: Level to be flagged. - * ``lbase``: Finest level remaining fixed during regridding. - ``integer, intent(out)``: - * ``nxypts``: Total number of flagged points. - * ``index``: Starting index in ``alloc`` of the flagged points - (which occupy ``2\*nxypts`` locations). - **Incomplete**: - * ``ldom2`` - * ``t0`` - - -Description: - Controls error estimation and/or flagging of bad points for the - input level ``lcheck``. \ No newline at end of file diff --git a/doc/users/_sources/fluxad.txt b/doc/users/_sources/fluxad.txt deleted file mode 100644 index ff77bf71f..000000000 --- a/doc/users/_sources/fluxad.txt +++ /dev/null @@ -1,31 +0,0 @@ - -.. _fluxad: - -=========== -``fluxad`` -=========== - -Signature: - ``subroutine fluxad(xfluxm, xfluxp, yfluxm, yfluxp, svdflx, - mptr, mitot, mjtot, nvar, lenbc, lratiox, lratioy, ng, dtf, - dx, dy)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: - * ``mitot``: - * ``mjtot``: - * ``nvar``: - - - -Description: - save fine grid fluxes at the border of the grid, for fixing - up the adjacent coarse cells. at each edge of the grid, only - save the plus or minus fluxes, as necessary. For ex., on - left edge of fine grid, it is the minus xfluxes that modify the - coarse cell. - - -Incomplete! \ No newline at end of file diff --git a/doc/users/_sources/global-desc.txt b/doc/users/_sources/global-desc.txt deleted file mode 100644 index 8f3fadad3..000000000 --- a/doc/users/_sources/global-desc.txt +++ /dev/null @@ -1,52 +0,0 @@ - -.. _global-desc: - -===================== -Global descriptors -===================== - --------------- -Parameters --------------- - -All the below are of type ``integer, parameter``, and hard-coded -in ``call.i``. - -``maxlv`` - Description: Maximum number of levels. - - -``maxgr`` - Description: Maximum number of grids, across all levels. - - -``maxcl`` - Description: Maximum number of clusters(?) used in regridding. - - -``max1d`` - Description: Maximum size of a grid along a single dimension. - - -``maxvar`` - Description: Maximum number of independent variables. - - -``maxaux`` - Description: Maximum number of aux variables. - - -``maxout`` - Description: Maximum number of times for output. - - ------------------ -Variables ------------------ - -``ndfree`` - Description: Points to the head of the free list of nodes (grids). - - -``lfine`` - Description: Finest level currently in use. \ No newline at end of file diff --git a/doc/users/_sources/icall.txt b/doc/users/_sources/icall.txt deleted file mode 100644 index 1a2958b3d..000000000 --- a/doc/users/_sources/icall.txt +++ /dev/null @@ -1,40 +0,0 @@ - -.. _icall: - -============ -``icall`` -============ - -Signature: - ``subroutine icall(val, aux, nrow, ncol, nvar, naux, ilo, ihi, jlo, - jhi, level, iputst, jputst)`` - - -Arguments: - ``integer, intent(in):`` - * ``nrow``: Horizontal dimension of the input patch. - * ``ncol``: Vertical dimension of the input patch. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - * ``ilo``: Lower horizontal index of the patch, in global indices. - * ``ihi``: Upper horizontal index of the patch, in global indices. - * ``jlo``: Lower vertical index of the patch, in global indices. - * ``jhi``: Upper vertical index of the patch, in global indices. - * ``level``: Level of the patch - * ``iputst``: Lower horizontal index of the patch region to fill, - in indices local to the patch. - * ``jputst``: Lower vertical index of the patch region to fill, - in indices local to the patch. - ``double precision, intent(inout)``: - * ``val(nrow,ncol,nvar)``: Solution values on the input patch. - * ``aux(nrow,ncol,nvar)``: Values of aux variables on the input patch. - - -Description: - Fills solution and aux data on an input patch with data from - intersecting grids at the same level. - - -**Notes:** - Currently ``sticksout`` is passed as an extra argument when this - routine is called from :ref:`saveqc`. \ No newline at end of file diff --git a/doc/users/_sources/igetsp.txt b/doc/users/_sources/igetsp.txt deleted file mode 100644 index ee31b5e36..000000000 --- a/doc/users/_sources/igetsp.txt +++ /dev/null @@ -1,20 +0,0 @@ - -.. _igetsp: - -============ -``igetsp`` -============ - -Signature: - ``integer function igetsp(nwords)`` - - -Arguments: - ``integer, intent(in):`` - * ``nwords``: Length of continuous space (double - precision) to be allocated. - - -Description: - Allocates contiguous space of length ``nwords`` in the main - storage array ``alloc``. \ No newline at end of file diff --git a/doc/users/_sources/index.txt b/doc/users/_sources/index.txt deleted file mode 100644 index e5f712a72..000000000 --- a/doc/users/_sources/index.txt +++ /dev/null @@ -1,96 +0,0 @@ - - -.. _index: - -*************** -AMRClaw -*************** - -The $CLAW/amrclaw directory contains a version of Clawpack that uses -adaptive mesh refinement (AMR). - -See :ref:`setrun_amrclaw` for a description of the run-time parameters -needed by AMRClaw and how to set them. - -The refinement strategy and criteria are described in :ref:`amr_strategy`. - -Several examples can be found from :ref:`apps`, look for ones with an *amr* -subdirectory. - -The sections below detail many components of the library $CLAW/amrclaw/2d. - - - ------------------------------------ -Global parameters and descriptors ------------------------------------ - -This describes most of the entries in the common block, call.i. - -.. toctree:: - :maxdepth: 2 - - global-desc - level-desc - node-desc - -------------- -Main program -------------- - -.. toctree:: - :maxdepth: 2 - - amr2ez - - ----------- -Functions ----------- - -.. toctree:: - :maxdepth: 2 - - igetsp - nestck - nodget - - - ---------------------- -Selected subroutines ---------------------- - -.. toctree:: - :maxdepth: 2 - - basic - bc2amr - bound - check - cleanup - conck - cstore - icall - intcopy - intfil - filrecur - filval - fixcapaq - flglvl - outmsh - outtre - outval - outvar - prepc - putnod - putsp - reclam - saveqc - setaux - setuse - stepgrid - trimbd - upbnd - update - valout diff --git a/doc/users/_sources/intcopy.txt b/doc/users/_sources/intcopy.txt deleted file mode 100644 index ea81bba58..000000000 --- a/doc/users/_sources/intcopy.txt +++ /dev/null @@ -1,34 +0,0 @@ - -.. _intcopy: - -============ -``intcopy`` -============ - -Signature: - ``subroutine icall(val, mitot, mjtot, nvar, ilo, ihi, jlo, jhi, level, - iputst, jputst)`` - - -Arguments: - ``integer, intent(in):`` - * ``mitot``: Horizontal dimension of the input patch. - * ``mjtot``: Vertical dimension of the input patch. - * ``nvar``: Number of solution variables. - * ``ilo``: Lower horizontal index of the patch, in global indices. - * ``ihi``: Upper horizontal index of the patch, in global indices. - * ``jlo``: Lower vertical index of the patch, in global indices. - * ``jhi``: Upper vertical index of the patch, in global indices. - * ``level``: Level of the patch - * ``iputst``: Lower horizontal index of the patch region to fill, - in indices local to the patch. - * ``jputst``: Lower vertical index of the patch region to fill, - in indices local to the patch. - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Solution values on the input patch. - - -Description: - Fills *only* solution data on an input patch with data from - intersecting grids at the same level. To fill both solution and aux - data, use :ref:`icall`. \ No newline at end of file diff --git a/doc/users/_sources/intfil.txt b/doc/users/_sources/intfil.txt deleted file mode 100644 index d2008088b..000000000 --- a/doc/users/_sources/intfil.txt +++ /dev/null @@ -1,59 +0,0 @@ - -.. _intfil: - -============ -``intfil`` -============ - -Signature: - ``subroutine intfil(val, mi, mj, time, flaguse, nrowst, - ncolst, ilo, ihi, jlo, jhi, level, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mi``: Horizontal dimension of the input region. - * ``mj``: Vertical dimension of the input region. - * ``nrowst``: Starting ``i``-index of the patch, - in indices relative to ``val``. - * ``ncolst``: Starting ``j``-index of the patch, - in indices relative to ``val``. - * ``ilo``: Lower horizontal index of the patch to fill, - in global indices. - * ``ihi``: Upper horizontal index of the patch to fill, - in global indices. - * ``jlo``: Lower vertical index of the patch to fill, - in global indices. - * ``jhi``: Upper vertical index of the patch to fill, - in global indices. - * ``level``: Level of the input region. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``double precision, intent(inout)``: - * ``val``: Array of solution values on the patch being - filled. - ``double precision, intent(out)``: - * ``flaguse(ilo:ihi,jlo:jhi)``: Indicates where the patch - is successfully filled. ``flaguse`` is initialized to - ``0.d0``, and set to ``1.d0`` in every location of the - patch that gets filled. It is also set to ``1.d0`` - in all cells outside the computational domain, as these - will be filled in later using boundary data. - ``double precision, intent(in)``: - * ``time``: Time on the patch being filled. - - -Description: - Attempts to fill a rectangular patch of ``val`` and ``aux``, - which contain solution and aux values on an input region. - Values are needed at time ``time``, and at level ``level``. - - This routine only copies information from grids at level - ``level`` into the patch; no spatial interpolation is done here. - - In indices relative to ``val`` and ``aux``, the lower-left - corner of the patch is at ``(nrowst,ncolst)``. In global - indices, its lower-left corner is at ``(ilo,jlo)``, and its - upper-right corner is at ``(ihi,jhi)``. - - This is a subprocess of ``filrecur``. \ No newline at end of file diff --git a/doc/users/_sources/level-desc.txt b/doc/users/_sources/level-desc.txt deleted file mode 100644 index 328392d14..000000000 --- a/doc/users/_sources/level-desc.txt +++ /dev/null @@ -1,138 +0,0 @@ - -.. _level-desc: - -================= -Level descriptors -================= - - -.. _int-level: - -------------------------- -Integer level descriptors -------------------------- - -Each of the below descriptors is of type ``integer, dimension(maxlv)``. - - -``icheck`` - Modified in: *stst1*, *tick* - - Description: Counts the number of time steps taken on the current - level. This determines when the level should have its error estimated, - and finer levels regridded. - - Question: Does this count steps taken using this level's time step, - or time steps of the coarsest level? - - -``intratx`` - Modified in: *amr2ez* (read from *amr2ez.data*) - - Description: Horizontal refinement ratio, used to obtain the next-finest - level. - - -``intraty`` - Modified in: *amr2ez* (read from *amr2ez.data*) - - Description: Vertical refinement ratio, used to obtain the next-finest - level. - - -``iregend`` - Modified in: *domain*, *grdfit* - - Description: The largest *i*-index used by a grid at this level. - - -``iregst`` - Modified in: *domain*, *grdfit* - - Description: The smallest *i*-index used by a grid at this level. - - -``iregsz`` - Modified in: *domain*, *restrt*, *restrt_hdf* - - Description: The horizontal width of the region (computational domain), - measured in cells at this level. - - -``jregend`` - Modified in: *domain*, *grdfit* - - Description: The largest *j*-index used by a grid at this level. - - -``jregst`` - Modified in: *domain*, *grdfit* - - Description: The smallest *j*-index used by a grid at this level. - - -``jregsz`` - Modified in: *domain*, *restrt*, *restrt_hdf* - - Description: The vertical width of the region (computational domain), - measured in cells at this level. - - -``kratio`` - Modified in: *amr2ez* (set equal to intratx, and never changed) - - Description: Time refinement ratio, which is used to determine the time - step used on the next-finest level. - - -``listsp`` - Modified in: *prepc* - - Description: Records ``maxsp`` for each level, which indicates the space - (``5*maxsp``) alloted for coarse flux storage (target of ``cfluxptr``) to each - grid on that level. - - -``lstart`` - Modified in: *domain*, *stst1*, *setgrd*, *gfixup* - - Description: Pointer to the first grid on the level, where "first" refers - to its location in the ``node`` data structure. - - -``newstl`` - Modified in: *regrid*, *grdfit* - - Description: Same function as ``lstart``, but used to build a new start list. - Eventually copied into ``lstart`` in *setgrd*. ``lstart`` cannot be overwritten - until it has been used to interpolate values on the new grids, hence the new - space is needed. - - - - -.. _real-level: - ----------------------- -Real level descriptors ----------------------- - -Each of the descriptors below is of type ``double precision, dimension(maxlv)``. - - -``hxposs`` - Modified in: *amr2ez*, *stst1*, *restrt*, *restrt_hdf* - - Description: Records *hx*, the horizontal cell width. - - -``hyposs`` - Modified in: *amr2ez*, *stst1*, *restrt*, *restrt_hdf* - - Description: Records *hy*, the vertical cell width. - - -``possk`` - Modified in: *amr2ez*, *stst1*, *restrt*, *restrt_hdf* - - Description: Records *k*, the length of the time step. \ No newline at end of file diff --git a/doc/users/_sources/nestck.txt b/doc/users/_sources/nestck.txt deleted file mode 100644 index 98224a117..000000000 --- a/doc/users/_sources/nestck.txt +++ /dev/null @@ -1,33 +0,0 @@ - -.. _nestck: - -============ -``nestck`` -============ - -Signature: - ``logical function nestck(mnew, lbase, badpts, npts, numptc, - icl, nclust, domflags, isize, jsize, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mnew``: Pointer to the grid being tested for proper containment. - * ``lbase``: The finest level remaining fixed in this regridding. - * ``nvar``: Number of dependent variables. - * ``naux``: Number of aux variables. - **Incomplete**: - * ``badpts`` - * ``npts`` - * ``numptc`` - * ``icl`` - * ``nclust`` - * ``domflags`` - * ``isize`` - * ``jsize`` - -Description: - Checks whether the potential grid ``mnew`` is completely contained - in the (coarser) finest grid which stays fixed, at level ``lbase``. - The projection algorithm will guarantee containment in all finer grids - between them. diff --git a/doc/users/_sources/node-desc.txt b/doc/users/_sources/node-desc.txt deleted file mode 100644 index 56e3b318f..000000000 --- a/doc/users/_sources/node-desc.txt +++ /dev/null @@ -1,224 +0,0 @@ - -.. _node-desc: - -================ -Node descriptors -================ - - -.. _int-node: - ------------------------- -Integer node descriptors ------------------------- - -``node(levelptr,mptr)`` - Type: Pointer to grid - - Modified in: *birect*, *domain*, *grdfit* - - Description: Provides a pointer to the next grid on the same level, so that - each level may be traversed as a linked list. Value is set to null (global - variable, currently =0) if mptr points to the last grid on the level. - -``node(tempptr,mptr)`` - Type: Pointer to storage - - Target created in: *spest* (also used in plotclaw) - - Target destroyed in: *bufnst* - - Description: Provides the location of a temporary storage space where an error - estimate is stored. The allotted size is one word per grid cell per variable, - including ghost cells. - - -``node(errptr,mptr)`` - Type: Pointer to storage - - Target created in: *errest* - - Target destroyed in: *errest* - - Description: Provides the location of a temporary storage space where another - error estimate is stored, this estimate being on the grid *mptr* coarsened by - a factor of 2. The allotted size is one word per coarsened cell (including - ghost cells) per variable (dependent and aux). - - Question: Does the coarsening correspond to the use of Richardson extrapolation? - Yes. - - -``node(nestlevel,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Level containing the grid *mptr*. - - -``node(cfluxptr,mptr)`` - Type: Pointer to storage - - Target created in: *prepc* - - Target destroyed in: *putsp* - - Description: For each grid at level *coarseLevel* above the finest level, - this provides the storage in a layer around each grid at level - *coarseLevel+1*. - - The space allotted is *5\*maxsp*, where *maxsp* is the number of level - *coarseLevel* interfaces surrounding each of the finer grids. This provides - space for 5 fields to describe the interaction between grid *mptr* and the - finer grid. For later reference, *listsp(currentLevel)=maxsp*. - - Note that coarse fluxes themselves are not stored here. They contribute - instead to the space targeted by *ffluxptr* of each finer grid. - - To do: What are the five fields? (See *setuse*: i, j, which side, kid, - location in kid's grid.) - - - -``node(ffluxptr,mptr)`` - Type: Pointer to storage - - Target created in: *prepf* - - Target destroyed in: *putsp* - - Description: For each grid at level *fineLevel* below the coarsest level, - this provides the storage location for fluxes in a layer around the grid, - to be used in coarse-fine fixup. - - The space allotted is *2\*nvar\*lenbc+naux\*lenbc*, where *lenbc* is 2 times - the number of boundary interfaces. One space is for plus or minus fluxes, - and the other is for the coarse solution for wave fixing. - - -``node(store1,mptr)`` - Type: Pointer to storage - - Target created in: *ginit*, *gfixup* - - Target destroyed in: *gfixup* - - Description: Provides location in storage for the first copy of solution - data. The allotted size is (# of interior grid cells)*nvar. - - -``node(store2,mptr)`` - Type: Pointer to storage - - Target created in: *ginit*, *gfixup* - - Target destroyed in: *gfixup* - - Description: Provides location in storage for the second copy of solution - data. The allotted size is (# of interior grid cells)*nvar. - - -``node(ndilo,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the leftmost interior cell in global index - space. - - -``node(ndihi,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the rightmost interior cell in global index - space. - - -``node(ndjlo,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the bottom-most interior cell in global index - space. - - -``node(ndjhi,mptr)`` - Type: Integer - - Modified in: *domain*, *birect*, *grdfit* - - Description: Index of the top-most interior cell in global index - space. - - -``node(storeaux,mptr)`` - Type: Pointer to storage - - Target created in: *ginit*, *gfixup* - - Target destroyed in: *gfixup* - - Description: Provides the location in storage designated for aux - variables. The allotted size is (# of interior cells)*naux. - - -``node(nextfree,mptr)`` - Type: Pointer to (free) node - - Description: Points to the next node on the free list. Only - relevant for free nodes, and currently uses the same space as - ``node(tempptr,mptr)``. See also: :ref:`nodget`, :ref:`putnod`. - - -.. _real-node: - ---------------------- -Real node descriptors ---------------------- - -``rnode(cornxlo,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Lower x-coordinate of the grid specified by mptr. - - -``rnode(cornylo,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Lower y-coordinate of the grid specified by mptr. - - -``rnode(cornxhi,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Upper x-coordinate of the grid specified by mptr. - - -``rnode(cornyhi,mptr)`` - Type: double precision - - Modified in: domain, grdfit, birect - - Description: Upper y-coordinate of the grid specified by mptr. - - -``rnode(timemult,mptr)`` - Type: double precision - - Modified in: advanc, birect, ginit, grdfit, setgrd - - Description: Current time of the grid specified by mptr. - - Question: What is 'mult' in 'timemult'? - "Multiple" of delta t - But this actually stores the physical time \ No newline at end of file diff --git a/doc/users/_sources/nodget.txt b/doc/users/_sources/nodget.txt deleted file mode 100644 index 3aedb0100..000000000 --- a/doc/users/_sources/nodget.txt +++ /dev/null @@ -1,21 +0,0 @@ - -.. _nodget: - -=========== -``nodget`` -=========== - - -Signature: - ``integer function nodget(dummy)`` - - -Arguments: - ``double precision, intent(in)``: - * ``dummy``: Unused dummy argument, provided simply to allow - the function call. - - -Description: - Returns and removes the head of the free list, stored in ``ndfree``. - Updates ``ndfree`` accordingly. \ No newline at end of file diff --git a/doc/users/_sources/outmsh.txt b/doc/users/_sources/outmsh.txt deleted file mode 100644 index eba6890ef..000000000 --- a/doc/users/_sources/outmsh.txt +++ /dev/null @@ -1,25 +0,0 @@ - -.. _outmsh: - -============ -``outmsh`` -============ - -Signature: - ``subroutine outmsh(mptr,outgrd,nvar,naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: Pointer to the grid descriptor being output. - * ``nvar``: Number of dependent variables. - * ``naux``: Number of aux variables. - ``logical, intent(in)``: - * ``outgrd``: If ``outgrd=.true.``, then solution values - and aux variables on the grid are output as well. - - -Description: - Outputs the grid descriptor, and optionally the values on the - grid, for a single grid referenced by ``mptr``. (See - ``outtre`` for outputting a full subtree.) diff --git a/doc/users/_sources/outtre.txt b/doc/users/_sources/outtre.txt deleted file mode 100644 index fe62b1305..000000000 --- a/doc/users/_sources/outtre.txt +++ /dev/null @@ -1,25 +0,0 @@ - -.. _outtre: - -============ -``outtre`` -============ - -Signature: - ``subroutine outtre(mlev, outgrd, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mlev``: Points to a grid on the coarsest level to - output. I.e., output begins with the level - ``node(nestlevel,mptr)``. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``logical, intent(in)``: - * ``outgrd``: If ``outgrd=.true.``, then solution and - aux variables are output as well as grid descriptors. - - -Description: - Output data from a subtree of the grid hierarchy. diff --git a/doc/users/_sources/outval.txt b/doc/users/_sources/outval.txt deleted file mode 100644 index 5d9cbd5fb..000000000 --- a/doc/users/_sources/outval.txt +++ /dev/null @@ -1,30 +0,0 @@ - -.. _outval: - -============ -``outval`` -============ - -Signature: - ``subroutine outval(val, nvar, mitot, mjtot, mptr, outgrd, - naux,aux)`` - - -Arguments: - ``integer, intent(in)``: - * ``nvar``: Number of dependent variables. - * ``mitot``: Number of horizontal cells, including ghost cells. - * ``mjtot``: Number of vertical cells, including ghost cells. - * ``mptr``: Pointer to output grid. - * ``naux``: Number of aux variables. - ``logical, intent(in)``: - * ``outgrd``: Only output if this is ``.true.`` - ``double precision, intent(in)``: - * ``val(mitot,mjtot,nvar)``: Solution values to print. - * ``aux(mitot,mjtot,naux)``: Aux variables to print. - - -Description: - Prints the solution and aux variables to output; only prints values - at interior (non-ghost) cells. - diff --git a/doc/users/_sources/outvar.txt b/doc/users/_sources/outvar.txt deleted file mode 100644 index 2c4da7a32..000000000 --- a/doc/users/_sources/outvar.txt +++ /dev/null @@ -1,24 +0,0 @@ - -.. _outvar: - -=========== -``outvar`` -=========== - -Signature: - ``subroutine outvar(rect, mitot, mjtot, nvar, mptr, ng)`` - - -Arguments: - ``integer, intent(in)``: - * ``mitot``: Horizontal dimension of grid, including ghost cells. - * ``mjtot``: Vertical dimension of grid, including ghost cells. - * ``nvar``: Number of solution variables. - * ``mptr``: Pointer to grid being output. - ``double precision, intent(in)``: - * ``rect(mitot,mjtot,nvar)``: Solution values on the grid being - output. - - -Description: - Outputs the solution on a single grid, for later use by graphics routines. \ No newline at end of file diff --git a/doc/users/_sources/prepadj.txt b/doc/users/_sources/prepadj.txt deleted file mode 100644 index 3c48c1011..000000000 --- a/doc/users/_sources/prepadj.txt +++ /dev/null @@ -1,24 +0,0 @@ - -.. _prepadj: - -============= -``prepadj`` -============= - -Signature: - ``subroutine prepadj(level)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level on which adjacency structures are - being added. - - -Description: - Creates the adjacency data structures for all grids - on level ``level``, and fills them by calling :ref:`setadj`. - - - - diff --git a/doc/users/_sources/prepc.txt b/doc/users/_sources/prepc.txt deleted file mode 100644 index 00ec9de6f..000000000 --- a/doc/users/_sources/prepc.txt +++ /dev/null @@ -1,24 +0,0 @@ - -.. _prepc: - -========= -``prepc`` -========= - - -Signature: - ``subroutine prepc(level,nvar)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Coarse level, for which coarse flux - descriptors are being prepared. - * ``nvar``: Number of solution variables. - - -Description: - After fine level ``level+1`` has been regridded, this routine - allocates and fills (via :ref:`setuse`) the coarse flux - descriptors in ``node(cfluxptr,mcoarse)`` for each coarse grid - ``mcoarse`` at level ``level``. \ No newline at end of file diff --git a/doc/users/_sources/putadjsp.txt b/doc/users/_sources/putadjsp.txt deleted file mode 100644 index bd4bf0091..000000000 --- a/doc/users/_sources/putadjsp.txt +++ /dev/null @@ -1,21 +0,0 @@ - -.. _putadjsp: - -============= -``putadjsp`` -============= - - -Signature: - ``subroutine putadjsp(level)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level from which adjacency structures are - being reclaimed. - - -Description: - Reclaim space for adjacency data structures for all grids - on level ``level``. \ No newline at end of file diff --git a/doc/users/_sources/putnod.txt b/doc/users/_sources/putnod.txt deleted file mode 100644 index b854b5ace..000000000 --- a/doc/users/_sources/putnod.txt +++ /dev/null @@ -1,23 +0,0 @@ - -.. _putnod: - -============ -``putnod`` -============ - - -Signature: - ``subroutine putnod(mptr)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: Pointer to the grid being returned to the free list. - - -Description: - Places the node ``mptr`` at the head of the free list. This entire - routine is simply:: - - node(nextfree, mptr) = ndfree - ndfree = mptr \ No newline at end of file diff --git a/doc/users/_sources/putsp.txt b/doc/users/_sources/putsp.txt deleted file mode 100644 index ebc6bed0a..000000000 --- a/doc/users/_sources/putsp.txt +++ /dev/null @@ -1,24 +0,0 @@ - -.. _putsp: - -========== -``putsp`` -========== - -Signature: - ``putsp(lbase,level,nvar,naux)`` - -Arguments: - ``integer, intent(in)``: - * ``lbase``: Base level of regridding; finer levels are being - regridded, but ``lbase`` is not. - * ``level``: Level on which space is being reclaimed. - * ``nvar``: Number of independent variables. - * ``naux``: Number of dependent variables. - - -Description: - Reclaims flux storage space in the main storage - array for grids at level ``level``. If ``level=lbase``, only - the space at ``cfluxptr`` is reclaimed from each grid. If - ``level>lbase``, then the space at ``ffluxptr`` is reclaimed as well. \ No newline at end of file diff --git a/doc/users/_sources/reclam.txt b/doc/users/_sources/reclam.txt deleted file mode 100644 index c1d24d88c..000000000 --- a/doc/users/_sources/reclam.txt +++ /dev/null @@ -1,22 +0,0 @@ - -.. _reclam: - -============ -``reclam`` -============ - -Signature: - ``subroutine reclam(index, nwords)`` - - -Arguments: - ``integer, intent(in):`` - * ``index``: Starting location of space to be freed - in ``alloc``. - * ``nwords``: Length of space to be freed. - - -Description: - Return ``nwords`` of space, beginning at location ``index``, - to the free list. - diff --git a/doc/users/_sources/saveqc.txt b/doc/users/_sources/saveqc.txt deleted file mode 100644 index 02c82876a..000000000 --- a/doc/users/_sources/saveqc.txt +++ /dev/null @@ -1,28 +0,0 @@ - -.. _saveqc: - -============ -``saveqc`` -============ - -Signature: - ``subroutine saveqc(level, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level of the fine grids, around which coarse fluxes - are being saved. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - - -Description: - Loops over each grid on (fine) level ``level``. For each such grid - ``mkid``: - - #. Makes a coarsened, enlarged patch that extends one cell past - ``mkid`` on each side. - #. Fills the coarsened patch via :ref:`icall` or ``preicall``. - #. Calls :ref:`cstore` to store values at the perimeter of the coarsened - patch in the target of ``node(ffluxptr,mkid)``. \ No newline at end of file diff --git a/doc/users/_sources/setadj.txt b/doc/users/_sources/setadj.txt deleted file mode 100644 index ef835c69a..000000000 --- a/doc/users/_sources/setadj.txt +++ /dev/null @@ -1,26 +0,0 @@ - -.. _setadj: - -=========== -``setadj`` -=========== - - -Signature: - ``subroutine setadj(mptr, nx, ny, listxlo, listxhi, listylo, listyhi)`` - - -Arguments: - ``integer, intent(in)``: - * ``mptr``: Pointer to the grid being modified. - * ``nx``: Horizontal dimension of grid ``mptr`` (interior only). - * ``ny``: Vertical dimension of grid ``mptr`` (interior only). - ``integer, intent(out)``: - * ``listxlo(ny)``: Left adjacency list of grid ``mptr``. - * ``listxhi(ny)``: Right adjacency list of grid ``mptr``. - * ``listylo(ny)``: Bottom adjacency list of grid ``mptr``. - * ``listyhi(ny)``: Top adjacency list of grid ``mptr``. - - -Description: - Sets the adjacency lists for the grid ``mptr``. \ No newline at end of file diff --git a/doc/users/_sources/setaux.txt b/doc/users/_sources/setaux.txt deleted file mode 100644 index 1714d68d4..000000000 --- a/doc/users/_sources/setaux.txt +++ /dev/null @@ -1,36 +0,0 @@ - -.. _setaux: - -============ -``setaux`` -============ - -Signature: - ``subroutine setaux(maxmx, maxmy, mbc, mx, my, xlower, ylower, - dx, dy, maux, aux)`` - - -Arguments: - ``integer, intent(in):`` - * ``maxmx``: Maximum number of (interior) horizontal cells. - * ``maxmy``: Maximum number of (interior) vertical cells. - * ``mbc``: Number of ghost cells in each direction. - * ``mx``: Actual number of horizontal cells. - * ``my``: Actual number of vertical cells. - * ``maux``: Number of aux variables. - ``double precision, intent(in):`` - * ``xlower``: Left bound of the input region. - * ``ylower``: Bottom bound of the input region. - * ``dx``: Horizontal grid spacing. - * ``dy``: Vertical grid spacing. - ``double precision, intent(out):`` - * ``aux(1-mbc:maxmx+mbc,1-mbc:maxmy+mbc, maux)``: Array - of aux values, to be set by this routine. - - -Description: - User-supplied routine that initializes values of auxiliary - variables. - -**Question**: - Why is this called at every time step? \ No newline at end of file diff --git a/doc/users/_sources/setrun_amrclaw.txt b/doc/users/_sources/setrun_amrclaw.txt deleted file mode 100644 index 62cb8801d..000000000 --- a/doc/users/_sources/setrun_amrclaw.txt +++ /dev/null @@ -1,188 +0,0 @@ - - -.. _setrun_amrclaw: - -***************************************************************** -Specifying AMRClaw parameters in `setrun.py` -***************************************************************** - -Since AMRClaw is an extension of Clawpack, all of the parameters that -are required for Clawpack are also needed by AMRClaw. See -:ref:`setrun` for a discussion of these and a -description of `setrun.py` input scripts more generally. - -In addition, a number of other parameters should be set in the `setrun.py` -file in any AMRClaw application. - -It is best to look at a specific example while reading this section, for -example :ref:`setrun_amrclaw_sample`. - -The function `setrun` in this module is essentially the same as for Clawpack, -except that it expects to be called with *claw_pkg = 'amrclaw'*. This call -should be performed properly by the Makefile if you have *CLAW_PKG = -amrclaw* set properly there. - -The new parameter in this module start at -:ref:`setrun_amrclaw_sample_parameters` in the sample file. - -A brief summary of these: - -.. attribute:: mxnest : integer - - **mxnest** is the maximum number of refinement levels to use. - *mxnest=1* corresponds to a single grid run and should give essentially the - same results as the classic Clawpack would give (not identical probably - because different routines are used with minor variations in - implementation). Checking that this works is a good first step - in converting a code to \amrclaw. - - *mxnest > 1* then more then one level is used. - - *mxnest < 0* means *abs(mxnest)* levels are used. The negative sign - indicates that anisotropic refinement may be used, which affects the next - parameters. - - This will be cleaned up in Clawpack 5.0. - -.. attribute:: inratx : list of integers - - *inratx* is a list of refinement ratios in the x direction. - *inratx[k] = R* means that in refining from level k+1 to k+2 the x - direction will be refined by a factor R. (Here Python indexing starting - at 0 is used, so *inratx[0]* is the ratio from Level 1 to Level 2.) - - If *mxnst > 0* then *inratx* also determines the refinement ratio in y - and t (and in z for 3d problems). - -.. attribute:: inraty, inratz, inratt : lists of integers - - *inraty*, *inratz*, *inratt* are only used if *mxnest < 0* and are lists - of refinement ratios in the respective directions. - -.. attribute:: auxtype : list of strings - - If *maux > 0* then for each component of *aux* there should be a - corresponding element of *auxtype* from the list below: - - 'xleft' - a value associated with the left edge of a cell in the x-direction - - 'yleft' - a value associated with the left edge of a cell in the y-direction - - 'zleft' - a value associated with the left edge of a cell in the z-direction - - 'center' - a value associated with a cell center - - 'capacity' - a cell-centered capacity function - - - The *auxtype* array is required for adaptive refinement because - auxiliary arrays must be handled slightly differently at refinement - boundaries depending on how these values are used. - - A cell-centered auxiliary value such as the density or impedance in a - heterogeneous acoustics problem would have type *center*. - On the other hand, in a variable-coefficient advection problem we may - want to store the normal velocity at each edge of the cell. In two - dimensions we might use one component of *aux* to store a left-edge - velocity in the x-direction and another to store the left-edge (i.e. - bottom) velocity in the y-direction. - - At most one component may have type *'capacity'*, and the value of - *mcapa* described in :ref:`setrun` should be set in a consistent - manner (modulo the fact that Fortran indexing starts at 1 and Python at - 0, so if *mcapa = k* then *auxtype[k-1] = 'capacity'* should be set). - -.. attribute:: checkpt_iousr : integer - - A A checkpoint file is dumped every *checkpt_iousr* time - steps on the coarse grid. These are binary files with names of the form - *fort.chkXXXX* where *XXXX* is the step number. - - **Note:** these files are typically very large! - - The solution and grid structure is printed out in a form that can be used - to later restart the calculation from this point. This is useful when - doing long runs in case the computer goes down or the algorithm fails at some - point in the calculation. It is also useful if you want to go to some - large time and then start doing frequent outputs in order to examine the - time-evolution of the solution more carefully. - - In addition to creating a checkpoint file every *checkpt_iousr* time steps, a - final checkpoint file is created at the end of the computation. This can be - used to restart the calculation from the final time if you wish to evolve it - further. Setting *checkpt_iousr* to a sufficiently - large integer will cause a checkpoint - file to be written only at the end of the computation. - - If *checkpt_iousr = 0* then no checkpoint files are generated, not even at - the end. - - If *checkpt_iousr < 0* then the attribute *tchk* should also be set, to a - list of *abs(checkpt_iousr)* times when checkpoint files are desired. - - This will be cleaned up in Clawpack 5.0. - -.. attribute:: restart : boolean - - If *restart = True* then a restart is performed. - Information read in from the file *restart.data* is used to resume a - previous calculation. An appropriate checkpoint file *fort.chkXXXX* - should be renamed *restart.data* in order to use this option. - (And generally moved from the *_output* directory to the directory from - which the code is being run.) - - When a restart is performed, other parameters in this *amr2ez.data* file - should be consistent with values used in the previous calculation, with - some exceptions: - - * The final time *tfinal* can be increased, - * Others? - - Note that when restarting, the output files will continue to be numbered - consecutively from the previous run. - - -.. attribute:: tol: float - - Error tolerance used in Richardson error estimation. Cells are - flagged for refinement if the error estimate is greater than *tol*. - Richardson estimation requires taking two time steps on the current grid - and comparing the result with what's obtained by taking one step on a - coarsened grid. - - If *tol < 0*, Richardson estimation is not used. - -.. attribute:: tolsp: float - - Error tolerance used in a simpler approach of estimating the spatial - gradient of the solution and flagging points where this estimate is - larger than *tolsp*. See :ref:`amr_strategy` for more information. - -.. attribute:: kcheck : int - - How often to regrid: error estimation and regridding is performed every - *kcheck* time steps on each level. - -.. attribute:: ibuff : int - - Size of the buffer zone around flagged cells. - Certain cells are flagged for refinement and then clustered (see - :ref:`amr_strategy`) into finer grids. In addition to the cells flagged by the - error estimation, all cells within *ibuff* cells of these are also - flagged. This insures that structures in the solution that require - refinement will remain in the refined region for at least *ibuff* time - steps, since the Courant number must be no greater than 1. The value of - *ibuff* should generally be consistent with the value of *kcheck*, - with *ibuff >= kcheck* if the Courant number is close to 1. - -.. attribute:: cutoff : float - - Parameter used in the clustering algorithm (see - :ref:`amr_strategy`). Typically 0.7 is a good value. - - diff --git a/doc/users/_sources/setrun_amrclaw_sample.txt b/doc/users/_sources/setrun_amrclaw_sample.txt deleted file mode 100644 index 017d6034d..000000000 --- a/doc/users/_sources/setrun_amrclaw_sample.txt +++ /dev/null @@ -1,268 +0,0 @@ - - -.. _setrun_amrclaw_sample: - -***************************************************************** -Sample AMRClaw `setrun.py` module -***************************************************************** - -:: - - """ - Module to set up run time parameters for Clawpack. - - The values set in the function setrun are then written out to data files - that will be read in by the Fortran code. - - """ - - import os - from pyclaw import data - - - #------------------------------ - def setrun(claw_pkg='amrclaw'): - #------------------------------ - - """ - Define the parameters used for running Clawpack. - - INPUT: - claw_pkg expected to be "amrclaw" for this setrun. - - OUTPUT: - rundata - object of class ClawRunData - - """ - - assert claw_pkg.lower() == 'amrclaw', "Expected claw_pkg = 'amrclaw'" - - ndim = 2 - rundata = data.ClawRunData(claw_pkg, ndim) - - #------------------------------------------------------------------ - # Problem-specific parameters to be written to setprob.data: - #------------------------------------------------------------------ - - probdata = rundata.new_UserData(name='probdata',fname='setprob.data') - probdata.add_param('u', 0.5, 'ubar advection velocity') - probdata.add_param('v', 1.0, 'vbar advection velocity') - - #------------------------------------------------------------------ - # Standard Clawpack parameters to be written to claw.data: - # (or to amr2ez.data for AMR) - #------------------------------------------------------------------ - - clawdata = rundata.clawdata # initialized when rundata instantiated - - - # Set single grid parameters first. - # See below for AMR parameters. - - - # --------------- - # Spatial domain: - # --------------- - - # Number of space dimensions: - clawdata.ndim = ndim - - # Lower and upper edge of computational domain: - clawdata.xlower = 0.0 - clawdata.xupper = 1.0 - - clawdata.ylower = 0.0 - clawdata.yupper = 1.0 - - - # Number of grid cells: - clawdata.mx = 50 - - clawdata.my = 50 - - - # --------------- - # Size of system: - # --------------- - - # Number of equations in the system: - clawdata.meqn = 1 - - # Number of auxiliary variables in the aux array (initialized in setaux) - clawdata.maux = 0 - - # Index of aux array corresponding to capacity function, if there is one: - clawdata.mcapa = 0 - - - - # ------------- - # Initial time: - # ------------- - - clawdata.t0 = 0.0 - - - # ------------- - # Output times: - #-------------- - - # Specify at what times the results should be written to fort.q files. - # Note that the time integration stops after the final output time. - # The solution at initial time t0 is always written in addition. - - clawdata.outstyle = 1 - - if clawdata.outstyle==1: - # Output nout frames at equally spaced times up to tfinal: - clawdata.nout = 10 - clawdata.tfinal = 2.0 - - elif clawdata.outstyle == 2: - # Specify a list of output times. - clawdata.tout = [0.5, 1.0] # used if outstyle == 2 - clawdata.nout = len(clawdata.tout) - - elif clawdata.outstyle == 3: - # Output every iout timesteps with a total of ntot time steps: - iout = 1 - ntot = 5 - clawdata.iout = [iout, ntot] - - - - # --------------------------------------------------- - # Verbosity of messages to screen during integration: - # --------------------------------------------------- - - # The current t, dt, and cfl will be printed every time step - # at AMR levels <= verbosity. Set verbosity = 0 for no printing. - # (E.g. verbosity == 2 means print only on levels 1 and 2.) - clawdata.verbosity = 3 - - - - # -------------- - # Time stepping: - # -------------- - - # if dt_variable==1: variable time steps used based on cfl_desired, - # if dt_variable==0: fixed time steps dt = dt_initial will always be used. - clawdata.dt_variable = 1 - - # Initial time step for variable dt. - # If dt_variable==0 then dt=dt_initial for all steps: - clawdata.dt_initial = 0.016 - - # Max time step to be allowed if variable dt used: - clawdata.dt_max = 1e+99 - - # Desired Courant number if variable dt used, and max to allow without - # retaking step with a smaller dt: - clawdata.cfl_desired = 0.9 - clawdata.cfl_max = 1.0 - - # Maximum number of time steps to allow between output times: - clawdata.max_steps = 500 - - - - - # ------------------ - # Method to be used: - # ------------------ - - # Order of accuracy: 1 => Godunov, 2 => Lax-Wendroff plus limiters - clawdata.order = 2 - - # Transverse order for 2d or 3d (not used in 1d): - clawdata.order_trans = 2 - - # Number of waves in the Riemann solution: - clawdata.mwaves = 1 - - # List of limiters to use for each wave family: - # Required: len(mthlim) == mwaves - clawdata.mthlim = [3] - - # Source terms splitting: - # src_split == 0 => no source term (src routine never called) - # src_split == 1 => Godunov (1st order) splitting used, - # src_split == 2 => Strang (2nd order) splitting used, not recommended. - clawdata.src_split = 0 - - - # -------------------- - # Boundary conditions: - # -------------------- - - # Number of ghost cells (usually 2) - clawdata.mbc = 2 - - # Choice of BCs at xlower and xupper: - # 0 => user specified (must modify bcN.f to use this option) - # 1 => extrapolation (non-reflecting outflow) - # 2 => periodic (must specify this at both boundaries) - # 3 => solid wall for systems where q(2) is normal velocity - - clawdata.mthbc_xlower = 2 - clawdata.mthbc_xupper = 2 - - clawdata.mthbc_ylower = 2 - clawdata.mthbc_yupper = 2 - - -.. _setrun_amrclaw_sample_parameters: - -AMR parameters section ----------------------- - -:: - - """ - # --------------- - # AMR parameters: - # --------------- - """ - - - # max number of refinement levels: - mxnest = 3 - - clawdata.mxnest = -mxnest # negative ==> anisotropic refinement in x,y,t - - # List of refinement ratios at each level (length at least mxnest+1) - clawdata.inratx = [2,2,2] - clawdata.inraty = [2,2,2] - clawdata.inratt = [2,2,2] - - - # Specify type of each aux variable in clawdata.auxtype. - # This must be a list of length maux, each element of which is one of: - # 'center', 'capacity', 'xleft', or 'yleft' (see documentation). - - clawdata.auxtype = [] - - - clawdata.tol = -1.0 # negative ==> don't use Richardson estimator - clawdata.tolsp = 0.05 # used in default flag2refine subroutine - clawdata.kcheck = 2 # how often to regrid (every kcheck steps) - clawdata.ibuff = 3 # width of buffer zone around flagged points - - # More AMR parameters can be set -- see the defaults in pyclaw/data.py - - return rundata - # end of function setrun - # ---------------------- - - - if __name__ == '__main__': - # Set up run-time parameters and write all data files. - import sys - if len(sys.argv) == 2: - rundata = setrun(sys.argv[1]) - else: - rundata = setrun() - - rundata.write() - diff --git a/doc/users/_sources/setuse.txt b/doc/users/_sources/setuse.txt deleted file mode 100644 index 5f59b5e98..000000000 --- a/doc/users/_sources/setuse.txt +++ /dev/null @@ -1,59 +0,0 @@ - -.. _setuse: - -========== -``setuse`` -========== - - -Signature: - ``subroutine setuse(listbc, maxsp, ispot, mkid, ilo, ihi, - jlo, jhi, iclo, ichi, jclo, jchi, kflag)`` - - -Arguments: - ``integer, intent(in)``: - * ``maxsp``: - * ``mkid``: - * ``ilo``: - * ``ihi``: - * ``jlo``: - * ``jhi``: - * ``iclo``: - * ``ichi``: - * ``jclo``: - * ``jchi``: - * ``kflag``: - - ``integer, intent(inout)``: - * ``listbc(5,maxsp)``: - * ``ispot``: - - - -Description: - set up boundary list for coarse grid, to be used by fluxsv. - loop around boundary of fine grids to do this. each entry has - i, j, side #, fine grid #, loc in fine grid list for fluxes. - for example, side 1 of fine grid fixes side 3 of coarse grid, - so coarse grid list will store the # 3. - wrt coarse grid, the sides are:: - - . 2 - . 1 3 that is, right edge of a coarse cell = 3 - . 4 top edge of a coarse cell = 2 - - lkid is the index into the fine grid's saved fluxes. - the fine grid will save all its fluxes all around its - perimeter. lkid tells where the coarse grid should - taking them from. (no ghost cells in this index, but - it is 1-based for indexing array, not - based for - integer index of grid location). - - changed 11/11/08: spheredom for periodically mapped spherical - grids. could affect top and bottom if fine grid touches - edge of domain in y direction. if calling with spheredom - (and not yperdom) then grid is NOT periodically mapped. - need kflag to indicate spherically mapped now - otherwise - cant tell the difference, dont skip appropropriate loops - \ No newline at end of file diff --git a/doc/users/_sources/stepgrid.txt b/doc/users/_sources/stepgrid.txt deleted file mode 100644 index 1e770d116..000000000 --- a/doc/users/_sources/stepgrid.txt +++ /dev/null @@ -1,42 +0,0 @@ - -.. _stepgrid: - -============= -``stepgrid`` -============= - -Signature: - ``subroutine stepgrid(q, fm, fp, gm, gp, mitot, mjtot, mbc, dt, - dtnew, dx, dy, nvar, xlow, ylow, time, mptr, maux, aux)`` - - -Arguments: - ``integer, intent(in)``: - * ``mbc``: Number of ghost cells. - * ``mitot``: Horizontal dimension of grid ``mptr``, including - ghost cells. - * ``mjtot``: Vertical dimension of grid ``mptr``, including - ghost cells. - * ``nvar``: Number of solution variables. - * ``mptr``: Pointer to grid being stepped. - * ``maux``: Number of aux variables. - ``double precision, intent(in)``: - * ``dt``: Incoming time step. - * ``dx``: Horizontal cell width of grid ``mptr``. - * ``dy``: Vertical cell width of grid ``mptr``. - * ``xlow``: Lower *x*-index of grid, including ghost cells. - * ``ylow``: Lower *y*-index of grid, including ghost cells. - ``double precision, intent(inout)``: - * ``q(mitot,mjtot,nvar)``: Solution values on the grid, to be - overwritten. - * ``aux(mitot,mjtot,maux)``: Aux variable values on the grid. - ``double precision, intent(out)``: - * ``fm(mitot,mjtot,nvar)``: Fluxes left of cell edges. - * ``fp(mitot,mjtot,nvar)``: Fluxes right of cell edges. - * ``gm(mitot,mjtot,nvar)``: Fluxes below cell edges. - * ``gp(mitot,mjtot,nvar)``: Fluxes above cell edges - * ``dtnew``: Suggested new time step for this grid's solution. - - -Description: - Takes a time step on the grid ``mptr``. \ No newline at end of file diff --git a/doc/users/_sources/trimbd.txt b/doc/users/_sources/trimbd.txt deleted file mode 100644 index 58b8bdd90..000000000 --- a/doc/users/_sources/trimbd.txt +++ /dev/null @@ -1,37 +0,0 @@ - -.. _trimbd: - -============ -``trimbd`` -============ - -Signature: - ``subroutine trimbd(used, nrow, ncol, set, il, ir, jb, jt)`` - - -Arguments: - ``integer, intent(in)``: - * ``nrow``: Horizontal dimension of ``used``. - * ``ncol``: Vertical dimension of ``used``. - ``double precision, intent(in)``: - * ``used(nrow,ncol)``: Array of flags indicating whether - solution values have been filled in a patch using ``filrecur``. - Value is ``0.d0`` at unset points, and ``1.d0`` at set points. - ``integer, intent(out)``: - * ``il``: If ``used`` is not completely set, indicates the - lower horizontal index of the smallest rectangle containing - the unset points. - * ``ir``: Like ``il``, but indicates the upper horizontal index. - * ``jb``: Like ``il``, but indicates the lower vertical index. - * ``jt``: Like ``il``, but indicates the upper vertical index. - ``logical, intent(out)``: - * ``set``: Returns ``.true.`` if all elements of the ``used`` - array are set. Returns ``.false.`` otherwise. - - -Description: - If the ``used`` array is completely set (``=1.d0``) then this - routine returns ``set=.true.``. Otherwise it returns - ``set=.false.``, and specifies the smallest rectangle containing - all unset points, which has lower-left corner ``(il,jb)`` and - upper-right corner ``(ir,jt)``. \ No newline at end of file diff --git a/doc/users/_sources/upbnd.txt b/doc/users/_sources/upbnd.txt deleted file mode 100644 index 9ce0c1521..000000000 --- a/doc/users/_sources/upbnd.txt +++ /dev/null @@ -1,34 +0,0 @@ - -.. _upbnd: - -========== -``upbnd`` -========== - -Signature: - ``subroutine upbnd(listbc, val, nvar, mitot, mjtot, maxsp, - iused, mptr)`` - - -Arguments: - ``integer, intent(in)``: - * ``listbc(5,maxsp)``: Coarse boundary lists for the input grid. - * ``nvar``: Number of solution variables. - * ``mitot``: Horizontal dimension of the input grid, including - ghost cells. - * ``mjtot``: Vertical dimension of the input grid, including - ghost cells. - * ``maxsp``: Space needed for each field in the coarse boundary - lists. - * ``mptr``: Pointer to the coarse grid being corrected. - ``integer, intent(out)``: - * ``iused(mitot,mjtot)``: Used to indicate where flux updates - have been performed. - ``double precision, intent(inout)``: - * ``val(mitot,mjtot,nvar)``: Array of solution values on grid - ``mptr``. - - -Description: - Corrects the coarse grid ``mptr`` with the flux differences stored - with each of the fine grids. \ No newline at end of file diff --git a/doc/users/_sources/update.txt b/doc/users/_sources/update.txt deleted file mode 100644 index 8cac226bb..000000000 --- a/doc/users/_sources/update.txt +++ /dev/null @@ -1,20 +0,0 @@ - -.. _update: - -============ -``update`` -============ - -Signature: - ``subroutine update(level, nvar)`` - - -Arguments: - ``integer, intent(in)``: - * ``level``: Level being updated. - * ``nvar``: Number of solution variables. - - -Description: - Updates coarse grids on level ``level`` based on fine grids - at level ``level+1``. \ No newline at end of file diff --git a/doc/users/_sources/valout.txt b/doc/users/_sources/valout.txt deleted file mode 100644 index 83f0297f3..000000000 --- a/doc/users/_sources/valout.txt +++ /dev/null @@ -1,29 +0,0 @@ - -.. _valout: - -=========== -``valout`` -=========== - -Signature: - ``subroutine valout(lst, lend, time, nvar, naux)`` - - -Arguments: - ``integer, intent(in)``: - * ``lst``: Coarsest level for detailed output. - * ``lend``: Finest level for detailed output. - * ``nvar``: Number of solution variables. - * ``naux``: Number of aux variables. - ``double precision, intent(in)``: - * ``time``: Time of output. - - -Description: - Outputs the results for a general system of conservation laws - in 2 dimensions. Writes the results to the file ``fort.q