140 | | * !ParticleUpdate - If there are sink particles then we update the particles here |
141 | | * Elliptic - If there are elliptic equations to solve we solve them here |
142 | | * !PrintAdvance - Just prints the 'Advancing level n ...' line to standard out |
143 | | * !ProlongationFixups - It is better to complete the prolongation of the aux fields after receiving overlaps. This guarantees child grids have divergence free fields consistent with both their neighbors and their parents. |
144 | | * !ChildMaskOverlaps - This sets !ChildMask to 0 for ghost cells that are refined by neighbors |
145 | | * !UpdateChildMask - This sets !ChildMask to 1 for cells that are refined by children and sets ChildMask to NEIGHBOR_CHILD for cells that are refined by neighbor children |
146 | | * !RestrictionFixups - This updates cell centered representations of aux fields after receiving restricted data from children |
147 | | * !AfterFixups - This allows for user defined routines to be applied after a grid has been fully updated. |
148 | | |
149 | | |
150 | | = Dealing with !MaxLevel = |
| 140 | * '''{{{ParticleUpdate(n)}}}''' -- If there are sink particles then we update the particles here. |
| 141 | * '''{{{Elliptic(n)}}}''' -- If elliptic equations are being used, then the elliptic step is performed here. |
| 142 | * '''{{{PrintAdvance(n)}}}''' -- Just prints the 'Advancing level n ...' line to the standard output ({{{stdout}}}). This routine has two collective communications in it, so it can be a bottleneck on a cluster with slow network connections between its nodes. |
| 143 | * '''{{{ProlongationFixups(n)}}}''' -- It is better to complete the prolongation of the aux fields after receiving overlaps. This guarantees that child grids have divergence-free fields consistent with both their neighbors and their parents. |
| 144 | * '''{{{ChildMaskOverlaps(n)}}}''' -- This sets the {{{ChildMask}}} array values to 0 for ghost cells that are refined by neighbors. |
| 145 | * '''{{{UpdateChildMask (n)}}}'''-- This sets the {{{ChildMask}}} array values to 1 in grid cells that are refined by the grid's own children. This also sets {{{ChildMask}}} to {{{NEIGHBOR_CHILD}}} in grid cells that are refined by a neighbor's children. |
| 146 | * '''{{{RestrictionFixups(n)}}}''' -- This updates cell-centered representations of {{{aux}}} fields after receiving restricted data from children. |
| 147 | * '''{{{AfterFixups(n)}}}''' -- This allows for user-defined routines to be applied after a grid has been fully updated. This is not to be confused with the {{{AfterStep()}}} routine, which is executed after the hyperbolic step is completed. |
| 148 | |
| 149 | [[BR]] |
| 150 | == Dealing with !MaxLevel == |