This module provides central Ateles data type, containing the various data of the simulation.
The idea is to support different element types in the mesh, and collect them in the container_module#element_container_type.
Container type collecting all the data of the simulation domain which have cubic cells.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | minLevel | ||||
integer, | public | :: | maxLevel | ||||
integer, | public | :: | 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), | public, | 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), | public, | allocatable | :: | facedata_list(:) |
List of solver state on the faces. Indices are running from minLevel to maxLevel. |
||
type(atl_level_boundary_type), | public, | 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), | public, | allocatable | :: | statedata_stab_list(:,:) |
Statedata of the stabilization. Indices are running from minLevel to maxLevel. |
||
type(atl_kerneldata_type), | public, | 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), | public, | 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), | public, | 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), | public, | 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), | public, | allocatable | :: | bc(:) |
Global description of the boundary conditions. Size is the number of boundary conditions. |
||
type(atl_source_type), | public | :: | source | ||||
type(atl_material_type), | public, | allocatable | :: | material_list(:) |
List of material parameter information for the mesh. One entry for level, running from minlevel to maxlevel. |
||
type(atl_material_type), | public, | allocatable | :: | penalization_list(:) | |||
integer, | public, | 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), | public, | 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, | public, | allocatable | :: | poly_proj_pos(:) |
Gives the position of the levelwise projection method in the unique list of projections. |
||
logical, | public | :: | need_element_deviations | = | .false. |
Indication whether to compute the maximal deviation in the polynomials of each element. |
Method to initialize a cube mesh by tree and boundary definitions obtained by treelm.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(inout) | :: | tree |
The tree representation of your mesh. |
||
type(tem_BC_prop_type), | intent(in) | :: | boundary |
The boundaries of your simulation domain |
||
type(atl_cube_container_type), | intent(inout) | :: | cube_container |
The container with all cubic elements, generated with this routine. |
||
type(flu_State), | intent(in) | :: | conf |
Handle for the Lua config file |
||
type(atl_Equations_type), | intent(inout) | :: | equation |
The equation you are simulating. |
||
type(tem_comm_env_type) | :: | proc |
mpi communication environment with mpi communicator |
|||
type(tem_commPattern_type) | :: | commPattern |
mpi communication pattern type |
|||
logical, | intent(in) | :: | need_element_deviations |