atl_cube_container_type Derived Type

type, public :: atl_cube_container_type

Container type collecting all the data of the simulation domain which have cubic cells.

It stores informations related to the mesh as well as the states of the kernels like state variables, scheme type on each part, etc. Please notice that you can have different schemes in different parts of the cubic mesh.


Inherits

type~~atl_cube_container_type~~InheritsGraph type~atl_cube_container_type atl_cube_container_type type~atl_penalizationdata_type atl_penalizationData_type type~atl_cube_container_type->type~atl_penalizationdata_type penalizationdata_list type~atl_level_boundary_type atl_level_boundary_type type~atl_cube_container_type->type~atl_level_boundary_type boundary_stab_list, boundary_list type~atl_statedata_type atl_statedata_type type~atl_cube_container_type->type~atl_statedata_type statedata_list, statedata_stab_list type~atl_facedata_type atl_facedata_type type~atl_cube_container_type->type~atl_facedata_type facedata_list type~atl_material_type atl_material_type type~atl_cube_container_type->type~atl_material_type material_list, penalization_list type~atl_source_type atl_source_type type~atl_cube_container_type->type~atl_source_type source type~atl_scheme_type atl_scheme_type type~atl_cube_container_type->type~atl_scheme_type scheme_list type~atl_kerneldata_type atl_kerneldata_type type~atl_cube_container_type->type~atl_kerneldata_type kerneldata_list type~atl_boundary_type atl_boundary_type type~atl_cube_container_type->type~atl_boundary_type bc type~atl_cube_elem_type atl_cube_elem_type type~atl_cube_container_type->type~atl_cube_elem_type mesh_list type~atl_bnddesc_type atl_bndDesc_type type~atl_level_boundary_type->type~atl_bnddesc_type bnd type~tem_time_type tem_time_type type~atl_statedata_type->type~tem_time_type local_time type~atl_facerep_type atl_faceRep_type type~atl_facedata_type->type~atl_facerep_type faceRep, faceFlux type~atl_material_property_type atl_material_property_type type~atl_material_type->type~atl_material_property_type material_desc type~atl_materialdata_type atl_materialData_type type~atl_material_type->type~atl_materialdata_type material_dat type~grw_stringkeyvaluepairarray_type grw_stringkeyvaluepairarray_type type~atl_source_type->type~grw_stringkeyvaluepairarray_type varDict type~atl_source_op_type atl_source_op_type type~atl_source_type->type~atl_source_op_type method type~atl_local_timestep_type atl_local_timestep_type type~atl_scheme_type->type~atl_local_timestep_type time type~atl_modg_scheme_type atl_modg_scheme_type type~atl_scheme_type->type~atl_modg_scheme_type modg type~atl_modg_1d_scheme_type atl_modg_1d_scheme_type type~atl_scheme_type->type~atl_modg_1d_scheme_type modg_1d type~atl_modg_2d_scheme_type atl_modg_2d_scheme_type type~atl_scheme_type->type~atl_modg_2d_scheme_type modg_2d type~atl_stabilization_type atl_stabilization_type type~atl_scheme_type->type~atl_stabilization_type stabilization type~ply_modg_basis_type ply_modg_basis_type type~atl_scheme_type->type~ply_modg_basis_type modg_basis type~atl_boundary_type->type~grw_stringkeyvaluepairarray_type varDict, varDict_gradient type~tem_bc_state_type tem_bc_state_type type~atl_boundary_type->type~tem_bc_state_type state, state_gradient type~atl_eqn_var_trafo_type atl_eqn_var_trafo_type type~atl_boundary_type->type~atl_eqn_var_trafo_type bc_trafo, bc_trafo_gradient type~tem_face_type tem_face_type type~atl_cube_elem_type->type~tem_face_type faces, faces_stab type~tem_leveldesc_type tem_levelDesc_type type~atl_cube_elem_type->type~tem_leveldesc_type descriptor

Inherited by

type~~atl_cube_container_type~~InheritedByGraph type~atl_cube_container_type atl_cube_container_type type~atl_element_container_type atl_element_container_type type~atl_element_container_type->type~atl_cube_container_type cubes

Contents


Components

TypeVisibilityAttributesNameInitial
integer, private :: minLevel
integer, private :: maxLevel
integer, private :: nlists =0

the number of list we have in this container. This is the number of levels with nonzero number of elements (i.e. maxLevel - minLevel)

type(atl_statedata_type), private, allocatable:: statedata_list(:)

List of the solver state. This includes information about the timepoints and the description of the equation state (e.g. in model representation). Indices are running from minLevel to maxLevel.

type(atl_facedata_type), private, allocatable:: facedata_list(:)

List of solver state on the faces. Indices are running from minLevel to maxLevel.

type(atl_level_boundary_type), private, allocatable:: boundary_stab_list(:)

List of boundaries for the current part of the cubic mesh its stabilization. The boundary informations are stored for each refinement level seperately. Therefore the dimension of this array is nlists. Indices are running from minLevel to maxLevel.

type(atl_statedata_type), private, allocatable:: statedata_stab_list(:,:)

Statedata of the stabilization. Indices are running from minLevel to maxLevel.

type(atl_kerneldata_type), private, allocatable:: kerneldata_list(:)

List of the states of the kernels. This includes data that is used in the kernel itself (e.g. for reconstruction, etc.). It might be necessary to transfer the data during each computation of the right hand side. Indices are running from minLevel to maxLevel.

type(atl_penalizationData_type), private, allocatable:: penalizationdata_list(:)

List of penalization data. This includes all data that is used for penalizations (e.g. Brinkmann penalizations of the Navier-Stokes equations). Indices are running from minLevel to maxLevel.

type(atl_cube_elem_type), private, allocatable:: mesh_list(:)

List of meshes of the different kernels. We can have multiple kernels e.g. for each refinement level, polynomial degree, etc. . The states of the kernels of mesh_list(index) are located inside kerneldata_list(index). This separation was done to enable a generic kernel interface. Indices are running from minLevel to maxLevel.

type(atl_level_boundary_type), private, allocatable:: boundary_list(:)

List of boundaries for the current part of the cubic mesh. The boundary informations are stored for each refinement level seperately. Therefore the dimension of this array is nlists. Indices are running from minLevel to maxLevel.

type(atl_boundary_type), private, allocatable:: bc(:)

Global description of the boundary conditions. Size is the number of boundary conditions.

type(atl_source_type), private :: source
type(atl_material_type), private, allocatable:: material_list(:)

List of material parameter information for the mesh. One entry for level, running from minlevel to maxlevel.

type(atl_material_type), private, allocatable:: penalization_list(:)
integer, private, allocatable:: 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_scheme_type), private, allocatable:: scheme_list(:)

All informations about the scheme for each level, e.g. for PNPM we store in this variable n and m and many others.... For a detailed description you should have a look at the documentation of the atl_scheme_type. Indices are runnging from minLevel to maxLevel.

integer, private, allocatable:: poly_proj_pos(:)

Gives the position of the levelwise projection method in the unique list of projections.

logical, private :: need_element_deviations =.false.

Indication whether to compute the maximal deviation in the polynomials of each element.