tem_face_descriptor_type Derived Type

type, public :: tem_face_descriptor_type

Datatype to provide face information for all faces in one direction on the same level.


Inherits

type~~tem_face_descriptor_type~~InheritsGraph type~tem_face_descriptor_type tem_face_descriptor_type type~tem_facelist_type tem_faceList_type type~tem_face_descriptor_type->type~tem_facelist_type faceList type~tem_communication_type tem_communication_type type~tem_face_descriptor_type->type~tem_communication_type recvBuffer_state, sendBuffer_state, recvBuffer_flux, sendBuffer_flux type~tem_facedep_type tem_faceDep_type type~tem_face_descriptor_type->type~tem_facedep_type faceDep type~tem_faceiterator_type tem_faceIterator_type type~tem_face_descriptor_type->type~tem_faceiterator_type computeFace type~tem_faceinterpolation_type tem_faceInterpolation_type type~tem_face_descriptor_type->type~tem_faceinterpolation_type fromFinerFace type~dyn_longarray_type dyn_longarray_type type~tem_facelist_type->type~dyn_longarray_type faceId type~grw_intarray_type grw_intarray_type type~tem_facelist_type->type~grw_intarray_type leftElemPos, rightElemPos, leftPrp, rightPrp type~grw_longarray_type grw_longarray_type type~tem_facelist_type->type~grw_longarray_type rightElemId type~tem_communication_type->type~grw_intarray_type elemPos type~tem_intbuffer_type tem_intbuffer_type type~tem_communication_type->type~tem_intbuffer_type buf_int type~tem_longbuffer_type tem_longbuffer_type type~tem_communication_type->type~tem_longbuffer_type buf_long type~tem_realbuffer_type tem_realbuffer_type type~tem_communication_type->type~tem_realbuffer_type buf_real c_ptr c_ptr type~tem_intbuffer_type->c_ptr mem_mpi type~tem_longbuffer_type->c_ptr mem_mpi type~tem_realbuffer_type->c_ptr mem_mpi

Inherited by

type~~tem_face_descriptor_type~~InheritedByGraph type~tem_face_descriptor_type tem_face_descriptor_type type~tem_face_type tem_face_type type~tem_face_type->type~tem_face_descriptor_type faces

Contents


Components

Type Visibility Attributes Name Initial
type(tem_faceList_type), public :: faceList

A dynamic list of faces in this descriptor.

type(tem_faceDep_type), public :: faceDep

For each element in tem_faceList_type we store the up- and downward facial dependencies.

type(tem_faceIterator_type), public :: computeFace

Datatype which holds iterators for the computable faces.

type(tem_faceInterpolation_type), public :: fromFinerFace(2)

Datatype which holds iterators for the from finer faces. We separate left and right faces. To determine which direction corresponds to left or right face, have a look at this tem_dirToFace_map.

type(tem_communication_type), public :: recvBuffer_state(2)

Buffer for state data which will be received before each compute step One buffer for the left faces of each cell and another one for the right faces of the cells. To determine which direction corresponds to left or right face, have a look at this tem_dirToFace_map.

type(tem_communication_type), public :: sendBuffer_state(2)

Buffer for state data which will be send before each compute step. One buffer for the left faces of each cell and another one for the right faces of the cells. To determine which direction corresponds to left or right face, have a look at this tem_dirToFace_map.

type(tem_communication_type), public :: recvBuffer_flux(2)

Buffer for flux data which will be received before each compute step One buffer for the left faces of each cell and another one for the right faces of the cells. To determine which direction corresponds to left or right face, have a look at this tem_dirToFace_map.

type(tem_communication_type), public :: sendBuffer_flux(2)

Buffer for flux data which will be send before each compute step. One buffer for the left faces of each cell and another one for the right faces of the cells. To determine which direction corresponds to left or right face, have a look at this tem_dirToFace_map.


Source Code

  type tem_face_descriptor_type
    !> A dynamic list of faces in this descriptor.
    type(tem_faceList_type) :: faceList

    !> For each element in
    !! [[tem_faceData_module:tem_facelist_type]]
    !! we store the up- and downward facial dependencies.
    type(tem_faceDep_type) :: faceDep
    !> Datatype which holds iterators for the computable faces.
    type(tem_faceIterator_type) :: computeFace

    !> Datatype which holds iterators for the from finer faces.
    !! We separate left and right faces. To determine which direction
    !! corresponds to left or right face, have a look at this
    !! [[tem_faceData_module:tem_dirtoface_map]].
    type(tem_faceInterpolation_type) :: fromFinerFace(2)
    !> Buffer for state data which will be received before each compute step
    !! One buffer for the left faces of each cell and another one
    !! for the right faces of the cells. To determine which direction
    !! corresponds to left or right face, have a look at this
    !! [[tem_faceData_module:tem_dirtoface_map]].
    type(tem_communication_type) :: recvBuffer_state(2)
    !> Buffer for state data which will be send before each compute step.
    !! One buffer for the left faces of each cell and another one
    !! for the right faces of the cells. To determine which direction
    !! corresponds to left or right face, have a look at this
    !! [[tem_faceData_module:tem_dirtoface_map]].
    type(tem_communication_type) :: sendBuffer_state(2)
    !> Buffer for flux data which will be received before each compute step
    !! One buffer for the left faces of each cell and another one
    !! for the right faces of the cells. To determine which direction
    !! corresponds to left or right face, have a look at this
    !! [[tem_faceData_module:tem_dirtoface_map]].
    type(tem_communication_type) :: recvBuffer_flux(2)
    !> Buffer for flux data which will be send before each compute step.
    !! One buffer for the left faces of each cell and another one
    !! for the right faces of the cells. To determine which direction
    !! corresponds to left or right face, have a look at this
    !! [[tem_faceData_module:tem_dirtoface_map]].
    type(tem_communication_type) :: sendBuffer_flux(2)
  end type tem_face_descriptor_type