Container collecting the subroutines and datatypes which are specific for cubic elements.
Container type describing cubic elements on a single refinement level.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_face_type), | private | :: | faces | Description of the faces on this level. |
|||
type(tem_face_type), | private | :: | faces_stab | Description of the faces (required for stabilization) on this level. |
|||
type(tem_levelDesc_type), | private | :: | descriptor | Descriptor describing the grid on this refinement level. |
|||
real(kind=rk), | private | :: | length | Length of the cubical element. |
|||
real(kind=rk), | private | :: | side_area | Surface area of the individual sides. |
|||
real(kind=rk), | private | :: | volume | Volume of each element. |
|||
real(kind=rk), | private, | allocatable | :: | bary_coord(:,:) | Bary center coordinate of each element. |
||
real(kind=rk), | private | :: | inv_jacobit | Inverse jacobian \f$\partial\xi_i/\partial x_j\f$ (the jacobian is the jacobi matrix of the mapping from the reference to the physical cell). |
|||
real(kind=rk), | private | :: | jacobit_det | Determinant of the jacobian. |
Initialize the cubic elements.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_cube_elem_type), | intent(out) | :: | element | This is the output and represenets the cubic elements given as a subset of tree ids in the complete tree. |
||
type(tem_levelDesc_type), | intent(in) | :: | descriptor | The descriptor of the element list, describing the connectivity of the mesh explicitly. All the descriptors are derived previously from the complete treelmesh, and need to be passed in here. |
||
integer, | intent(in) | :: | level | Treelm level of the cubes to be initialized. |
||
type(treelmesh_type), | intent(in) | :: | tree | The tree representation of your mesh. |
Subroutine to count the number of elements per level.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_levelDesc_type), | intent(in) | :: | descriptor(tree%global%minLevel:tree%global%maxLevel) | Array of descriptors for each level in the mesh. |
||
integer, | intent(out), | allocatable | :: | nCells(:) | The number of cells for each levelDescriptor (including fluid, ghost and halo cells). |
|
type(treelmesh_type), | intent(in) | :: | tree | The tree representation of the mesh |
Calculate barycentric coordinates of the tree ids given in treeids.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=long_k), | intent(in) | :: | treeids(:) | Tree ids you want to build the barycentric coordinates for. |
||
integer, | intent(in) | :: | nElems | the number of tree ids in in treeids. |
||
real(kind=rk), | intent(out) | :: | bary_coord(:,:) | Array of barycenteric coordinates for the cells given in treeidsubset. This array has to be allocated before you can use it as an input argument. The dimensions are: First dimension is subsetsize and the second dimension is the space dimension, i.e. 3. |
||
type(treelmesh_type), | intent(in) | :: | tree | Tree representation of your mesh. |