Module ppm_module_interp_p2m

Contains the particle to mesh interpolation routines. Currently we support 2nd order B-spline and MP4 interpolation schemes.

Defined Types

name description

no types

Defined Module Interfaces

Defined Module Subroutines

name description

no subroutines

Interface p2m_interp_bsp2

Subroutines contained in this interface:

name description

p2m_interp_bsp2_ss_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_ds_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_sv_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_dv_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_ss_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_ds_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_sv_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

p2m_interp_bsp2_dv_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

Interface p2m_interp_mp4

Subroutines contained in this interface:

name description

p2m_interp_mp4_ss_2d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_ds_2d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_sv_2d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_dv_2d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_ss_3d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_ds_3d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_sv_3d

Particle to mesh interpolation following the M-prime-4 scheme.

p2m_interp_mp4_dv_3d

Particle to mesh interpolation following the M-prime-4 scheme.

Interface ppm_interp_p2m

Subroutines contained in this interface:

name description

p2m_ss_2d

This subroutine carries out particle to mesh interpolation.

p2m_ds_2d

This subroutine carries out particle to mesh interpolation.

p2m_sv_2d

This subroutine carries out particle to mesh interpolation.

p2m_dv_2d

This subroutine carries out particle to mesh interpolation.

p2m_ss_3d

This subroutine carries out particle to mesh interpolation.

p2m_ds_3d

This subroutine carries out particle to mesh interpolation.

p2m_sv_3d

This subroutine carries out particle to mesh interpolation.

p2m_dv_3d

This subroutine carries out particle to mesh interpolation.

Interface ppm_interp_p2m_reno

Subroutines contained in this interface:

name description

p2m_renorm_ss_3d

This routine does particle to mesh interpolation. Vector cases for

p2m_renorm_ds_3d

This routine does particle to mesh interpolation. Vector cases for

p2m_renorm_sv_3d

This routine does particle to mesh interpolation. Vector cases for

p2m_renorm_dv_3d

This routine does particle to mesh interpolation. Vector cases for

Subroutine p2m_ds_2d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:)

(IN)

particle weights from which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

real array, (:), (IN)

particle weights from which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

integer array, (:), no intent declared

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_ds_3d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:)

(IN)

particle weights from which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

real array, (:), (IN)

particle weights from which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

integer array, (:), no intent declared

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_dv_2d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:,:)

(IN)

particle weights from which to interpolate

lda

integer

(IN)

leading dimension of up

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:,:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

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

particle weights from which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

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

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_dv_3d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:,:)

(IN)

particle weights from which to interpolate

lda

integer

(IN)

leading dimension of up

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:,:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

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

particle weights from which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

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

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_ds_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_ds_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_dv_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_dv_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_ss_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_ss_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_sv_2d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_bsp2_sv_3d

Particle to mesh interpolation following the 2nd order B-spline scheme.

The interpolation scheme is only implemented for 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_ds_2d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_ds_3d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_dv_2d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_dv_3d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_ss_2d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_ss_3d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

real array, (:), (IN)

particle weights from which to interpolate

field_up

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

field onto which to interpolate

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_sv_2d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_interp_mp4_sv_3d

Particle to mesh interpolation following the M-prime-4 scheme.

The interpolation scheme is only implemented for 2D and 3D spaces. To increase performance the inner loops over the number of properties to be interpolated are unrolled for 2,3,4 and 5-vectors.

[Note]Note

This routine only performs the actual interpolation. It should not be called directly by the user but instead the ppm_interp_m2p routine should be used with the kernel argument set to ppm_param_rmsh_kernel_mp4.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

(IN)

particle weights from which to interpolate

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

lda

integer

(IN)

leading dimension of up

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

dx

real array

(ppm_dim)

(IN)

mesh spacing

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

xp

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

particle positions

up

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

particle weights from which to interpolate

field_up

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

field onto which to interpolate

lda

integer, , (IN)

leading dimension of up

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

dx

real array, (ppm_dim), (IN)

mesh spacing

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_renorm_ds_3d

This routine does particle to mesh interpolation. Vector cases for lda < 5 are explicitly unrolled for the 3D version. All 3D versions are explicitly unrolled over the kernel, the 2D versions are not.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:)

(IN)

particle weights from which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

real array, (:), (IN)

particle weights from which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_renorm_dv_3d

This routine does particle to mesh interpolation. Vector cases for lda < 5 are explicitly unrolled for the 3D version. All 3D versions are explicitly unrolled over the kernel, the 2D versions are not.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:,:)

(IN)

particle weights from which to interpolate

lda

integer

(IN)

leading dimension of up

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

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

particle weights from which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_renorm_ss_3d

This routine does particle to mesh interpolation. Vector cases for lda < 5 are explicitly unrolled for the 3D version. All 3D versions are explicitly unrolled over the kernel, the 2D versions are not.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:)

(IN)

particle weights from which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

real array, (:), (IN)

particle weights from which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_renorm_sv_3d

This routine does particle to mesh interpolation. Vector cases for lda < 5 are explicitly unrolled for the 3D version. All 3D versions are explicitly unrolled over the kernel, the 2D versions are not.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:,:)

(IN)

particle weights from which to interpolate

lda

integer

(IN)

leading dimension of up

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

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

particle weights from which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

Used Modules

ppm_module_data, ppm_module_error, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_ss_2d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:)

(IN)

particle weights from which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

real array, (:), (IN)

particle weights from which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

integer array, (:), no intent declared

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_ss_3d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:)

(IN)

particle weights from which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

real array, (:), (IN)

particle weights from which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

integer array, (:), no intent declared

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_sv_2d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:,:)

(IN)

particle weights from which to interpolate

lda

integer

(IN)

leading dimension of up

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:,:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

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

particle weights from which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

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

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Subroutine p2m_sv_3d

This subroutine carries out particle to mesh interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that field_up is already allocated.

[Tip]Tip

There is no need to perform a ghost_get before calling this routine as the routine calls itself a ghost_put to the field after interpolating from particles to the field.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier (user numbering) of target

meshid

integer

(IN)

id of the mesh (user)

xp

real array

(:,:)

(IN)

particle positions

np

integer

(IN)

number of particles

up

real array

(:,:)

(IN)

particle weights from which to interpolate

lda

integer

(IN)

leading dimension of up

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

The size (width) of the ghost layer

field_up

real array

(:,:,:,:,:)

field onto which to interpolate

info

integer

(OUT)

Returns status, 0 upon success

p2m_bcdef

integer array

(:,:)

X

Boundary conditions used for this interpolation routine, they may be

topoid

integer, , (IN)

topology identifier (user numbering) of target

meshid

integer, , (IN)

id of the mesh (user)

xp

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

particle positions

np

integer, , (IN)

number of particles

up

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

particle weights from which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array, (:), (IN)

The size (width) of the ghost layer

field_up

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

field onto which to interpolate

info

integer, , (OUT)

Returns status, 0 upon success

(Optional) p2m_bcdef

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

Boundary conditions used for this interpolation routine, they may be different than the boundary conditions set in the topology. The values in this array can be one of:

  • ppm_param_bcdef_symmetry
  • ppm_param_bcdef_antisymmetry

Used Modules

ppm_module_data, ppm_module_error, ppm_module_typedef, ppm_module_check_id, ppm_module_alloc, ppm_module_data_rmsh, ppm_module_substop, ppm_module_data_mesh, ppm_module_write, ppm_module_map, ppm_module_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

has no uses