atl_assign_elem_varProp Subroutine

private subroutine atl_assign_elem_varProp(tree, mesh_list, affection_list, levelPointer, varSys, materialFun)

Assign reference to spacetime functions to the affected elements. This means: The position of the variable in the variable system, which reflects the spacetime function is determined and assigned to the element_list.

This assignment is done as follows: 1. Set each fluid element's spacetime function pointer to null 2. Iterate over all material variables 2.1 Iterate over the first input variable's spacetime function list 2.1.a If it is a global shape spacetime function, have all element's material stfun pointer set to this spacetime function. 2.1.b Take the spacetime function subtree and assign this spacetime function to all element's material stfun pointer in this subtree. 2.2 Iterate over all elements and check whether their stfun pointer is associated, which means, that the material is defined for the element.

If there is one or more elements that are not covered by all materials, the solver will abort.

Arguments

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

The global description of the tree.

type(atl_cube_elem_type), intent(in) :: mesh_list(tree%global%minlevel:tree%global%maxlevel)

List of mesh for different kernels

type(atl_material_type), intent(inout) :: affection_list(tree%global%minlevel:tree%global%maxlevel)

The description of the material properties on the element basis.

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

global variable system to which luaVar to be appended

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

The list of material variable indizes.