atl_cube_elem_module Module

Container collecting the subroutines and datatypes which are specific for cubic elements.


Uses

Used by


Derived Types

type, public ::  atl_cube_elem_type

Container type describing cubic elements on a single refinement level.

Read more…

Components

Type Visibility Attributes Name Initial
type(tem_face_type), public :: faces

Description of the faces on this level.

Read more…
type(tem_face_type), public :: faces_stab

Description of the faces (required for stabilization) on this level.

Read more…
type(tem_levelDesc_type), public :: descriptor

Descriptor describing the grid on this refinement level.

Read more…
real(kind=rk), public :: length

Length of the cubical element.

real(kind=rk), public :: side_area

Surface area of the individual sides.

real(kind=rk), public :: volume

Volume of each element.

real(kind=rk), public, allocatable :: bary_coord(:,:)

Bary center coordinate of each element.

Read more…
real(kind=rk), public :: 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), public :: jacobit_det

Determinant of the jacobian.

Read more…

Subroutines

public subroutine atl_init_cube_elem(element, descriptor, level, tree)

Initialize the cubic elements.

Read more…

Arguments

Type IntentOptional 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.

Read more…
integer, intent(in) :: level

Treelm level of the cubes to be initialized.

type(treelmesh_type), intent(in) :: tree

The tree representation of your mesh.

public subroutine atl_get_numberOfElemsPerLevel(descriptor, nCells, tree)

Subroutine to count the number of elements per level.

Read more…

Arguments

Type IntentOptional 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

private subroutine calc_barycoord(treeids, nElems, bary_coord, tree)

Calculate barycentric coordinates of the tree ids given in treeids.

Arguments

Type IntentOptional 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.