Module ppm_module_map_field

This module contains interfaces to the field mapping routines and all data structures and definitions that are PRIVATE to the mesh routines.

[Note]Note

The terminology distinguishes between meshes and fields (the data living on the meshes). Several fields can use the same mesh. Meshes are defined as ppm-internal TYPES, whereas fields are user-provided arrays.

Defined Types

name description

no types

Defined Module Interfaces

Defined Module Subroutines

name description

no subroutines

Interface ppm_map_field_init

Subroutines contained in this interface:

name description

ppm_map_field_init

This routine must be called before the ppm_map_field_globalstored

Interface ppm_map_field_pop

Subroutines contained in this interface:

name description

ppm_map_field_pop_2d_sca_d

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_sca_s

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_sca_i

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_sca_l

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_sca_sc

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_sca_dc

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_vec_d

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_vec_s

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_vec_i

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_vec_l

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_vec_sc

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_2d_vec_dc

This routine pops the list buffer for 2D mesh data

ppm_map_field_pop_3d_sca_d

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_sca_s

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_sca_i

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_sca_l

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_sca_sc

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_sca_dc

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_vec_d

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_vec_s

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_vec_i

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_vec_l

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_vec_sc

This routine pops the list buffer for 3D mesh data

ppm_map_field_pop_3d_vec_dc

This routine pops the list buffer for 3D mesh data

Interface ppm_map_field_push

Subroutines contained in this interface:

name description

ppm_map_field_push_2d_sca_d

ppm_map_field_push_2d_sca_s

ppm_map_field_push_2d_sca_i

ppm_map_field_push_2d_sca_l

ppm_map_field_push_2d_sca_sc

ppm_map_field_push_2d_sca_dc

ppm_map_field_push_2d_vec_d

ppm_map_field_push_2d_vec_s

ppm_map_field_push_2d_vec_i

ppm_map_field_push_2d_vec_l

This routine pushes field data onto the send buffer for 2D meshes.

ppm_map_field_push_2d_vec_sc

ppm_map_field_push_2d_vec_dc

ppm_map_field_push_3d_sca_d

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_sca_s

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_sca_i

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_sca_l

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_sca_sc

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_sca_dc

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_vec_d

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_vec_s

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_vec_i

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_vec_l

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_vec_sc

This routine pushes field data onto the send buffer for 3D meshes.

ppm_map_field_push_3d_vec_dc

This routine pushes field data onto the send buffer for 3D meshes.

Interface ppm_map_field_send

Subroutines contained in this interface:

name description

ppm_map_field_send

This routine performs the actual send/recv of the

Subroutine ppm_map_field_init

This routine must be called before the ppm_map_field_globalstored routine.

[Warning]Warning

This routine has not been tested, reviewed, or checked. Comments and documentation are wrong. This routine might kill your cat or worse.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

target_topoid

integer

(IN)

Topology ID of target

meshid

integer

(IN)

Mesh ID of source

target_meshid

integer

(IN)

Mesh ID of target

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

Topology ID of source

[Caution]Caution

used to be target

target_topoid

integer, , (IN)

Topology ID of target

meshid

integer, , (IN)

Mesh ID of source

target_meshid

integer, , (IN)

Mesh ID of target

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_mesh_block_intersect, ppm_module_data_mesh, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_sca_d

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_sca_dc

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_sca_i

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

integer array

(:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_sca_l

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

logical array

(:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_sca_s

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_sca_sc

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_vec_d

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_vec_dc

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_vec_i

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

integer array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_vec_l

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

logical array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_vec_s

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_2d_vec_sc

This routine pops the list buffer for 2D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Size of the ghost layer (in mesh points) in each dimension.

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_sca_d

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_sca_dc

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_sca_i

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

integer array

(:,:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_sca_l

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

logical array

(:,:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_sca_s

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_sca_sc

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:,:)

Field data.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_vec_d

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_vec_dc

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_vec_i

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

integer array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_vec_l

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

logical array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_vec_s

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

real array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_pop_3d_vec_sc

This routine pops the list buffer for 3D mesh data

[Note]Note

The on-processor data is in the first part of the buffer Reallocates the fdata array if needed. The user does not need to care about its size. If we want to change this to improve callability from C, argument checks should be added for the SIZE of fdata. If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

[Warning]Warning

DIM is the dimension of the fdata array and not the space dimemsion ppm_dim!

Arguments

name type dimension intent optional description

target_topoid

integer

(IN)

Topology ID of destination

target_meshid

integer

(IN)

Mesh ID of destination

fdata

complex array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

ghostsize

integer array

(:)

(IN)

Number of mesh points in the ghost layer in each dimension

info

integer

(OUT)

Return status, 0 on success

mask

logical array

(:,:,:,:)

X

Logical mask.

poptype

integer

X

target_topoid

integer, , (IN)

Topology ID of destination

target_meshid

integer, , (IN)

Mesh ID of destination

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

ghostsize

integer array, (:), (IN)

Number of mesh points in the ghost layer in each dimension

info

integer, , (OUT)

Return status, 0 on success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

(Optional) poptype

integer, , no intent declared

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_sca_d

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

real array

(:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_sca_dc

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

complex array

(:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_sca_i

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

integer array

(:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_sca_l

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

logical array

(:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_sca_s

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

real array

(:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_sca_sc

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

complex array

(:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_vec_d

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

real array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_vec_dc

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

complex array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_vec_i

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

integer array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_vec_l

This routine pushes field data onto the send buffer for 2D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

logical array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_vec_s

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

real array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_2d_vec_sc

Arguments

name type dimension intent optional description

topoid

integer

(IN)

Topology ID of source

meshid

integer

(IN)

Mesh ID of source

fdata

complex array

(:,:,:,:)

Field data.

lda

integer

(IN)

The leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:)

X

Logical mask.

topoid

integer, , (IN)

Topology ID of source

meshid

integer, , (IN)

Mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-3th index: mesh (i,j) relative to istart-1 of the sub (i.e. (i,j)=(1,1) corresponds to istart) 4th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

The leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-2nd index: mesh (i,j) 3rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_sca_d

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

real array

(:,:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_sca_dc

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

complex array

(:,:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_sca_i

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

integer array

(:,:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_sca_l

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

logical array

(:,:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_sca_s

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

real array

(:,:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_sca_sc

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

complex array

(:,:,:,:)

Field data.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_vec_d

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

real array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

the leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

the leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_vec_dc

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

complex array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

the leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

the leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_vec_i

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

integer array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

the leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

the leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_vec_l

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

logical array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

the leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

the leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_vec_s

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

real array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

the leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

the leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_push_3d_vec_sc

This routine pushes field data onto the send buffer for 3D meshes.

[Note]Note

The on-processor data is stored in the first part of the buffer

If the call to invert_list is too slow here, this could be done by topo_store and stored for each topology. At the expense of some extra memory.

The fdata arrays are passed as POINTER and not INTENT(IN) even though they are not changed or reallocated inside this routine. The reason is that LBOUND can be non-standard (i.e. != 1) if we have ghost layers and the correct LBOUND is only passed along with the array if the latter is given the POINTER attribute.

When Ndata is determined, the mask is not considered. This could lead to a too large sendbuffer being allocated in the last push and could be optimized later.

[Warning]Warning

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

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology ID of source

meshid

integer

(IN)

mesh ID of source

fdata

complex array

(:,:,:,:,:)

Field data.

lda

integer

(IN)

the leading dimension of the fdata.

info

integer

(OUT)

Returns status, 0 upon success

mask

logical array

(:,:,:,:)

X

Logical mask.

topoid

integer, , (IN)

topology ID of source

meshid

integer, , (IN)

mesh ID of source

fdata

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

Field data.

1st index: lda 2nd-4th index: mesh (i,j,k) relative to istart-1 of the sub (i.e. (i,j,k)=(1,1,1) corresponds to istart) 5th: isub 1…nsublist (all subs on this processor).

For scalar fields, the first index is omitted (the others shift accordingly).

lda

integer, , (IN)

the leading dimension of the fdata. lda=1 for the case of scalar data

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) mask

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

Logical mask.

Only the mesh nodes for which this is .TRUE. will be mapped. If not given, all points are mapped.

1st-3nd index: mesh (i,j,k) 4rd: isub.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_check_id, ppm_module_substop, ppm_module_data_mesh, ppm_module_util_invert_list, ppm_module_write, ppm_module_substart

Subroutine ppm_map_field_send

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

[Note]Note

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

[Note]Note

Using non-blocking communication (ISend,Irecv) could possibly speed-up this routine since only a Send/Recv/SendRecv is done where needed (we know a priori how much data we are going to receive). Skipped actions could then already loop to the next item and would not have to wait for others.

[Tip]Tip

If you want to only send certain meshnodes you have to first call ppm_map_field_push for a logical mask, then call ppm_map_field_pop and recover the new mask. First 3 (2 for 2D meshes) indices are mesh (i,j[,k]), last one is subid for all subs on the local processor.

Arguments

name type dimension intent optional description

info

integer

(OUT)

Return status, 0 upon success

info

integer, , (OUT)

Return status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

ppm_module_map_field_ghost, ppm_module_data, ppm_module_map_field_global, ppm_module_data_mesh