Scrambler
1
|
Module defining data info structure and basic operations. More...
Data Types | |
type | InfoDef |
Info data type declaration. More... | |
Public Member Functions | |
subroutine, public | ProlongateCellCenteredData (pdata, cdata, r, nGhost, method) |
INTEGER function, dimension(3, 2), public | expand (mB, nGhost) |
Info creation routines | |
subroutine, public | InitInfo (Info, level, mGlobal, ParentmGlobal) |
This routine allocates info array structures. | |
subroutine, public | InitialInitInfo (Info, level, mGlobal, ParentmGlobal) |
This routine allocates initial info array structures. | |
subroutine, public | storefixupfluxes (Info, mS, dim, f, fields) |
Routine for storing applied x-fluxes to be coarsened and synchronized with other patches. | |
subroutine, public | StoreEmfs (Info, mS, dim, emf) |
Stores emfs. | |
subroutine, public | BackupInfo (original, info, lRestore) |
Routine that duplicates the necessary parts of info to restart. | |
subroutine, public | AllocChildFixups (Info, childgrids) |
Allocates storage for fixupfluxes to be differenced with children fixupfluxes. | |
Info destruction routines | |
subroutine, public | NullifyInfoFields (Info) |
This routine nullifies all info fields. | |
subroutine, public | DestroyInfo (Info) |
This routine destroys info structures allocated by initinfo. | |
subroutine, public | DeallocChildFixups (Info) |
This routine deallocates info structures associated with children. | |
OverlapCalculationRoutines Info Overlap Calculation Routines | |
subroutine, public | CalcOverlaps (InfomGlobal, SourcemGlobal, mTs, mSs, nOverlaps, level, lPeriodic, nghost) |
Calculates number and bounds of overlaps for cell centered quantities between two grids given their locations. | |
subroutine, public | CalcAuxOverlaps (InfomGlobal, SourcemGlobal, mTs, mSs, nOverlaps, level, dir, lPeriodic, nghost) |
Calculates number and bounds of overlaps for face centered quantities between two grids given their locations. | |
subroutine, public | CalcEMFOverlaps (InfomGlobal, SourcemGlobal, mTs, mSs, nOverlaps, offsets, level, dir, lPeriodic) |
Calculates number and bounds of overlaps for edge centered quantities between two grids given their locations. | |
subroutine, public | CalcFluxOverlaps (InfomGlobal, SourcemGlobal, mTs, mSs, edges, nOverlaps, level, dir, lPeriodic) |
Calculates number and bounds of overlaps for face centered quantities between two grids given their locations. | |
subroutine, public | CalcPhysicalOverlaps (Info, PhysicalRegion, mSs, nOverlaps, offsets, location, lPeriodic, rmbcOpt) |
Calculates overlap regions between a physical box and an info structure. | |
subroutine, public | CalcCellOverlaps (Info, PhysicalRegion, mSs, nOverlaps, offsets, location, lPeriodic, rmbcOpt) |
Calculates overlap regions between a indexed box and an info structure. | |
Geometric functions for grids | |
LOGICAL function, public | BoxOverlap (mGlobal1, mGlobal2) |
Logical function that determines whether two boxes overlap. | |
LOGICAL function, public | GhostOverlap (Info, dim, edge, ip) |
Logical function that determines whether an info structure's ghost region is in a domain ghost region. | |
INTEGER function, dimension(3, 2), public | LevelUp (mGlobal, level, levelnew_opt) |
This function returns the bounds of a box in the next higher amr level. | |
INTEGER function, dimension(3, 2), public | LevelDown (mGlobal, level, levelnew_opt) |
This function returns the bounds of a box in the next higher amr level. | |
INTEGER function, public | MapToLevel (index, a, b) |
INTEGER function, dimension(3, 2), public | GetMBounds (mGlobal, ParentmGlobal, level) |
This function returns the bounds of child within a parent. | |
INTEGER function, dimension(3, 2), public | stretch (mB, dist) |
This function stretches bounds in each direction by dist. | |
INTEGER function, dimension(3, 2), public | stretchaux (mB, dist) |
This function stretches the bounds of aux fields in each direction by dist. | |
INTEGER function, public | MapBoxToInfo (xB, Info, nghost) |
INTEGER function, public | MapBoxToLevel (xB, level, nghost) |
REAL(KIND=qPREC) function, dimension(3), public | CellPos (Info, i, j, k) |
INTEGER function, dimension(3), public | PosCell (Info, x, y, z) |
INTEGER function, dimension(3, 2) | GetParentmGlobal (mGlobal, mBounds, level) |
This function returns the bounds of child within a parent. |
Module defining data info structure and basic operations.
Definition at line 40 of file data_declarations.f90.
subroutine, public InitInfo | ( | TYPE(InfoDef), pointer | Info, |
INTEGER | level, | ||
INTEGER, dimension(3,2) | mGlobal, | ||
INTEGER, dimension(3,2), optional | ParentmGlobal | ||
) |
This routine allocates info array structures.
Basically every pointer except childfixups gets allocated Childfixups should be allocated when children are created and deallocated when children are destroyed. This routine expects Infolevel, InfoChild_ID, InfomGlobal, InfomBounds, & Infomthbc to be already set.
Definition at line 110 of file data_declarations.f90.
subroutine, public InitialInitInfo | ( | TYPE(InfoDef), pointer | Info, |
INTEGER | level, | ||
INTEGER, dimension(3,2) | mGlobal, | ||
INTEGER, dimension(3,2), optional | ParentmGlobal | ||
) |
This routine allocates initial info array structures.
Basically every pointer except childfixups gets allocated
Definition at line 235 of file data_declarations.f90.
subroutine, public storefixupfluxes | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | mS, | ||
INTEGER | dim, | ||
REAL(KIND=qPREC), dimension(:,:,:,:) | f, | ||
INTEGER, dimension(:), optional | fields | ||
) |
Routine for storing applied x-fluxes to be coarsened and synchronized with other patches.
info | info structure |
ms | index range |
f | array of fluxes |
Definition at line 273 of file data_declarations.f90.
subroutine, public StoreEmfs | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | mS, | ||
INTEGER | dim, | ||
REAL(KIND=qPREC), dimension(:,:,:) | emf | ||
) |
Stores emfs.
Info | info structure |
mS | indices of emf in info |
dim | direction of emf component |
emf | array of emf's |
Definition at line 388 of file data_declarations.f90.
subroutine, public BackupInfo | ( | TYPE(InfoDef), pointer | original, |
TYPE(InfoDef), pointer | info, | ||
LOGICAL | lRestore | ||
) |
Routine that duplicates the necessary parts of info to restart.
original | original info |
info | backup info |
Definition at line 409 of file data_declarations.f90.
subroutine, public AllocChildFixups | ( | TYPE(InfoDef), pointer | Info, |
INTEGER, dimension(:,:,:), pointer | childgrids | ||
) |
Allocates storage for fixupfluxes to be differenced with children fixupfluxes.
Definition at line 482 of file data_declarations.f90.
subroutine, public NullifyInfoFields | ( | TYPE(InfoDef) | Info | ) |
This routine nullifies all info fields.
Info | Info structure |
Definition at line 515 of file data_declarations.f90.
subroutine, public DestroyInfo | ( | TYPE(InfoDef), pointer | Info | ) |
This routine destroys info structures allocated by initinfo.
Info | Info structure |
Basically every pointer except childfixups gets deallocated Childfixups should be allocated when children are created and deallocated when children are destroyed.
Definition at line 531 of file data_declarations.f90.
subroutine, public DeallocChildFixups | ( | TYPE(InfoDef), pointer | Info | ) |
This routine deallocates info structures associated with children.
Info | Info structure |
Definition at line 640 of file data_declarations.f90.
subroutine, public CalcOverlaps | ( | INTEGER, dimension(3,2) | InfomGlobal, |
INTEGER, dimension(3,2) | SourcemGlobal, | ||
INTEGER, dimension(:,:,:), pointer | mTs, | ||
INTEGER, dimension(:,:,:), pointer | mSs, | ||
INTEGER | nOverlaps, | ||
INTEGER | level, | ||
LOGICAL, dimension(:) | lPeriodic, | ||
INTEGER, optional | nghost | ||
) |
Calculates number and bounds of overlaps for cell centered quantities between two grids given their locations.
InfomGlobal | - InfomGlobal |
SourcemGlobal | - SourcemGlobal |
mTs | - collection of info indices |
mSs | - collection of source indices |
nOverlaps | - number of ways grids overlap |
level | - level |
nghost | - number of ghost zones to add to consider when calculating overlaps |
Definition at line 670 of file data_declarations.f90.
subroutine, public CalcAuxOverlaps | ( | INTEGER, dimension(3,2) | InfomGlobal, |
INTEGER, dimension(3,2) | SourcemGlobal, | ||
INTEGER, dimension(:,:,:), pointer | mTs, | ||
INTEGER, dimension(:,:,:), pointer | mSs, | ||
INTEGER | nOverlaps, | ||
INTEGER | level, | ||
INTEGER | dir, | ||
LOGICAL, dimension(:) | lPeriodic, | ||
INTEGER, optional | nghost | ||
) |
Calculates number and bounds of overlaps for face centered quantities between two grids given their locations.
InfomGlobal | - InfomGlobal |
SourcemGlobal | - SourcemGlobal |
mTs | - collection of info indices |
mSs | - collection of source indices |
nOverlaps | - number of ways grids overlap |
level | - level |
dir | - Which face to consider |
nghost | - number of ghost zones to add to consider when calculating overlaps |
Definition at line 731 of file data_declarations.f90.
subroutine, public CalcEMFOverlaps | ( | INTEGER, dimension(3,2) | InfomGlobal, |
INTEGER, dimension(3,2) | SourcemGlobal, | ||
INTEGER, dimension(:,:,:), pointer | mTs, | ||
INTEGER, dimension(:,:,:), pointer | mSs, | ||
INTEGER | nOverlaps, | ||
INTEGER, dimension(:,:), pointer | offsets, | ||
INTEGER | level, | ||
INTEGER | dir, | ||
LOGICAL, dimension(:) | lPeriodic | ||
) |
Calculates number and bounds of overlaps for edge centered quantities between two grids given their locations.
InfomGlobal | InfomGlobal |
SourcemGlobal | SourcemGlobal |
mTs | collection of info indices |
mSs | collection of source indices |
nOverlaps | number of ways grids overlap |
offsets | periodic offset of source grid |
level | level |
dir | direction of edge to consider |
Definition at line 794 of file data_declarations.f90.
subroutine, public CalcFluxOverlaps | ( | INTEGER, dimension(3,2) | InfomGlobal, |
INTEGER, dimension(3,2) | SourcemGlobal, | ||
INTEGER, dimension(:,:,:), pointer | mTs, | ||
INTEGER, dimension(:,:,:), pointer | mSs, | ||
INTEGER, dimension(:), pointer | edges, | ||
INTEGER | nOverlaps, | ||
INTEGER | level, | ||
INTEGER | dir, | ||
LOGICAL, dimension(:) | lPeriodic | ||
) |
Calculates number and bounds of overlaps for face centered quantities between two grids given their locations.
InfomGlobal | - InfomGlobal |
SourcemGlobal | - SourcemGlobal |
mTs | - collection of info indices |
mSs | - collection of source indices |
edges | collection of edges |
nOverlaps | - number of ways grids overlap |
level | - level |
dir | - normal direction to face quantity |
Definition at line 855 of file data_declarations.f90.
subroutine, public CalcPhysicalOverlaps | ( | TYPE(InfoDef) | Info, |
REAL(KIND=qPREC), dimension(3,2) | PhysicalRegion, | ||
INTEGER, dimension(:,:,:), pointer | mSs, | ||
INTEGER | nOverlaps, | ||
REAL(KIND=qPREC), dimension(:,:), pointer | offsets, | ||
INTEGER | location, | ||
LOGICAL, dimension(:) | lPeriodic, | ||
INTEGER, optional | rmbcOpt | ||
) |
Calculates overlap regions between a physical box and an info structure.
Info | Info object |
PhysicalRegion | Physical bounds of a box |
mSs | bounds of overlap regions relative to Info |
nOverlaps | number of overlap regions |
offsets | Physical offsets of info region to use with each overlap |
Definition at line 926 of file data_declarations.f90.
subroutine, public CalcCellOverlaps | ( | TYPE(InfoDef) | Info, |
INTEGER, dimension(3,2) | PhysicalRegion, | ||
INTEGER, dimension(:,:,:), pointer | mSs, | ||
INTEGER | nOverlaps, | ||
INTEGER, dimension(:,:), pointer | offsets, | ||
INTEGER | location, | ||
LOGICAL, dimension(:) | lPeriodic, | ||
INTEGER, optional | rmbcOpt | ||
) |
Calculates overlap regions between a indexed box and an info structure.
Info | Info object |
PhysicalRegion | Physical bounds of a box (in its levels index space) |
mSs | bounds of overlap regions relative to Info |
nOverlaps | number of overlap regions |
offsets | Physical offsets of info region to use with each overlap |
Definition at line 1010 of file data_declarations.f90.
LOGICAL function, public BoxOverlap | ( | INTEGER, dimension(3,2) | mGlobal1, |
INTEGER, dimension(3,2) | mGlobal2 | ||
) |
Logical function that determines whether two boxes overlap.
mGlobal1 | bounds of box 1 |
mGlobal2 | bounds of box 2 |
Definition at line 1088 of file data_declarations.f90.
LOGICAL function, public GhostOverlap | ( | TYPE(InfoDef) | Info, |
INTEGER | dim, | ||
INTEGER | edge, | ||
INTEGER, dimension(3,2) | ip | ||
) |
Logical function that determines whether an info structure's ghost region is in a domain ghost region.
Info | Info structure |
dim | Dimension to check for |
edge | Edge to check (1=left, 2=right) |
ip | indices of cells that are in the domain ghost region. |
Definition at line 1099 of file data_declarations.f90.
INTEGER function, dimension(3,2), public LevelUp | ( | INTEGER, dimension(3,2) | mGlobal, |
INTEGER | level, | ||
INTEGER, optional | levelnew_opt | ||
) |
This function returns the bounds of a box in the next higher amr level.
mGlobal | bounds of box |
level | current level of box |
Definition at line 1131 of file data_declarations.f90.
INTEGER function, dimension(3,2), public LevelDown | ( | INTEGER, dimension(3,2) | mGlobal, |
INTEGER | level, | ||
INTEGER, optional | levelnew_opt | ||
) |
This function returns the bounds of a box in the next higher amr level.
mGlobal | bounds of box |
level | current level of box |
Definition at line 1150 of file data_declarations.f90.
INTEGER function, public MapToLevel | ( | INTEGER | index, |
INTEGER | a, | ||
INTEGER | b | ||
) |
Definition at line 1167 of file data_declarations.f90.
INTEGER function, dimension(3,2), public GetMBounds | ( | INTEGER, dimension(3,2) | mGlobal, |
INTEGER, dimension(3,2) | ParentmGlobal, | ||
INTEGER | level | ||
) |
This function returns the bounds of child within a parent.
mGlobal | bounds of child box |
ParentmGlobal | bounds of parent box |
level | level of parent box |
Definition at line 1187 of file data_declarations.f90.
INTEGER function, dimension(3,2) GetParentmGlobal | ( | INTEGER, dimension(3,2) | mGlobal, |
INTEGER, dimension(3,2) | mBounds, | ||
INTEGER | level | ||
) | [private] |
This function returns the bounds of child within a parent.
mGlobal | bounds of child box |
ParentmGlobal | bounds of parent box |
level | level of parent box |
Definition at line 1198 of file data_declarations.f90.
INTEGER function, dimension(3,2), public stretch | ( | INTEGER, dimension(3,2) | mB, |
INTEGER | dist | ||
) |
This function stretches bounds in each direction by dist.
mB | bounds of box |
dist | distance to stretch |
Definition at line 1208 of file data_declarations.f90.
INTEGER function, dimension(3,2), public stretchaux | ( | INTEGER, dimension(3,2) | mB, |
INTEGER | dist | ||
) |
This function stretches the bounds of aux fields in each direction by dist.
mB | bounds of aux fields |
dist | distance to stretch |
Definition at line 1220 of file data_declarations.f90.
INTEGER function, public MapBoxToInfo | ( | REAL(KIND=qPREC), dimension(3,2) | xB, |
TYPE(InfoDef) | Info, | ||
INTEGER | nghost | ||
) |
Definition at line 1230 of file data_declarations.f90.
INTEGER function, public MapBoxToLevel | ( | REAL(KIND=qPREC), dimension(3,2) | xB, |
INTEGER | level, | ||
INTEGER | nghost | ||
) |
Definition at line 1240 of file data_declarations.f90.
REAL(KIND=qPREC) function, dimension(3), public CellPos | ( | TYPE(InfoDef) | Info, |
INTEGER | i, | ||
INTEGER | j, | ||
INTEGER | k | ||
) |
Definition at line 1251 of file data_declarations.f90.
INTEGER function, dimension(3), public PosCell | ( | TYPE(InfoDef) | Info, |
REAL(KIND=qPREC) | x, | ||
REAL(KIND=qPREC) | y, | ||
REAL(KIND=qPREC) | z | ||
) |
Definition at line 1259 of file data_declarations.f90.
subroutine, public ProlongateCellCenteredData | ( | REAL(KIND=qPREC), dimension(:,:,:) | pdata, |
REAL(KIND=qPREC), dimension(:,:,:) | cdata, | ||
INTEGER | r, | ||
INTEGER | nGhost, | ||
INTEGER | method | ||
) |
Definition at line 1275 of file data_declarations.f90.
INTEGER function, dimension(3,2), public expand | ( | INTEGER, dimension(3,2) | mB, |
INTEGER | nGhost | ||
) |
Definition at line 1436 of file data_declarations.f90.