Scrambler  1
DataDeclarations Module Reference

Module defining data info structure and basic operations. More...

List of all members.

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.

Detailed Description

Module defining data info structure and basic operations.

Definition at line 40 of file data_declarations.f90.


Member Function/Subroutine Documentation

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.

Parameters:
infoinfo structure
msindex range
farray 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.

Parameters:
Infoinfo structure
mSindices of emf in info
dimdirection of emf component
emfarray 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.

Parameters:
originaloriginal info
infobackup 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.

Parameters:
InfoInfo 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.

Parameters:
InfoInfo 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.

Parameters:
InfoInfo 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.

Parameters:
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.

Parameters:
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.

Parameters:
InfomGlobalInfomGlobal
SourcemGlobalSourcemGlobal
mTscollection of info indices
mSscollection of source indices
nOverlapsnumber of ways grids overlap
offsetsperiodic offset of source grid
levellevel
dirdirection 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.

Parameters:
InfomGlobal- InfomGlobal
SourcemGlobal- SourcemGlobal
mTs- collection of info indices
mSs- collection of source indices
edgescollection 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.

Parameters:
InfoInfo object
PhysicalRegionPhysical bounds of a box
mSsbounds of overlap regions relative to Info
nOverlapsnumber of overlap regions
offsetsPhysical 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.

Parameters:
InfoInfo object
PhysicalRegionPhysical bounds of a box (in its levels index space)
mSsbounds of overlap regions relative to Info
nOverlapsnumber of overlap regions
offsetsPhysical 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.

Parameters:
mGlobal1bounds of box 1
mGlobal2bounds 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.

Parameters:
InfoInfo structure
dimDimension to check for
edgeEdge to check (1=left, 2=right)
ipindices 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.

Parameters:
mGlobalbounds of box
levelcurrent 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.

Parameters:
mGlobalbounds of box
levelcurrent 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.

Parameters:
mGlobalbounds of child box
ParentmGlobalbounds of parent box
levellevel 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.

Parameters:
mGlobalbounds of child box
ParentmGlobalbounds of parent box
levellevel 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.

Parameters:
mBbounds of box
distdistance 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.

Parameters:
mBbounds of aux fields
distdistance 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.


The documentation for this module was generated from the following file:
 All Classes Files Functions Variables