Module ppm_module_map_part

This module provides the basic mapping routines for particles, namely the push, sned and pop routine.

The module also holds the needed work arrays for these routines.

Defined Types

name description

no types

Defined Module Interfaces

Defined Module Subroutines

name description

no subroutines

Interface ppm_map_part_pop

Subroutines contained in this interface:

name description

ppm_map_part_pop_1dd

This routine pops the contents of the receive buffer.

ppm_map_part_pop_1ds

This routine pops the contents of the receive buffer.

ppm_map_part_pop_1di

This routine pops the contents of the receive buffer.

ppm_map_part_pop_1dl

This routine pops the contents of the receive buffer.

ppm_map_part_pop_1ddc

This routine pops the contents of the receive buffer.

ppm_map_part_pop_1dsc

This routine pops the contents of the receive buffer.

ppm_map_part_pop_2dd

This routine pops the contents of the receive buffer.

ppm_map_part_pop_2ds

This routine pops the contents of the receive buffer.

ppm_map_part_pop_2di

This routine pops the contents of the receive buffer.

ppm_map_part_pop_2dl

This routine pops the contents of the receive buffer.

ppm_map_part_pop_2ddc

This routine pops the contents of the receive buffer.

ppm_map_part_pop_2dsc

This routine pops the contents of the receive buffer.

Interface ppm_map_part_push

Subroutines contained in this interface:

name description

ppm_map_part_push_1dd

This routine pushes particle data onto the send buffer.

ppm_map_part_push_1ds

This routine pushes particle data onto the send buffer.

ppm_map_part_push_1di

This routine pushes particle data onto the send buffer.

ppm_map_part_push_1dl

This routine pushes particle data onto the send buffer.

ppm_map_part_push_1ddc

This routine pushes particle data onto the send buffer.

ppm_map_part_push_1dsc

This routine pushes particle data onto the send buffer.

ppm_map_part_push_2dd

This routine pushes particle data onto the send buffer.

ppm_map_part_push_2ds

This routine pushes particle data onto the send buffer.

ppm_map_part_push_2di

This routine pushes particle data onto the send buffer.

ppm_map_part_push_2dl

This routine pushes particle data onto the send buffer.

ppm_map_part_push_2ddc

This routine pushes particle data onto the send buffer.

ppm_map_part_push_2dsc

This routine pushes particle data onto the send buffer.

Interface ppm_map_part_send

Subroutines contained in this interface:

name description

ppm_map_part_send

This routine performs the actual send/recv of the particles and all

Subroutine ppm_map_part_pop_1dd

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:)

Particle data to be popped.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

real array, (:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_1ddc

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:)

Particle data to be popped.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

complex array, (:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_1di

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

integer array

(:)

Particle data to be popped.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

integer array, (:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_1dl

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

logical array

(:)

Particle data to be popped.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

logical array, (:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_1ds

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:)

Particle data to be popped.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

real array, (:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_1dsc

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:)

Particle data to be popped.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

complex array, (:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_2dd

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:,:)

Particle data to be popped.

lda

integer

(IN)

The leading dimension of pdata.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

real array, (:,:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of pdata.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_2ddc

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:,:)

Particle data to be popped.

lda

integer

(IN)

The leading dimension of pdata.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

complex array, (:,:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of pdata.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_2di

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

integer array

(:,:)

Particle data to be popped.

lda

integer

(IN)

The leading dimension of pdata.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

integer array, (:,:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of pdata.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_2dl

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

logical array

(:,:)

Particle data to be popped.

lda

integer

(IN)

The leading dimension of pdata.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

logical array, (:,:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of pdata.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_2ds

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:,:)

Particle data to be popped.

lda

integer

(IN)

The leading dimension of pdata.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

real array, (:,:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of pdata.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_pop_2dsc

This routine pops the contents of the receive buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

Maybe remove the lda from the argument list (since it is only used to check against ppm_buffer_dim anyway) and check size(pdata,1) against ppm_buffer_dim. (does the size(,) stuff also work if the array was allocated in a C client?)

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:,:)

Particle data to be popped.

lda

integer

(IN)

The leading dimension of pdata.

npart

integer

(IN)

The old number of particles (on the processor)

newnpart

integer

(IN)

The new number of particles (on the processor)

info

integer

(OUT)

Returns status, 0 upon success

pdata

complex array, (:,:), no intent declared

Particle data to be popped. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of pdata.

npart

integer, , (IN)

The old number of particles (on the processor)

newnpart

integer, , (IN)

The new number of particles (on the processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Subroutine ppm_map_part_push_1dd

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:)

(IN)

Particle data.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

real array, (:), (IN)

Particle data. Can be either 1D or 2D array.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_1ddc

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:)

(IN)

Particle data.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

complex array, (:), (IN)

Particle data. Can be either 1D or 2D array.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_1di

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

integer array

(:)

(IN)

Particle data.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

integer array, (:), (IN)

Particle data. Can be either 1D or 2D array.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_1dl

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

logical array

(:)

(IN)

Particle data.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

logical array, (:), (IN)

Particle data. Can be either 1D or 2D array.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_1ds

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:)

(IN)

Particle data.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

real array, (:), (IN)

Particle data. Can be either 1D or 2D array.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_1dsc

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:)

(IN)

Particle data.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

complex array, (:), (IN)

Particle data. Can be either 1D or 2D array.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_2dd

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:,:)

(IN)

Particle data.

lda

integer

(IN)

The leading dimension of the pdata.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

real array, (:,:), (IN)

Particle data. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of the pdata.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_2ddc

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:,:)

(IN)

Particle data.

lda

integer

(IN)

The leading dimension of the pdata.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

complex array, (:,:), (IN)

Particle data. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of the pdata.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_2di

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

integer array

(:,:)

(IN)

Particle data.

lda

integer

(IN)

The leading dimension of the pdata.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

integer array, (:,:), (IN)

Particle data. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of the pdata.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_2dl

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

logical array

(:,:)

(IN)

Particle data.

lda

integer

(IN)

The leading dimension of the pdata.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

logical array, (:,:), (IN)

Particle data. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of the pdata.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_2ds

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

real array

(:,:)

(IN)

Particle data.

lda

integer

(IN)

The leading dimension of the pdata.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

real array, (:,:), (IN)

Particle data. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of the pdata.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_push_2dsc

This routine pushes particle data onto the send buffer.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Warning]Warning

DIM is the dimension of the pdata array and not the space dimension ppm_dim!

Arguments

name type dimension intent optional description

pdata

complex array

(:,:)

(IN)

Particle data.

lda

integer

(IN)

The leading dimension of the pdata.

npart

integer

(IN)

Number of particles

info

integer

(OUT)

Returns 0 upon success

pushpp

logical

(IN)

X

If TRUE then pdata is assumed to contain the particle positions

pdata

complex array, (:,:), (IN)

Particle data. Can be either 1D or 2D array.

lda

integer, , (IN)

The leading dimension of the pdata.

npart

integer, , (IN)

Number of particles

info

integer, , (OUT)

Returns 0 upon success

(Optional) pushpp

logical, , (IN)

If TRUE then pdata is assumed to contain the particle positions (xp)

Used Modules

ppm_module_data, ppm_module_alloc, ppm_module_error, ppm_module_substop, ppm_module_substart

Subroutine ppm_map_part_send

This routine performs the actual send/recv of the particles and all pushed data.

[Note]Note

The first part of the buffer contains the on processor data. The packing could be performed more efficiently.

[Note]Note

The two send/recv of the integers should be combined into one send/receive

Arguments

name type dimension intent optional description

npart

integer

(IN)

The old number of particles on the processor

mpart

integer

(OUT)

The new number of particles on processor after the send/recv

info

integer

(OUT)

Return status, 0 upon success

npart

integer, , (IN)

The old number of particles on the processor

mpart

integer, , (OUT)

The new number of particles on processor after the send/recv

info

integer, , (OUT)

Return status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_write, ppm_module_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

ppm_module_map_part_util, ppm_module_map_part_ghost, ppm_module_map_part_global, ppm_module_map_part_partial, ppm_module_data