module fd4_globaldef_mod module fd4_vartab_mod module fd4_block_mod module fd4_comm_mod module fd4_domain_mod module fd4_neigh_mod module fd4_mpitype_mod module fd4_mpi_mod module fd4_ghostlist_mod module stack_mod module mrgrnk_modTypes:
public type fd4_ghostblock_types public type fd4_ghostcommVariables:
integer (kind=i8k), public :: ghostcomm_total_sizeSubroutines and functions:
public subroutine fd4_ghostcomm_create (gc, domain, nfields, idx, st, err, opt_exchdir) public subroutine fd4_ghostcomm_delete (gc) public subroutine fd4_ghostcomm_exch (gc, err)
Preprocessor options:
Author: Matthias Lieber
See also: module fd4_comm
public type fd4_ghostblock_types integer, dimension (3,2) :: btypes integer, dimension (3) :: gtypes end type fd4_ghostblock_typesComponents:
btypes | block types for comm. in (dim,dir) |
gtypes | ghost block types for comm. in (dim) |
public type fd4_ghostcomm type (fd4_domain), pointer :: domain => null () type (fd4_ghostblock_types), pointer, dimension (:,:,:) :: gbt type (fd4_neigh), pointer, dimension (:) :: neigh integer (kind=i8k) :: partition_id logical, dimension (3) :: exchdir end type fd4_ghostcommComponents:
domain | the domain |
gbt | (ghost) block types for each existing spatial block size |
neigh | data associated with each neighbor MPI rank |
partition_id | unique identifier of the current partition (counter) |
exchdir | flag whether to exchange ghosts or not for each spatial dimension |
public subroutine fd4_ghostcomm_create (gc, domain, nfields, idx, st, err, opt_exchdir) type (fd4_ghostcomm), intent(inout) :: gc type (fd4_domain), intent(inout), target :: domain integer (kind=i_k), intent(in) :: nfields integer (kind=i_k), intent(in), dimension (nfields) :: idx integer (kind=i_k), intent(in), dimension (nfields) :: st integer (kind=i_k), intent(out) :: err integer (kind=i_k), optional, intent(in), dimension (nfields) :: opt_exchdir end subroutine fd4_ghostcomm_createParameters:
gc | the ghost communication description |
domain | the domain |
nfields | number of fields in idx and st |
idx | variable indexes |
st | time steps |
err | error status: 0...ok |
opt_exchdir | definition of spatial dimensions for ghost exchange for each variable |
The default value of opt_exchdir is to exchange all dimensions for all variables. Valid values for opt_exchdir are FD4_X, FD4_Y, FD4_Z, FD4_XY, FD4_XZ, FD4_YZ, and FD4_XYZ.
TODO:
public subroutine fd4_ghostcomm_delete (gc) type (fd4_ghostcomm), intent(inout) :: gc end subroutine fd4_ghostcomm_deleteParameters:
gc | the ghost communication description |
public subroutine fd4_ghostcomm_exch (gc, err) type (fd4_ghostcomm), intent(inout), target :: gc integer (kind=i_k), intent(out) :: err end subroutine fd4_ghostcomm_exchParameters:
gc | the ghost communication description |
err | error status: 0...ok |