Changes between Version 3 and Version 4 of AstroBearAmr


Ignore:
Timestamp:
05/19/11 12:26:47 (14 years ago)
Author:
Brandon Shroyer
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • AstroBearAmr

    v3 v4  
    6262 * '''{{{SetErrFlags(n)}}}''' -- Determine which regions to refine.  Refinement regions are determined by the physical processes involved, as well as specific conditions imposed by the problem modules.
    6363 * '''{{{BackupNodes(n+1)}}}''' -- Caches the nodes on the child level (n+1).  We are about to create the new level {{{n+1}}} nodes, and the data referenced by the backed-up nodes will be used when {{{ApplyOverlaps(n+1)}}} is called (see above).
    64  * '''{{{CreateChildrens(n)}}}'''-- A favorite of hillbillies everywhere, this routine creates child nodes on level {{{n+1}}} using the refinement flags set on level {{{n}}}.
     64 * '''{{{CreateChildrens(n)}}}'''-- This routine creates child nodes on level {{{n+1}}} using the refinement flags set on level {{{n}}}.  The use of "Childrens" here is not a typo; {{{CreateChildrens()}}} is so named because it applies the {{{CreateChildren(Info)}}} subroutine to each grid on level {{{n}}}.
    6565 * '''{{{InheritOldNodeOverlapsChildren(n)}}}''' -- Nested grids mean that spatial relationships (overlaps and neighbors) are inherited from parent grids.  This routine passes information about the previous generation of {{{n+1}}} grids to the new grids created by {{{CreateChildrens(n)}}}.  This routine is ''only'' executed on step 1 of the {{{AMR()}}} execution loop.
    6666 * '''{{{InheritNewNodeOverlapsChildren(n)}}}''' -- The children of previous level {{{n}}} grids will also need to send their data to the children of new level {{{n}}} grids.
    67  * '''{{{InheritNeighborsChildren(n)}}}''' -- The children of neighboring grids on level {{{n}}} will very likely be neighbors.  This routine passes neighbor information from level {{{n}}} to level {{{n+1}}}.
    68  * !AdvanceGrids - Performs hyperbolic advance of data structures
    69  * AMR(n+1) - Launches AMR routine on the child level
    70  * !ApplyChildrenData - Inverse of !ProlongateParentData - Applies restricted data from child grids to improve solution on coarser parent grids.
    71  * !SyncFluxes - To enforce mass conservation and DivB constraint - common fluxes used at grid boundaries need to be synchronized.
    72  * !AccumulateFluxes - We need to accumulate the used fluxes to send back to our parent grids.
     67 * '''{{{InheritNeighborsChildren(n)}}}''' -- The children of neighboring grids on level {{{n}}} will likely be neighbors on level {{{n+1}}}.  This routine passes neighbor information from level {{{n}}} to level {{{n+1}}}.
     68 * '''{{{AdvanceGrids(n)}}}''' -- Performs the hyperbolic advance step on the grids of level {{{n}}}.  This is where our numerical solvers come in.
     69 * '''{{{AMR(n+1)}}}''' -- Launches AMR routine on the child level
     70 * '''{{{ApplyChildrenData(n)}}}''' -- The inverse of {{{ProlongateParentData()}}}, this routine restricts data from the child grids onto their parent grids, providing a more accurate solution on the coarser level.
     71 * '''{{{SyncFluxes(n)}}}''' -- To enforce mass conservation and the DivB constraint, the fluxes at grid boundaries need to be synchronized.
     72 * '''{{{AccumulateFluxes(n)}}}''' - Accumulates the fluxes used on level {{{n}}} to send back to the parent grids on level {{{n-1}}}.
    7373
    7474* Step 2