Module for a generic description of materials in ATELES.
& atl_face_material_type, &
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | atl_pureConstMat_prp | = | 1 |
Parameter for a face with purely constant material parameters. |
integer, | public, | parameter | :: | atl_mixedMat_prp | = | 2 |
Parameter for a face with mixed materials (constant-variable or variable-constant or variable-variable face). |
integer, | public, | parameter | :: | atl_ConstMatIdx | = | 1 |
The index used by the atl_material_property_type%computeElems to address the array with elements that have constant material properties. |
integer, | public, | parameter | :: | atl_VarMatIdx | = | 2 |
The index used by the atl_material_property_type%computeElems to address the array with elements that have variable material properties. |
Encapsulates a pointer to an tem_spacetime_fun_type-instace. Used to create arrays of pointers.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | matVarPos |
The position of the material variable in the global varSys. |
|||
integer, | public | :: | stFunPos |
The position of the space-time-function stFunPtr is pointing to in the material variable's stFunList. |
|||
type(tem_spacetime_fun_type), | public, | pointer | :: | stFunPtr |
Pointer to an instance of tem_spacetime_fun_type. |
Levewise description of the material properties.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(atl_spacetime_fun_pointer_type), | public, | allocatable | :: | material_elems(:,:) |
The material property position for all fluid elements. The first index is the element ordering, which is the same as in the total list of the level descriptor.\n The second index is the material parameter, as they are defined independently of each other. |
||
type(atl_face_material_type), | public | :: | material_face(3) |
Information for the faces and the materials meeting at these interfaces, for each spatial direction (i.e. x y and z one entry). |
|||
type(tem_faceIterator_type), | public | :: | computeFace(3,2) |
The compute list for the material-face-combinations. First dimension is is number of spatial directions (i.e. x, y, z). Second dimension is 2 for the two different material face combinations \sq atl_pureConstMat_prp \sa atl_mixedMat_prp |
|||
type(atl_computeElem_type), | public | :: | computeElems(2) |
Create a list with element indices with constant material properties and those with variable ones. First entry covers all the elements with constant material paramters, while the second entry covers all the elements with non-constant material parameters. \sa atl_ConstMatIdx \sa atl_VarMatIdx |
|||
type(atl_boundaryMaterial_type), | public | :: | bnd_faces(2) |
The boundary face information. First entry on first index covers all boundary faces with constant material parameters. The second entry on first index covers all the boundary faces with non-constant material parameters. \sa atl_ConstMatIdx \sa atl_VarMatIdx |
Datatype provides information each face
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nPointsPerDir |
The number of nodal points with material information per spatial direction. |
|||
real(kind=rk), | public, | allocatable | :: | leftElemMaterialDat(:,:,:) |
The nodal material properties on the face for the left element. \n First dimension is the number of faces with this material info. \n Second dimension is the number of nPointsPerDir^3 \n Third dimension is the number of material components. Attention: We do not use the number of material parameters, but the number of their components, because a material parameter is not limited to consist of only one component. \n |
||
real(kind=rk), | public, | allocatable | :: | rightElemMaterialDat(:,:,:) |
The nodal material properties on the face for the right element. \n First dimension is the number of faces with this material info. \n Second dimension is the number of nPointsPerDir^3 \n Third dimension is the number of material components. Attention: We do not use the number of material parameters, but the number of their components, because a material parameter is not limited to consist of only one component. \n |
Datatype to provide material parameter information
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(atl_elemMaterialData_type), | public | :: | elemMaterialData(2) |
Material parameter information for each fluid element. \n First entry covers all the constant material parameters, second entry covers all non-constant material parmaters. \sa atl_ConstMatIdx \sa atl_VarMatIdx |
|||
type(atl_faceMaterialData_type), | public | :: | faceMaterialData(3,2) |
Material parameter information for the compute faces.\n First dimension is the number of face directions, i.e. x y and z. Second dimension covers the material combinations, i.e.: First entry covers all the constant material parameters, second entry covers all non-constant material parmaters. |
|||
logical, | public, | allocatable | :: | mode_reducable(:) |
Indicates whether this element fulfills all prerequisites to be computed with a lower resolution. |
This type is used to set the material up. It contains information from each equation systems that are used to process the information from the configuration file. Once the materials are added to the variable system, the information contained in here are not needed anymore, thus are not stored in another, longer persisting type.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_possible_variable_type), | public | :: | poss_materialVars |
The possible material property. |
|||
type(grw_stringkeyvaluepairarray_type), | public | :: | materialDict |
This dictionary is used to map variables from the variable system to source variables to be used as data source. |
Levelwise description of the material parameters in the mesh.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public | :: | maxPropSpeed |
The maximum information propagation speed of all materials (used for calculation of the timesteps), i.e. the maximum speed of light) |
|||
type(atl_material_property_type), | public | :: | material_desc |
Description of all materials in the mesh. |
|||
type(atl_materialData_type), | public | :: | material_dat |
Material parameter data for all relevant elements and faces in the mesh. |
|||
integer, | public | :: | poly_proj_pos |
Postition of individual projection method in the projection list |
|||
integer, | public | :: | poly_proj_pos_state2Mat |
Postition of individual projection method in the projection list |
Description of the material properties adjacent to a faces.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(atl_spacetime_fun_pointer_type), | public, | allocatable | :: | mat(:,:,:) |
The material positions for all the faces of the face desciption for left and right element. \n Therefore the dimensions are: \li First dimension is the number of faces \li Second dimension is the 2 for left and right element. \sa tem_left \sa tem_right The third index is do determine between the different material paramters. |
List of elements that are relevant for the computation.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nElems | = | 0 |
The number of elements in this container |
|
integer, | public, | allocatable | :: | totElemIndices(:) |
Fluid element indices in the total list of level descriptor |
Boundary (face) material description.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(atl_level_boundary_type), | public | :: | boundary |
Boundary face description. |
Datatype provides information each
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nPointsPerDir |
The number of nodal points with material information per spatial direction. |
|||
real(kind=rk), | public, | allocatable | :: | materialDat(:,:,:) |
The nodal material properties. \n First dimension is the number of elements with this material info. \n Second dimension is the number of nPointsPerDir^3 \n Third dimension is the number of material components. Attention: We do not use the number of material parameters, but the number of their components here, because a material parameter is not limited to consist of only one component. The ordering of the material components is also not fixed, but depends on the order of the material parameter definition in the configuration file. |