atl_parallel_module Module

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


Uses

  • module~~atl_parallel_module~~UsesGraph module~atl_parallel_module atl_parallel_module module~atl_cube_elem_module atl_cube_elem_module module~atl_parallel_module->module~atl_cube_elem_module module~atl_scheme_module atl_scheme_module module~atl_parallel_module->module~atl_scheme_module module~tem_construction_module tem_construction_module module~atl_parallel_module->module~tem_construction_module module~atl_boundary_module atl_boundary_module module~atl_parallel_module->module~atl_boundary_module module~tem_facedata_module tem_faceData_module module~atl_parallel_module->module~tem_facedata_module module~tem_comm_module tem_comm_module module~atl_parallel_module->module~tem_comm_module module~atl_cube_elem_module->module~tem_construction_module module~atl_cube_elem_module->module~tem_facedata_module module~tem_geometry_module tem_geometry_module module~atl_cube_elem_module->module~tem_geometry_module module~env_module env_module module~atl_cube_elem_module->module~env_module module~tem_logging_module tem_logging_module module~atl_cube_elem_module->module~tem_logging_module module~treelmesh_module treelmesh_module module~atl_cube_elem_module->module~treelmesh_module module~aotus_module aotus_module module~atl_scheme_module->module~aotus_module module~atl_modg_2d_scheme_module atl_modg_2d_scheme_module module~atl_scheme_module->module~atl_modg_2d_scheme_module module~atl_scheme_module->module~env_module module~atl_modg_scheme_module atl_modg_scheme_module module~atl_scheme_module->module~atl_modg_scheme_module module~atl_scheme_module->module~tem_logging_module module~aot_table_module aot_table_module module~atl_scheme_module->module~aot_table_module module~tem_aux_module tem_aux_module module~atl_scheme_module->module~tem_aux_module module~atl_modg_1d_scheme_module atl_modg_1d_scheme_module module~atl_scheme_module->module~atl_modg_1d_scheme_module module~ply_modg_basis_module ply_modg_basis_module module~atl_scheme_module->module~ply_modg_basis_module module~tem_stencil_module tem_stencil_module module~atl_scheme_module->module~tem_stencil_module module~tem_tools_module tem_tools_module module~atl_scheme_module->module~tem_tools_module module~atl_stabilization_module atl_stabilization_module module~atl_scheme_module->module~atl_stabilization_module module~atl_boundary_module->module~atl_cube_elem_module module~atl_boundary_module->module~atl_scheme_module module~atl_boundary_module->module~tem_facedata_module module~atl_boundary_module->module~aotus_module module~atl_reference_element_module atl_reference_element_module module~atl_boundary_module->module~atl_reference_element_module module~atl_boundary_module->module~env_module module~tem_varsys_module tem_varSys_module module~atl_boundary_module->module~tem_varsys_module module~atl_bc_header_module atl_bc_header_module module~atl_boundary_module->module~atl_bc_header_module module~tem_bc_header_module tem_bc_header_module module~atl_boundary_module->module~tem_bc_header_module module~tem_bc_prop_module tem_bc_prop_module module~atl_boundary_module->module~tem_bc_prop_module module~atl_boundary_module->module~tem_logging_module module~tem_grow_array_module tem_grow_array_module module~atl_boundary_module->module~tem_grow_array_module module~atl_boundary_module->module~tem_aux_module module~atl_equation_module atl_equation_module module~atl_boundary_module->module~atl_equation_module module~tem_element_module tem_element_module module~atl_boundary_module->module~tem_element_module module~atl_boundary_module->module~treelmesh_module module~ply_poly_project_module ply_poly_project_module module~atl_boundary_module->module~ply_poly_project_module

Used by

  • module~~atl_parallel_module~~UsedByGraph module~atl_parallel_module atl_parallel_module module~atl_materialini_module atl_materialIni_module module~atl_materialini_module->module~atl_parallel_module module~atl_modg_1d_kernel_module atl_modg_1d_kernel_module module~atl_modg_1d_kernel_module->module~atl_parallel_module module~atl_modg_1d_kernel_module->module~atl_materialini_module module~atl_modg_2d_kernel_module atl_modg_2d_kernel_module module~atl_modg_2d_kernel_module->module~atl_parallel_module module~atl_modg_2d_kernel_module->module~atl_materialini_module module~atl_modg_kernel_module atl_modg_kernel_module module~atl_modg_kernel_module->module~atl_parallel_module module~atl_modg_kernel_module->module~atl_materialini_module proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->module~atl_modg_1d_kernel_module proc~preprocess_rhs_cubes->module~atl_modg_2d_kernel_module proc~preprocess_rhs_cubes->module~atl_modg_kernel_module module~atl_initialize_module atl_initialize_module module~atl_initialize_module->module~atl_materialini_module module~atl_container_module atl_container_module module~atl_initialize_module->module~atl_container_module module~atl_compute_local_module atl_compute_local_module module~atl_compute_local_module->module~atl_modg_kernel_module proc~modg_1d_compute_project_physflux modg_1d_compute_project_physFlux proc~modg_1d_compute_project_physflux->module~atl_modg_1d_kernel_module proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->module~atl_modg_2d_kernel_module proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->module~atl_modg_kernel_module module~atl_container_module->module~atl_modg_1d_kernel_module module~atl_container_module->module~atl_modg_2d_kernel_module module~atl_container_module->module~atl_modg_kernel_module proc~compute_rhs_cubes_modg_1d compute_rhs_cubes_modg_1d proc~compute_rhs_cubes_modg_1d->module~atl_modg_1d_kernel_module proc~postprocess_rhs_cubes postprocess_rhs_cubes proc~postprocess_rhs_cubes->module~atl_modg_1d_kernel_module proc~postprocess_rhs_cubes->module~atl_modg_2d_kernel_module proc~postprocess_rhs_cubes->module~atl_modg_kernel_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_initialize_module module~atl_program_module->module~atl_container_module module~atl_predcor_cerk4_module atl_predcor_cerk4_module module~atl_predcor_cerk4_module->module~atl_compute_local_module program~ateles ateles program~ateles->module~atl_container_module program~ateles->module~atl_program_module program~atl_harvesting atl_harvesting program~atl_harvesting->module~atl_initialize_module program~atl_harvesting->module~atl_container_module program~atl_harvesting->module~atl_program_module module~atl_global_time_integration_module atl_global_time_integration_module module~atl_global_time_integration_module->module~atl_predcor_cerk4_module

Contents


Derived Types

type, private :: intarray_type

Components

TypeVisibilityAttributesNameInitial
integer, private, 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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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