Module ppm_module_data

Declares global data types and variables.

[Note]Note

Most of the declared variables in this module should not be accessed directly by the PPM client developer, they are used internally in the library.

Defined Types

name description

no types

Defined Module Interfaces

name description

no interfaces

Defined Module Subroutines

name description

no subroutines

Defined Module Variables

name type dimension description

ppm_buffer2part

integer array

(:)

Used for the original on-processor particle IDs in the order in which

ppm_buffer_dim

integer array

(:)

dimensions of the original on-processor particle arrays.

ppm_buffer_set

integer

the total number of particle fields packed in

ppm_buffer_type

integer array

(:)

types of the data on the sendbuffer

ppm_comm

integer

ppm_debug

integer

are we in Debugging mode?

ppm_dim

integer

Dimensionality

ppm_ghost_offsetd

real array

(:)

ghost offset (double precison)

ppm_ghost_offsets

real array

(:)

ghost offset

ppm_ghosthack

integer array

(:,:)

invert map of ghost for symmetry

ppm_initialized

logical

Has ppm_init been called?

ppm_irecvlist

integer array

(:)

ppm_isendlist

integer array

(:)

ppm_kind

integer

Precision

ppm_logfile

integer

ppm_map_type

integer

ppm_mpi_kind

integer

MPI Precision

ppm_myepsd

real

ppm_myepss

real

ppm_next_avail_topo

integer

ID of the next available topology to be used by

ppm_nproc

integer

ppm_nrecvbuffer

integer

the size of the recv buffer (not the array but the number of

ppm_nrecvlist

integer

ppm_nsendbuffer

integer

the size of the send buffer (not the array but the number of

ppm_nsendlist

integer

ppm_pi_d

real

ppm_pi_s

real

ppm_precvbuffer

integer array

(:)

pointer to particles within the recv buffer

ppm_proc_speed

real array

(:)

ppm_psendbuffer

integer array

(:)

pointer to particles within the send buffer

ppm_rank

integer

ppm_recvbufferd

real array

(:)

recv buffer for particles

ppm_recvbuffers

real array

(:)

recv buffer for particles

ppm_recvbufsize

integer

the actual size of the receive buffer array

ppm_sendbufferd

real array

(:)

send buffer for particles

ppm_sendbuffers

real array

(:)

send buffer for particles

ppm_sendbufsize

integer

the actual size of the send buffer array

ppm_stderr

integer

ppm_stdout

integer

ppm_topo

ppm_ptr_t_topo array

(:)

the PPM topologies array

ppm_buffer2part

integer array, (:)

Used for the original on-processor particle IDs in the order in which they are in the sendbuffer. Used to push additional particle data on the buffer in the correct order.

ppm_buffer_dim

integer array, (:)

dimensions of the original on-processor particle arrays.

ppm_buffer_set

integer,

the total number of particle fields packed in the send buffer, ie. xp, vp is two sets

ppm_buffer_type

integer array, (:)

types of the data on the sendbuffer

ppm_comm

integer,

ppm_debug

integer,

are we in Debugging mode?

ppm_dim

integer,

Dimensionality

ppm_ghost_offsetd

real array, (:)

ghost offset (double precison)

ghost particles may have a spatial offset compared to their real particle - we need to store this offset in terms of the buffer id in order to be able to push/send/pop ghost coordinates in the ghost_get and ghost_put mapping; this is needed when using Verlet lists: here nothing is remapped and for symmetry we need both to put the particle forces etc. and to get the updated particle position; for the asymmetric case we do not put the forces back but we need to get the updated positions of the ghost - NOT getting ghosts - because a new mapping is NOT needed but simply reusing the old mapping push/send/popping the updated coordinates The offsets are stored as the pdata in the psendbuffer, i.e., ppm_ghost_offset(ibuffer+0) = xp_offset(1,) ppm_ghost_offset(ibuffer+1) = xp_offset(2,) ppm_ghost_offset(ibuffer+2) = xp_offset(3,)

ppm_ghost_offsets

real array, (:)

ghost offset

ghost particles may have a spatial offset compared to their real particle - we need to store this offset in terms of the buffer id in order to be able to push/send/pop ghost coordinates in the ghost_get and ghost_put mapping; this is needed when using Verlet lists: here nothing is remapped and for symmetry we need both to put the particle forces etc. and to get the updated particle position; for the asymmetric case we do not put the forces back but we need to get the updated positions of the ghost - NOT getting ghosts - because a new mapping is NOT needed but simply reusing the old mapping push/send/popping the updated coordinates The offsets are stored as the pdata in the psendbuffer, i.e., ppm_ghost_offset(ibuffer+0) = xp_offset(1,) ppm_ghost_offset(ibuffer+1) = xp_offset(2,) ppm_ghost_offset(ibuffer+2) = xp_offset(3,)

ppm_ghosthack

integer array, (:,:)

invert map of ghost for symmetry

ppm_initialized

logical,

Has ppm_init been called?

ppm_irecvlist

integer array, (:)

ppm_isendlist

integer array, (:)

ppm_kind

integer,

Precision

ppm_logfile

integer,

ppm_map_type

integer,

ppm_mpi_kind

integer,

MPI Precision

ppm_myepsd

real,

ppm_myepss

real,

ppm_next_avail_topo

integer,

ID of the next available topology to be used by ppm_topo_alloc.

At initialization this is set to ppm_param_undefined If it points within (1,SIZE(ppm_topo)) this slot is (re)used to store the new topology, if it is > SIZE(ppm_topo) then the ppm_topo array must be extended

ppm_nproc

integer,

ppm_nrecvbuffer

integer,

the size of the recv buffer (not the array but the number of used elements)

In terms of entries in the buffer not the number of particles

ppm_nrecvlist

integer,

ppm_nsendbuffer

integer,

the size of the send buffer (not the array but the number of used elements)

In terms of entries in the buffer not the number of particles

ppm_nsendlist

integer,

ppm_pi_d

real,

ppm_pi_s

real,

ppm_precvbuffer

integer array, (:)

pointer to particles within the recv buffer

In terms of particle not the actual position in the buffer

ppm_proc_speed

real array, (:)

ppm_psendbuffer

integer array, (:)

pointer to particles within the send buffer

In terms of particle not the actual position in the buffer

ppm_rank

integer,

ppm_recvbufferd

real array, (:)

recv buffer for particles

ppm_recvbuffers

real array, (:)

recv buffer for particles

ppm_recvbufsize

integer,

the actual size of the receive buffer array

ppm_sendbufferd

real array, (:)

send buffer for particles

ppm_sendbuffers

real array, (:)

send buffer for particles

ppm_sendbufsize

integer,

the actual size of the send buffer array

ppm_stderr

integer,

ppm_stdout

integer,

ppm_topo

ppm_ptr_t_topo array, (:)

the PPM topologies array

Used Modules

ppm_module_typedef