Geometric information and definitions
Type  Visibility  Attributes  Name  Initial  

type(treelmesh_type),  private  ::  tree  tree data type 

type(tem_BC_prop_type),  private  ::  boundary  boundary information as stored on disk 

type(mus_geomIncrHead_type),  private,  allocatable  ::  geomIncr(:)  The header type containing all the geometry increase information 

logical,  private  ::  dynamicGeom  =  .false.  Logical to define whether geometry increase is active or not 

integer,  private,  allocatable  ::  posInBndID(:)  Tree element position in the boundary_ID( nDir, nElems) in bc_prop_type it has a size of tree%nElems How to use: do iElem = 1, tree%nElems posInBndID = posInBndID( iElem ) ! current element has boundary only if posInBndID>0 ! else posInBndID = 1 if (posInBnd > 0 ) bnd_ID(1:nDir) = bc_prop%boundary_ID( 1:nDir, posInBndID ) end if end do 

integer,  private,  allocatable  ::  posInQVal(:)  Tree element position in the qVal( nDir, nElems) in bc_prop_type it has a size of tree%nElems How to use: do iElem = 1, tree%nElems posInQVal = posInQVal( iElem ) ! current element has qVal if posInQVal>0 else posInQVal = 1 if (posInQVal > 0 ) qVal(1:nDir) = bc_prop%qVal( 1:nDir, posInQVal ) end if end do 

integer,  private,  allocatable  ::  levelPointer(:)  tree element position in level descriptor total list it has a size of tree%nElems How to use: do iElem = 1, tree%nElems treeID = tree%treeID( iElem ) level = tem_levelOf( treeID ) posInTotal = levelPointer( iElem ) treeID = LevelDesc( iLevel )%total( posInTotal ) end do 

integer,  private,  allocatable  ::  bcLevelPointer(:)  Boundary element poisition in the levelwise globBC%elemLvl(:)%elem%val It has a size of geometry%boundary%property%nElems. It is used in tracking to extract value stored in boundary types. Hot to use this access normal direction of boundary element: do iElem = 1, tree%nElems level = tem_levelOf( treeID ) posInBndID = posInBndID(iElem) if (posInBndID > 0) then BCIDs = bc_prop%boundary_ID(:, posInBndID) minBCID = minval(BCIDs, BCIDs > 0) posInBcElem = bcLevelPointer(posInBndID) normal = globBC%elemLvl(iLevel)%normal(posInBcElem) end if end do 

integer,  private,  allocatable  ::  minBcID(:)  Minimum bcID for each boundary element. if a element has more than one boundary then use minBcID which depends on boundary order in seeder configuration. 

type(mus_IBM_globType),  private  ::  globIBM  immersed boundary data 

real(kind=rk),  private,  allocatable  ::  bndForce(:,:)  Contains Forces on boundary elements computed using momentum exchange method. This will be used to derive_bndForce routine to compute force of certain boundaries. Forces are stored in levelindependent fashion as geometry%boundaryID loaded from mesh files. Dim1: geometry%boundaryi%property%nElems Dim2: 3 