Module ppm_module_map_part_global

This module provides the mapping routines for global particle mapping

Defined Types

name description

no types

Defined Module Interfaces

Defined Module Subroutines

name description

no subroutines

Interface ppm_map_part_global

Subroutines contained in this interface:

name description

ppm_map_part_global_d

This routine maps the particles onto the given

ppm_map_part_global_s

This routine maps the particles onto the given

Interface ppm_map_part_remap

Subroutines contained in this interface:

name description

ppm_map_part_remap_d

This routine maps the particles onto the given topology.

ppm_map_part_remap_s

This routine maps the particles onto the given topology.

Subroutine ppm_map_part_global_d

This routine maps the particles onto the given topology using a global mapping (i.e. every processor communicates with every other).

The first part of the buffer contains the on processor data.

The storing of ppm_map_type is not used (yet)

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

ID of an existing topology to map onto or ppm_param_topo_undefined

xp

real array

(:,:)

(IN)

The position of the particles

npart

integer

(IN)

Number of particles (on local processor)

info

integer

(OUT)

Return status, 0 on success

userdef_part2proc

integer array

(:)

X

The processor assignment for each particle

target_topoid

integer, , (IN)

ID of an existing topology to map onto or ppm_param_topo_undefined if a non geometric mapping should be used. In the latter case ppm will call internally ppm_map_part_equidistributed to distribute the particles proportionaly to processor speeds.

If the user supplies ppm_param_topo_undefined an optional parameter userdef_part2proc can be used to specify explicitly which particle should be moved to which processor.

xp

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

The position of the particles

npart

integer, , (IN)

Number of particles (on local processor)

info

integer, , (OUT)

Return status, 0 on success

(Optional) userdef_part2proc

integer array, (:), no intent declared

The processor assignment for each particle

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_map_part_util, ppm_module_substart

Subroutine ppm_map_part_global_s

This routine maps the particles onto the given topology using a global mapping (i.e. every processor communicates with every other).

The first part of the buffer contains the on processor data.

The storing of ppm_map_type is not used (yet)

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

ID of an existing topology to map onto or ppm_param_topo_undefined

xp

real array

(:,:)

(IN)

The position of the particles

npart

integer

(IN)

Number of particles (on local processor)

info

integer

(OUT)

Return status, 0 on success

userdef_part2proc

integer array

(:)

X

The processor assignment for each particle

target_topoid

integer, , (IN)

ID of an existing topology to map onto or ppm_param_topo_undefined if a non geometric mapping should be used. In the latter case ppm will call internally ppm_map_part_equidistributed to distribute the particles proportionaly to processor speeds.

If the user supplies ppm_param_topo_undefined an optional parameter userdef_part2proc can be used to specify explicitly which particle should be moved to which processor.

xp

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

The position of the particles

npart

integer, , (IN)

Number of particles (on local processor)

info

integer, , (OUT)

Return status, 0 on success

(Optional) userdef_part2proc

integer array, (:), no intent declared

The processor assignment for each particle

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_map_part_util, ppm_module_substart

Subroutine ppm_map_part_remap_d

This routine maps the particles onto the given topology.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology identifier of destination topology.

xp

real array

(:,:)

(IN)

The position of the particles

npart

integer

(IN)

The number of particles (on processor)

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

Topology identifier of destination topology.

xp

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

The position of the particles

npart

integer, , (IN)

The number of particles (on processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_check_id, ppm_module_substop, ppm_module_topo_check, ppm_module_substart

Subroutine ppm_map_part_remap_s

This routine maps the particles onto the given topology.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology identifier of destination topology.

xp

real array

(:,:)

(IN)

The position of the particles

npart

integer

(IN)

The number of particles (on processor)

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

Topology identifier of destination topology.

xp

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

The position of the particles

npart

integer, , (IN)

The number of particles (on processor)

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_check_id, ppm_module_substop, ppm_module_topo_check, ppm_module_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

has no uses