Scrambler
1
|
Module for performing AMR related info operations. More...
Public Member Functions | |
subroutine, public | ApplyOverlap (Info, Source, n) |
Applies Overlaps to new grids. | |
PairWiseInfoOps Pair-wise Info Operations | |
subroutine, public | ProlongateParentData (Parent, Info) |
Prolongates parents data onto new child grids. | |
subroutine, public | ApplyGenericOverlap (Info, Source, n, fields, nghost, lPeriodic) |
Applies Overlaps to new grids. | |
subroutine, public | ApplySingleOverlap (Info, Source, mS, mT, fields) |
Applies single overlap of cell-centered quantity q. | |
subroutine, public | ApplySingleAuxOverlap (Info, Source, mS, mT, dir) |
Applies single overlap of aux field aux. | |
subroutine, public | ApplySingleCostMapOverlap (Info, Source, mS, mT) |
Applies single overlap of cell-centered quantity q. | |
subroutine, public | ApplyChildData (Info, Child, ChildID, n) |
Applies restricted data from children. | |
subroutine, public | ApplyInitialChildData (Info, Child, n) |
Applies restricted data from children. | |
subroutine, public | SyncFlux (Info, Source) |
Synchronizes Fluxes with neighboring grid. | |
subroutine, public | SyncSingleFlux (Info, Source, mT, mS, dir, edge) |
Synchronizes flux between two grids. | |
subroutine, public | SyncSingleEMF (Info, Source, mT, mS, offset, dir) |
Synchronizes a single component of the emf between grids. | |
subroutine | SyncHydroFlux (Info, Source, mT, mS, dir, edge) |
Synchronizes flux between two grids. | |
subroutine | SyncMaxLevelHydroFlux (Info, Source, mT, mS, dir, edge) |
Synchronizes flux between two grids on the maxlevel. | |
subroutine | SyncEMF (Info, Source, mT, mS, offset, dir) |
Synchronizes a single component of the emf between grids. | |
subroutine | SyncMaxLevelEMF (Info, Source, mT, mS, dir) |
Synchronizes a single component of the emf between two maxlevel grids. | |
SingleInfoOps Single Info Operations | |
subroutine, public | ProlongationFixup (Info) |
Solves for inner prolongated aux-fields in a divergence free way. | |
subroutine, public | CoarsenDataForParent (Info, n) |
Coarsens data for Parent. | |
subroutine, public | CoarsenInitialDataForParent (Info, n) |
Coarsens initial data for Parent. | |
subroutine | CoarsenCostMapForParent (Info) |
Coarsens costmap for parent. | |
subroutine | CoarsenQForParent (Info) |
Coarsens cell centered q variable for parent. | |
subroutine | CoarsenFluxesForParent (Info) |
Coarsens fixupfluxes for parent. | |
subroutine | CoarsenAuxForParent (Info) |
Coarsens aux fields for parent. | |
subroutine, public | AccumulateFlux (Info) |
Accumulates fixupfluxes and emf's for parent. | |
subroutine, public | RestrictionFixup (Info) |
Applies corrections form children emf's. | |
subroutine, public | UpdateTimeDeriv (Info) |
Updates time derivatives. | |
subroutine, public | ClearFixupFlux (Info) |
subroutine, public | ClearParentFixup (Info) |
subroutine, public | ClearChildFixup (Info) |
subroutine, public | ChildMaskOverlap (Info, neighbormGlobal) |
This routine sets ChildMask in the ghost zones to 0 where neighbors exist. | |
subroutine, public | UpdateChildMask (Info, neighborchildmGlobal) |
This routine sets ChildMask to NEIGHBORCHILD in the ghost zones where neighbor children exist. | |
subroutine, public | UpdateSelfChildMask (Info, childmGlobal) |
This routine sets ChildMask in the ghost zones to NEIGHBORCHILD where periodioc copies of children exist. | |
subroutine, public | UpdateAux (Info, mB) |
recursive subroutine | GetSplitSolution (Info, n, mB, nGrids, TotalCost, solution) |
subroutine | FindBestSplit_i (Info, mB, mB1new, mB2new, HaveSplit) |
subroutine | SplitShrink (Info, mB, splitdir, splitindx, mB1new, mB2new) |
subroutine | FindBestSplit (Info, mB, mB1new, mB2new, HaveSplit) |
subroutine, public | NewSubGrids (Info, nSubGrids, child_box_array) |
This routine choose either OldNewSubGrids which corresponding to the Old grid generating Algo, and NewNewSubGrids which corresponding to the New grid-generating Algo. | |
subroutine | OldNewSubGrids (Info, nSubGrids, child_box_array) |
Old grid-generating algo This routine creates an array of desired refinement regions based on the errflag array. | |
subroutine | NewNewSubGrids (Info, nSubGrids, child_box_array) |
New grid-generating Algo This routine creates an array of desired refinement regions based on the errflag array. | |
subroutine | CalcSignatures (Info, mSubBounds, maxm, Signature) |
REAL function | GridFlagRatio (Info, mBounds) |
REAL(KIND=qPREC) function, public | GetMyCosts (Info, step) |
REAL function, public | GetChildCosts (mB, level) |
REAL function, public | GetSubTreeCost (info, mB) |
This routine calculates the subtree cost associated with a refinement region. |
Module for performing AMR related info operations.
Definition at line 33 of file data_info_ops.f90.
subroutine, public ProlongateParentData | ( | TYPE(InfoDef) | Parent, |
TYPE(InfoDef) | Info | ||
) |
Prolongates parents data onto new child grids.
Parent | - Parent info structure |
Info | - Child info structure |
Definition at line 64 of file data_info_ops.f90.
subroutine, public ApplyOverlap | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER | n | ||
) |
Applies Overlaps to new grids.
Info | - New info structure |
Source | - Old info structure |
n | - level |
Definition at line 284 of file data_info_ops.f90.
subroutine, public ApplyGenericOverlap | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER | n, | ||
INTEGER, dimension(:) | fields, | ||
INTEGER | nghost, | ||
LOGICAL, dimension(3) | lPeriodic | ||
) |
Applies Overlaps to new grids.
Info | New info structure |
Source | Old info structure |
n | level |
fields | Indices of infoq to ghost |
nghost | Number of ghost zones to transfer |
Definition at line 378 of file data_info_ops.f90.
subroutine, public ApplySingleOverlap | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(:) | fields | ||
) |
Applies single overlap of cell-centered quantity q.
Info | target info structure |
Source | source info structure |
mS | indices of overlap region in source grid |
mT | indices of overlap region in target grid |
fields | Indices of infoq to ghost |
Definition at line 406 of file data_info_ops.f90.
subroutine, public ApplySingleAuxOverlap | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER | dir | ||
) |
Applies single overlap of aux field aux.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
dir | - Component of aux field to copy |
Definition at line 421 of file data_info_ops.f90.
subroutine, public ApplySingleCostMapOverlap | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER, dimension(3,2) | mT | ||
) |
Applies single overlap of cell-centered quantity q.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
Definition at line 434 of file data_info_ops.f90.
subroutine, public ApplyChildData | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Child, | ||
INTEGER | ChildID, | ||
INTEGER | n | ||
) |
Applies restricted data from children.
Info | - target info structure |
Child | - source child info structure |
ChildID | - ID of the child (stored in ChildMask) |
n | - level |
Definition at line 450 of file data_info_ops.f90.
subroutine, public ApplyInitialChildData | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Child, | ||
INTEGER | n | ||
) |
Applies restricted data from children.
Info | - target info structure |
Child | - source child info structure |
n | - level |
Definition at line 521 of file data_info_ops.f90.
subroutine, public SyncFlux | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source | ||
) |
Synchronizes Fluxes with neighboring grid.
Info | - New info structure |
Source | - neighboring info structure |
Definition at line 551 of file data_info_ops.f90.
subroutine, public SyncSingleFlux | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER | dir, | ||
INTEGER | edge | ||
) |
Synchronizes flux between two grids.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
dir | - Normal dimension to neighboring grid |
edge | - Which side of info does source lie on? |
Definition at line 619 of file data_info_ops.f90.
subroutine, public SyncSingleEMF | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER, dimension(3) | offset, | ||
INTEGER | dir | ||
) |
Synchronizes a single component of the emf between grids.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
offset | - The periodic offset of the source grid (needed to determine whether or not the source grid has refined emf's) |
dir | - Normal dimension to neighboring grid |
Definition at line 638 of file data_info_ops.f90.
subroutine SyncHydroFlux | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER | dir, | ||
INTEGER | edge | ||
) |
Synchronizes flux between two grids.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
dir | - Normal dimension to neighboring grid |
edge | - Which side of info does source lie on? |
Definition at line 657 of file data_info_ops.f90.
subroutine SyncMaxLevelHydroFlux | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER | dir, | ||
INTEGER | edge | ||
) |
Synchronizes flux between two grids on the maxlevel.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
dir | - Normal dimension to neighboring grid |
edge | - Which side of info does source lie on? |
Definition at line 793 of file data_info_ops.f90.
subroutine SyncEMF | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER, dimension(3) | offset, | ||
INTEGER | dir | ||
) |
Synchronizes a single component of the emf between grids.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid |
offset | - The periodic offset of the source grid (needed to determine whether or not the source grid has refined emf's) |
dir | - Normal dimension to neighboring grid |
Definition at line 910 of file data_info_ops.f90.
subroutine SyncMaxLevelEMF | ( | TYPE(InfoDef) | Info, |
TYPE(InfoDef) | Source, | ||
INTEGER, dimension(3,2) | mT, | ||
INTEGER, dimension(3,2) | mS, | ||
INTEGER | dir | ||
) |
Synchronizes a single component of the emf between two maxlevel grids.
Info | - target info structure |
Source | - source info structure |
mS | - indices of overlap region in source grid |
mT | - indices of overlap region in target grid (needed to determine whether or not the source grid has refined emf's) |
dir | - Normal dimension to neighboring grid |
Definition at line 1323 of file data_info_ops.f90.
subroutine, public ProlongationFixup | ( | TYPE(InfoDef) | Info | ) |
Solves for inner prolongated aux-fields in a divergence free way.
Info | - prolongated info structure |
Definition at line 1489 of file data_info_ops.f90.
subroutine, public CoarsenDataForParent | ( | TYPE(InfoDef) | Info, |
INTEGER | n | ||
) |
Coarsens data for Parent.
Info | - Info structure |
n | - Level |
Definition at line 1621 of file data_info_ops.f90.
subroutine, public CoarsenInitialDataForParent | ( | TYPE(InfoDef) | Info, |
INTEGER | n | ||
) |
Coarsens initial data for Parent.
Info | - Info structure |
n | - Level |
Definition at line 1634 of file data_info_ops.f90.
subroutine CoarsenCostMapForParent | ( | TYPE(InfoDef) | Info | ) |
Coarsens costmap for parent.
Info | - Info structure |
Definition at line 1646 of file data_info_ops.f90.
subroutine CoarsenQForParent | ( | TYPE(InfoDef) | Info | ) |
Coarsens cell centered q variable for parent.
Info | - Info structure |
Definition at line 1699 of file data_info_ops.f90.
subroutine CoarsenFluxesForParent | ( | TYPE(InfoDef) | Info | ) |
Coarsens fixupfluxes for parent.
Info | - Info structure |
Definition at line 1728 of file data_info_ops.f90.
subroutine CoarsenAuxForParent | ( | TYPE(InfoDef) | Info | ) |
Coarsens aux fields for parent.
Info | - Info structure |
Definition at line 1763 of file data_info_ops.f90.
subroutine, public AccumulateFlux | ( | TYPE(InfoDef) | Info | ) |
Accumulates fixupfluxes and emf's for parent.
Info | - Info structure |
Definition at line 1803 of file data_info_ops.f90.
subroutine, public RestrictionFixup | ( | TYPE(InfoDef) | Info | ) |
Applies corrections form children emf's.
Info | - Info structure |
Definition at line 1863 of file data_info_ops.f90.
subroutine, public UpdateTimeDeriv | ( | TYPE(InfoDef) | Info | ) |
Updates time derivatives.
Info | - Info structure |
Definition at line 1982 of file data_info_ops.f90.
subroutine, public ClearFixupFlux | ( | TYPE(InfoDef) | Info | ) |
Definition at line 1995 of file data_info_ops.f90.
subroutine, public ClearParentFixup | ( | TYPE(InfoDef) | Info | ) |
Definition at line 2006 of file data_info_ops.f90.
subroutine, public ClearChildFixup | ( | TYPE(InfoDef) | Info | ) |
Definition at line 2015 of file data_info_ops.f90.
subroutine, public ChildMaskOverlap | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | neighbormGlobal | ||
) |
This routine sets ChildMask in the ghost zones to 0 where neighbors exist.
Definition at line 2034 of file data_info_ops.f90.
subroutine, public UpdateChildMask | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | neighborchildmGlobal | ||
) |
This routine sets ChildMask to NEIGHBORCHILD in the ghost zones where neighbor children exist.
Definition at line 2061 of file data_info_ops.f90.
subroutine, public UpdateSelfChildMask | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | childmGlobal | ||
) |
This routine sets ChildMask in the ghost zones to NEIGHBORCHILD where periodioc copies of children exist.
Definition at line 2091 of file data_info_ops.f90.
subroutine, public UpdateAux | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | mB | ||
) |
Definition at line 2119 of file data_info_ops.f90.
recursive subroutine GetSplitSolution | ( | TYPE(InfoDef) | Info, |
INTEGER | n, | ||
INTEGER, dimension(3,2) | mB, | ||
INTEGER | nGrids, | ||
REAL(KIND=qPREC) | TotalCost, | ||
INTEGER, dimension(:,:,:), pointer | solution | ||
) |
Definition at line 2133 of file data_info_ops.f90.
subroutine FindBestSplit_i | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | mB, | ||
INTEGER, dimension(3,2) | mB1new, | ||
INTEGER, dimension(3,2) | mB2new, | ||
LOGICAL | HaveSplit | ||
) |
Definition at line 2179 of file data_info_ops.f90.
subroutine SplitShrink | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | mB, | ||
INTEGER | splitdir, | ||
INTEGER | splitindx, | ||
INTEGER, dimension(3,2) | mB1new, | ||
INTEGER, dimension(3,2) | mB2new | ||
) |
Definition at line 2272 of file data_info_ops.f90.
subroutine FindBestSplit | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | mB, | ||
INTEGER, dimension(3,2) | mB1new, | ||
INTEGER, dimension(3,2) | mB2new, | ||
LOGICAL | HaveSplit | ||
) |
Definition at line 2307 of file data_info_ops.f90.
subroutine, public NewSubGrids | ( | Type(InfoDef), pointer | Info, |
INTEGER | nSubGrids, | ||
INTEGER, dimension(:,:,:), pointer | child_box_array | ||
) |
This routine choose either OldNewSubGrids which corresponding to the Old grid generating Algo, and NewNewSubGrids which corresponding to the New grid-generating Algo.
Definition at line 2355 of file data_info_ops.f90.
subroutine OldNewSubGrids | ( | TYPE (InfoDef), pointer | Info, |
INTEGER | nSubGrids, | ||
INTEGER, dimension(:,:,:), pointer | child_box_array | ||
) |
Old grid-generating algo This routine creates an array of desired refinement regions based on the errflag array.
Info | Info structure |
nSubGrids | Number of created regions |
child_box_array | Array containing created regions |
Definition at line 2372 of file data_info_ops.f90.
subroutine NewNewSubGrids | ( | TYPE (InfoDef), pointer | Info, |
INTEGER | nSubGrids, | ||
INTEGER, dimension(:,:,:), pointer | child_box_array | ||
) |
New grid-generating Algo This routine creates an array of desired refinement regions based on the errflag array.
Info | Info structure |
nSubGrids | Number of created regions |
child_box_array | Array containing created regions |
Definition at line 2563 of file data_info_ops.f90.
subroutine CalcSignatures | ( | TYPE (InfoDef) | Info, |
INTEGER, dimension(max_dims,2) | mSubBounds, | ||
INTEGER | maxm, | ||
INTEGER, dimension(maxm,ndim) | Signature | ||
) |
Definition at line 2619 of file data_info_ops.f90.
REAL function GridFlagRatio | ( | TYPE (InfoDef) | Info, |
INTEGER, dimension(max_dims,2) | mBounds | ||
) |
Definition at line 2640 of file data_info_ops.f90.
REAL(KIND=qPREC) function, public GetMyCosts | ( | TYPE(InfoDef) | Info, |
INTEGER | step | ||
) |
Definition at line 2657 of file data_info_ops.f90.
REAL function, public GetChildCosts | ( | INTEGER, dimension(3,2) | mB, |
INTEGER | level | ||
) |
Definition at line 2672 of file data_info_ops.f90.
REAL function, public GetSubTreeCost | ( | TYPE(InfoDef), pointer | info, |
INTEGER, dimension(3,2) | mB | ||
) |
This routine calculates the subtree cost associated with a refinement region.
info | Info structure |
mB | Bounds of child in parent indexing space |
n | level of parent |
Definition at line 2691 of file data_info_ops.f90.