atl_create_materialElemList Subroutine

public subroutine atl_create_materialElemList(tree, levelPointer, material_list, varSys, materials, materialFun)

Subroutine to create element index list for constant and non-constant material parameters.

To create the two lists, one list with elements with constant material parameters and one list with elements with variable material parameters, we have to follow several steps split into separate phases: Phase 1: Determine variable and constant elements 1. Loop over all materials 1.1. Loop over all spacetime functions 1.1.1 Determine whether the element is variable or not and add it to the according list. Phase 2: Determine the levelwise element lists 2. Loop over all elements. 2.1. Determine the element's level. 2.2. Add them to intermediate lists. Phase 3: Create the result 3. Copy intermediate lists into result type.

Phase 2: Determine the levelwise element lists Phase 3: Create the result

Arguments

Type IntentOptional Attributes Name
type(treelmesh_type), intent(in) :: tree

Mesh data in treelmesh format.

integer, intent(in) :: levelPointer(:)

The levelPointer contains the indizes on the levelwise fluid list for all treeID entries.

type(atl_material_type), intent(inout) :: material_list(tree%global%minLevel:tree%global%maxLevel)

The description of the material properties. This routine fills the compute lists in the material description.

type(tem_varSys_type), intent(in) :: varSys

global variable system to which lua variables are to be appended

character(len=labelLen), intent(in) :: materials(:)

The list of the variables that should be used as materials. The indizes of variables in the global varSys that are used as material's, penalization's or whatever's data sources.

This data is needed to calculate the number of total material components.

type(atl_materialFun_type), intent(inout) :: materialFun

Calls

proc~~atl_create_materialelemlist~~CallsGraph proc~atl_create_materialelemlist atl_create_materialElemList append append proc~atl_create_materialelemlist->append destroy destroy proc~atl_create_materialelemlist->destroy input_varpos input_varpos proc~atl_create_materialelemlist->input_varpos map2global map2global proc~atl_create_materialelemlist->map2global positionofval positionofval proc~atl_create_materialelemlist->positionofval tem_LevelOf tem_LevelOf proc~atl_create_materialelemlist->tem_LevelOf val val proc~atl_create_materialelemlist->val

Called by

proc~~atl_create_materialelemlist~~CalledByGraph proc~atl_create_materialelemlist atl_create_materialElemList proc~atl_init_materialparams atl_init_materialParams proc~atl_init_materialparams->proc~atl_create_materialelemlist proc~atl_initialize atl_initialize proc~atl_initialize->proc~atl_init_materialparams proc~atl_initialize_program atl_initialize_program proc~atl_initialize_program->proc~atl_initialize program~atl_harvesting atl_harvesting program~atl_harvesting->proc~atl_initialize program~ateles ateles program~ateles->proc~atl_initialize_program