mus_geom_module Module

This module contains the definition of geometry type and routines to geometry information like mesh, boundary, immersed_boundary and restart


Used by

  • module~~mus_geom_module~~UsedByGraph module~mus_geom_module mus_geom_module module~mus_control_module mus_control_module module~mus_control_module->module~mus_geom_module module~mus_aux_module mus_aux_module module~mus_aux_module->module~mus_geom_module module~mus_program_module mus_program_module module~mus_program_module->module~mus_geom_module module~mus_hvs_construction_module mus_hvs_construction_module module~mus_hvs_construction_module->module~mus_geom_module module~mus_tracking_module mus_tracking_module module~mus_tracking_module->module~mus_geom_module module~mus_debug_module mus_debug_module module~mus_debug_module->module~mus_geom_module module~mus_hvs_config_module mus_hvs_config_module module~mus_hvs_config_module->module~mus_geom_module module~mus_construction_module mus_construction_module module~mus_construction_module->module~mus_geom_module module~mus_dynloadbal_module mus_dynLoadBal_module module~mus_dynloadbal_module->module~mus_geom_module module~mus_scheme_module mus_scheme_module module~mus_scheme_module->module~mus_geom_module module~mus_mesh_adaptation_module mus_mesh_adaptation_module module~mus_mesh_adaptation_module->module~mus_geom_module program~mus_harvesting mus_harvesting program~mus_harvesting->module~mus_geom_module module~mus_hvs_aux_module mus_hvs_aux_module module~mus_hvs_aux_module->module~mus_geom_module module~mus_config_module mus_config_module module~mus_config_module->module~mus_geom_module program~musubi musubi program~musubi->module~mus_geom_module module~mus_geomincr_module mus_geomIncr_module module~mus_geomincr_module->module~mus_geom_module module~mus_varsys_module mus_varSys_module module~mus_varsys_module->module~mus_geom_module


Derived Types

type, public :: mus_geom_type

Geometric information and definitions


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

type(mus_IBM_globType), private :: globIBM

immersed boundary data


public subroutine mus_load_geom(me, restart, solverHead, simControl, proc, scaleFactor, initial_balance)

This routine load all geometry related datas like mesh, boundary and immersed_boundary. Restart is also loaded here because mesh is loaded in tem_load_restart if restart read is defined.


type(mus_geom_type), intent(out) :: me
type(tem_restart_type), intent(out) :: restart

contains restart information

type(tem_solveHead_type), intent(inout) :: solverHead

contains general description of the solver including flu_state

type(tem_simControl_type), intent(inout) :: simControl

contains simulation time control information

type(tem_comm_env_type), intent(in) :: proc

contains MPI communication environment

integer, intent(in) :: scaleFactor

Temporal scaling factor for multilevel mesh

logical, intent(in) :: initial_balance

If true, do initial balancing using level_weights

public subroutine mus_load_bc_data(geometry, rank, comm)

This routine invokes the treelm routines to load the boundary conditions


type(mus_geom_type), intent(inout) :: geometry
integer, intent(in) :: rank
integer, intent(in) :: comm

public subroutine mus_build_posInProp(me)

This routine builds mapping between elements in tree to to propery list


type(mus_geom_type), intent(inout) :: me