atl_parallel_module Module

module to keep all routines and data types related to parallel execution.



Derived Types

type, private ::  intarray_type

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: val(:)

Subroutines

public subroutine atl_init_parallel_module(scheme, nValsElem, nValsStateFace, nValsFluxFace, cube, boundary, createCellBuffer, createFaceBuffer, createStabFaceBuffer, createStabElemBuffer, nBndStabElems, minLevel, maxLevel, commPattern)

initialize the parallel module to make it usable in ATELES

Arguments

Type IntentOptional Attributes Name
type(atl_scheme_type), intent(in) :: scheme(minLevel:maxLevel)

levelwise list of schemes.

integer, intent(in) :: nValsElem

the number of scalar values for each element.

integer, intent(in) :: nValsStateFace

the number of scalar values on the face for the state

integer, intent(in) :: nValsFluxFace

the number of scalar values on the face for the flux

type(atl_cube_elem_type), intent(inout) :: cube(minLevel:maxLevel)

list of cubic meshes you want to build the buffers for.

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

The boundary description for the faces on the current level.

logical, intent(in) :: createCellBuffer

Boolean to indicate if cell state buffers a required or not.

logical, intent(in) :: createFaceBuffer

Boolean to indicate if face buffers a required or not.

logical, intent(in) :: createStabFaceBuffer

Boolean to indicate if face buffers for stabilization are required or not.

logical, intent(in) :: createStabElemBuffer

Boolean to indicate if elem buffers for stabilization are required or not.

integer, intent(in) :: nBndStabElems(minLevel:maxLevel,1:3)

The number of boundary elements for the stabilization element buffer

integer, intent(in) :: minLevel

The minimal refinement level of your mesh.

integer, intent(in) :: maxLevel

The maximum refinement level of your mesh.

type(tem_commPattern_type), intent(in) :: commPattern

mpi communication pattern type

public subroutine atl_init_faceStateBuffer(nFaceDofs, faces, nValsState, nValsFlux, boundary, commPattern, initRealBuf)

initializes the face buffers for communication.

Read more…

Arguments

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

The number of degrees of freedoms per scalar variable per face.

type(tem_face_type), intent(inout) :: faces

list of cubic meshes you want to build the buffers for.

integer, intent(in) :: nValsState

the number of scalar values on the face for the state

integer, intent(in) :: nValsFlux

the number of scalar values on the face for the flux

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

The boundary description for the faces on the current level.

type(tem_commPattern_type), intent(in) :: commPattern

mpi communication pattern type

logical, optional :: initRealBuf

Init real buffer (default), if not the integer buffer is initialized.

public subroutine atl_init_cellStateBuffer(scheme, nVars, levelDesc, nBndElems, commPattern)

Initialize the parallel module to make it usable in ATELES.

Read more…

Arguments

Type IntentOptional Attributes Name
type(atl_scheme_type), intent(in) :: scheme

the the data of the kernel on the current level.

integer, intent(in) :: nVars

the number of variables in our equation.

type(tem_levelDesc_type), intent(inout) :: levelDesc

the buffer for the cell state transfer you want to be initialized.

integer, intent(in) :: nBndElems

The number of boundary elements.

type(tem_commPattern_type), intent(in) :: commPattern

mpi communication pattern type