Adds the configured material variables to the variable system.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys | The variable system to which the souce variables have to be added |
||
type(atl_varSys_solverData_type), | intent(inout), | target | :: | varSys_data | Data of the variable System index of the eval-source_routine in eval_source. |
|
type(tem_possible_variable_type) | :: | poss_matVars | ||||
type(atl_materialFun_type), | intent(inout) | :: | materialFun | |||
type(grw_stringkeyvaluepairarray_type), | intent(inout) | :: | variables |
Read the configuration for the material paramters for Maxwell equations from configuration files and init the material parameter datatype.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(inout) | :: | equation | Description on the equation system to solve. |
||
type(treelmesh_type), | intent(in) | :: | tree | Mesh data in treelmesh format. |
||
type(atl_varSys_solverData_type), | intent(inout) | :: | varSys_data | Data in variable system |
||
type(atl_material_type), | intent(inout) | :: | material_list(tree%global%minLevel:tree%global%maxLevel) | The description of the material properties. The compute lists in the material description is filled up by calling this subroutine. |
||
type(atl_cube_elem_type), | intent(inout) | :: | mesh_list(tree%global%minLevel:tree%global%maxLevel) | Description of the mesh |
||
type(atl_scheme_type), | intent(in) | :: | scheme_list(tree%global%minLevel:tree%global%maxLevel) | Information about the scheme |
||
type(atl_level_boundary_type), | intent(in) | :: | boundary_list(tree%global%minLevel:tree%global%maxLevel) | Global description of the boundary conditions. |
||
type(tem_time_type), | intent(in) | :: | time | The current simulation time |
||
type(flu_State), | intent(inout) | :: | conf | Flu binding to configuration file. |
||
type(tem_comm_env_type), | intent(inout) | :: | proc | mpi communication environment with mpi communicator |
||
type(tem_commPattern_type), | intent(inout) | :: | commPattern | mpi communication pattern type |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj_list(:) | unique list for projection methods |
||
integer, | intent(in) | :: | levelPointer(:) | Pointer from treeIDlist entry to level-wise fluid part of total list. The length of this vector is the total number of cubic elements. |
||
type(atl_init_material_type) | :: | initMaterial | Information about expected material parameters and the user defined variables to the expected material parameters. |
Read the configuration for the material paramters for Maxwell equations from configuration files and init the material parameter datatype.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(inout) | :: | equation | Description on the equation system to solve. |
||
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_level_boundary_type), | intent(in) | :: | boundary | Global description of the boundary conditions. |
||
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. |
||
type(tem_time_type), | intent(in) | :: | time | The current simulation time |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | unique list for projection methods |
||
type(tem_comm_env_type), | intent(inout) | :: | proc | mpi communication environment with mpi communicator |
||
type(tem_commPattern_type), | intent(inout) | :: | commPattern | mpi communication pattern type |
Subroutine to create element index list for constant and non-constant material parameters.
Type | Intent | Optional | 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 |
This routine implements the getElement interface for material variables.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the spacetime function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
integer, | intent(in) | :: | elempos(:) | Position of the TreeID of the element to get the variable for in the global treeID list. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nElems | Number of values to obtain for this variable (vectorized access). |
||
integer, | intent(in) | :: | nDofs | Number of degrees of freedom within an element. |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp |
This routine implements the getPoint interface for material variables.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(tem_varSys_op_type), | intent(in) | :: | fun | Description of the method to obtain the variables, here some preset values might be stored, like the spacetime function to use or the required variables. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
real(kind=rk), | intent(in) | :: | point(:,:) | Three-dimensional coordinates at which the variable should be evaluated. Only useful for variables provided as space-time functions. |
||
type(tem_time_type), | intent(in) | :: | time | Point in time at which to evaluate the variable. |
||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
integer, | intent(in) | :: | nPnts | Number of values to obtain for this variable (vectorized access). |
||
real(kind=rk), | intent(out) | :: | res(:) | Resulting values for the requested variable. Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp |
Reassigns the spacetime function pointers based on the material variable position and the spacetime function position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(in) | :: | varSys | global variable system to which luaVar to be appended |
||
type(treelmesh_type), | intent(in) | :: | tree | Mesh data in treelmesh format. |
||
type(atl_material_type), | intent(inout) | :: | material_list(tree%global%minLevel:tree%global%maxLevel) | The description of the material properties. The compute lists in the material description is filled up by calling this subroutine. |
||
integer, | intent(in) | :: | iLevel | |||
integer, | intent(in) | :: | iDir | |||
integer, | intent(in) | :: | iMat |
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.
Type | Intent | Optional | 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. |
Subroutine to evaluate the material properties on the nodes of the compute faces (left and right element's trace).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_cube_elem_type), | intent(in) | :: | 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 |
||
integer, | intent(in) | :: | spatial_dim | The spatial dimension |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Projection method for current level |
||
logical, | intent(in), | optional | :: | time_weights |
Evaluates the material properties for all elements contained in the computeElems variable of the material_desc datatype.
Type | Intent | Optional | 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 |
Create separate compute list for constant-constant, constant-variable (or vice versa) and variable-variable material parameter compute faces on this rank.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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(atl_level_boundary_type), | intent(in) | :: | boundary | Boundary description for the all the levels. |
||
type(atl_cube_elem_type), | intent(in) | :: | mesh | Description of the mesh |
||
logical, | intent(in), | optional | :: | time_weights |
Create separate compute list for constant-constant, constant-variable (or vice versa) and variable-variable material parameter compute faces on this rank.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_cube_elem_type), | intent(in) | :: | mesh | Description of the mesh |
||
integer, | intent(in) | :: | spatial_dim | The spatial dimension |
||
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 |
Define material properties for the faces of all fluid elements and inherit the face material property to all ghost elements on the finer level.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh_list(minlevel:maxlevel) | List of mesh for different kernels |
||
integer, | intent(in) | :: | currentLevel | currentLevel |
||
integer, | intent(in) | :: | spatial_dim | The spatial dimension |
||
type(atl_material_type), | intent(inout) | :: | material_list(minlevel:maxlevel) | The description of the material properties on the element basis. The indices 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 |