atl_evalElemMaterial Subroutine

private subroutine atl_evalElemMaterial(mesh, scheme, material, materialFun, time, poly_proj, mode_reduction, time_weights, proc, commPattern)

Evaluates the material properties for all elements contained in the computeElems variable of the material_desc datatype.

@note Todo PV 20151027 Write unit tests for this routine as I'm not sure whether the index calculations around nScalars and iMat do what they are supposed to do.

if (.not. associated (material%material_desc%material_elems(levelindex, iMat) & & %stFunPtr )) then write(,) '++++++++POINTER is not set!!++++++++++' end if

Arguments

Type IntentOptional Attributes Name
type(atl_cube_elem_type), intent(inout) :: mesh

Description of the mesh

type(atl_scheme_type), intent(in) :: scheme

Information about the scheme

type(atl_material_type), intent(inout) :: material

The description of the material properties. The compute lists in the material description is filled up by calling this subroutine. 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(in) :: materialFun
type(tem_time_type), intent(in) :: time

The current simulation time

type(ply_poly_project_type), intent(inout) :: poly_proj

Projection method for current level

type(atl_mode_reduction_type), intent(in) :: mode_reduction

Settings for mode reduction. Used to determine which element can be calculated with reduced computational effort due to mode reduction.

logical, intent(in), optional :: time_weights
type(tem_comm_env_type), intent(inout) :: proc

Communication environment

type(tem_commPattern_type), intent(inout) :: commPattern

mpi communication pattern type