atl_facedata_module Module

Collects routines and datatypes related to face information.


Uses

  • module~~atl_facedata_module~~UsesGraph module~atl_facedata_module atl_facedata_module env_module env_module module~atl_facedata_module->env_module module~atl_boundary_module atl_boundary_module module~atl_facedata_module->module~atl_boundary_module tem_construction_module tem_construction_module module~atl_facedata_module->tem_construction_module tem_faceData_module tem_faceData_module module~atl_facedata_module->tem_faceData_module module~atl_boundary_module->env_module module~atl_boundary_module->tem_faceData_module aotus_module aotus_module module~atl_boundary_module->aotus_module module~atl_bc_header_module atl_bc_header_module module~atl_boundary_module->module~atl_bc_header_module module~atl_cube_elem_module atl_cube_elem_module module~atl_boundary_module->module~atl_cube_elem_module module~atl_equation_module atl_equation_module module~atl_boundary_module->module~atl_equation_module module~atl_reference_element_module atl_reference_element_module module~atl_boundary_module->module~atl_reference_element_module module~atl_scheme_module atl_scheme_module module~atl_boundary_module->module~atl_scheme_module module~ply_poly_project_module ply_poly_project_module module~atl_boundary_module->module~ply_poly_project_module tem_aux_module tem_aux_module module~atl_boundary_module->tem_aux_module tem_bc_header_module tem_bc_header_module module~atl_boundary_module->tem_bc_header_module tem_bc_prop_module tem_bc_prop_module module~atl_boundary_module->tem_bc_prop_module tem_element_module tem_element_module module~atl_boundary_module->tem_element_module tem_grow_array_module tem_grow_array_module module~atl_boundary_module->tem_grow_array_module tem_logging_module tem_logging_module module~atl_boundary_module->tem_logging_module tem_varSys_module tem_varSys_module module~atl_boundary_module->tem_varSys_module treelmesh_module treelmesh_module module~atl_boundary_module->treelmesh_module

Used by


Variables

Type Visibility Attributes Name Initial
real(kind=rk), public, parameter, dimension(2) :: atl_elemfaceToNormal_prp = reshape((/-1.0_rk, 1.0_rk/), (/2/))

outer unit surface normal coefficient.

Maps left or right face to its outer unit surface normal. Because of our cubical elements we do not need full 3-dimensional vectors here and we store only the non-zero components. Use \link tem_face_module:tem_leftface_prp \endlink and \link tem_face_module:tem_rightface_prp \endlink to access this mapping.


Interfaces

public interface atl_init_facedata

  • private subroutine atl_init_facedata_sym(faces, facedata, minLevel, maxLevel, nDim, nScalars, nFaceDofs, boundary)

    Creates the datastructures for modal representations on the faces. This routine creates symmetric representations, i.e. state and fluxes have the same number of variables on the face.

    Arguments

    Type IntentOptional Attributes Name
    type(tem_face_type), intent(in) :: faces(minLevel:maxLevel)

    Description of the faces (levelwise).

    type(atl_facedata_type), intent(out), allocatable :: facedata(:)

    The face data to be initialized (levelwise, running from minLevel to maxLevel).

    integer, intent(in) :: minLevel

    The minimum refinement level of the mesh.

    integer, intent(in) :: maxLevel

    The maximum refinement level of the mesh.

    integer, intent(in) :: nDim

    The number of dimensions of the used scheme.

    integer, intent(in) :: nScalars

    The number of scalar variables to store on the faces.

    integer, intent(in) :: nFaceDofs(minLevel:maxLevel)

    The number of degrees of freedoms on the face (one value for each level).

    type(atl_level_boundary_type), intent(in) :: boundary(minLevel:maxLevel)

    The boundary description for the faces on all levels of the mesh.

  • private subroutine atl_init_facedata_asym(faces, facedata, minLevel, maxLevel, nDim, nScalarsState, nScalarsFlux, nFaceDofs, boundary)

    Creates the datastructures for modal representations on the faces. This routine creates asymmetric representations, i.e. state and fluxes have different number of variables on the face.

    Arguments

    Type IntentOptional Attributes Name
    type(tem_face_type), intent(in) :: faces(minLevel:maxLevel)

    Description of the faces (levelwise).

    type(atl_facedata_type), intent(out), allocatable :: facedata(:)

    The face data to be initialized (levelwise, running from minLevel to maxLevel).

    integer, intent(in) :: minLevel

    The minimum refinement level of the mesh.

    integer, intent(in) :: maxLevel

    The maximum refinement level of the mesh.

    integer, intent(in) :: nDim

    The number of dimensions of the used scheme.

    integer, intent(in) :: nScalarsState

    The number of scalar variables to store on the faces for the state.

    integer, intent(in) :: nScalarsFlux

    The number of scalar variables to store on the faces for the flux.

    integer, intent(in) :: nFaceDofs(minLevel:maxLevel)

    The number of degrees of freedoms on the face (one value for each level).

    type(atl_level_boundary_type), intent(in) :: boundary(minLevel:maxLevel)

    The boundary description for the faces on all levels of the mesh.


Derived Types

type, public ::  atl_faceRep_type

Representation of a solution on a set of faces (all of them in a fixed spatial direction).

Components

Type Visibility Attributes Name Initial
integer, public :: nFaces = 0

The number of faces with a face representation.

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

Data for the face representation. The size of this array is: \n (nFaces, nFaceDofs, nScalars,2) -> 2 because of left and right face.

type, public ::  atl_facedata_type

Datatype to represent data defined on the faces of a cubical element.

Components

Type Visibility Attributes Name Initial
type(atl_faceRep_type), public :: faceRep(3)

Representation of the state on the face. We handle it for each spatial direction (x,y,z) separately.

type(atl_faceRep_type), public :: faceFlux(3)

Representation of the flux on the face. We handle it for each spatial direction (x,y,z) separately.


Subroutines

private subroutine atl_init_facedata_sym(faces, facedata, minLevel, maxLevel, nDim, nScalars, nFaceDofs, boundary)

I n i t i a l i z e s

t h e

f a c e

d a t a

b y

a

g i v e n

s e t

o f

f a c e s .

Read more…

Arguments

Type IntentOptional Attributes Name
type(tem_face_type), intent(in) :: faces(minLevel:maxLevel)

Description of the faces (levelwise).

type(atl_facedata_type), intent(out), allocatable :: facedata(:)

The face data to be initialized (levelwise, running from minLevel to maxLevel).

integer, intent(in) :: minLevel

The minimum refinement level of the mesh.

integer, intent(in) :: maxLevel

The maximum refinement level of the mesh.

integer, intent(in) :: nDim

The number of dimensions of the used scheme.

integer, intent(in) :: nScalars

The number of scalar variables to store on the faces.

integer, intent(in) :: nFaceDofs(minLevel:maxLevel)

The number of degrees of freedoms on the face (one value for each level).

type(atl_level_boundary_type), intent(in) :: boundary(minLevel:maxLevel)

The boundary description for the faces on all levels of the mesh.

private subroutine atl_init_facedata_asym(faces, facedata, minLevel, maxLevel, nDim, nScalarsState, nScalarsFlux, nFaceDofs, boundary)

I n i t i a l i z e s

t h e

f a c e

d a t a

b y

a

g i v e n

s e t

o f

f a c e s

( a s y m m e t r i c a l l y ) .

Read more…

Arguments

Type IntentOptional Attributes Name
type(tem_face_type), intent(in) :: faces(minLevel:maxLevel)

Description of the faces (levelwise).

type(atl_facedata_type), intent(out), allocatable :: facedata(:)

The face data to be initialized (levelwise, running from minLevel to maxLevel).

integer, intent(in) :: minLevel

The minimum refinement level of the mesh.

integer, intent(in) :: maxLevel

The maximum refinement level of the mesh.

integer, intent(in) :: nDim

The number of dimensions of the used scheme.

integer, intent(in) :: nScalarsState

The number of scalar variables to store on the faces for the state.

integer, intent(in) :: nScalarsFlux

The number of scalar variables to store on the faces for the flux.

integer, intent(in) :: nFaceDofs(minLevel:maxLevel)

The number of degrees of freedoms on the face (one value for each level).

type(atl_level_boundary_type), intent(in) :: boundary(minLevel:maxLevel)

The boundary description for the faces on all levels of the mesh.

private subroutine atl_init_facerep(nScalars, nFaceDofs, faceRep, dimLevelDesc, dir, boundary)

I n i t i a l i z e s

t h e

f a c e

d a t a

b y

a

g i v e n

s e t

o f

f a c e s .

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nScalars

The number of scalar variables to store on the faces.

integer, intent(in) :: nFaceDofs

The number of degrees of freedoms on the face.

type(atl_faceRep_type), intent(out) :: faceRep

The face representation to be initialized.

type(tem_levelDesc_type), intent(in) :: dimLevelDesc

Dimension-by-dimension level description of the mesh.

integer, intent(in) :: dir

The spatial direciton:\n 1 -> x direction \n 2 -> y direction \n 3 -> z direction

type(atl_level_boundary_type), intent(in) :: boundary

The boundary description for the faces on the current level.