Module ppm_module_interp_m2p

Contains the mesh to particle 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 m2p_interp_bsp2

Subroutines contained in this interface:

name description

m2p_interp_bsp2_ss_2d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_ds_2d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_sv_2d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_dv_2d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_ss_3d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_ds_3d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_sv_3d

Mesh to particle interpolation following the 2nd order B-spline scheme.

m2p_interp_bsp2_dv_3d

Mesh to particle interpolation following the 2nd order B-spline scheme.

Interface m2p_interp_mp4

Subroutines contained in this interface:

name description

m2p_interp_mp4_ss_2d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_ds_2d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_sv_2d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_dv_2d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_ss_3d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_ds_3d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_sv_3d

Mesh to particle interpolation following the MP4 scheme.

m2p_interp_mp4_dv_3d

Mesh to particle interpolation following the MP4 scheme.

Interface ppm_interp_m2p

Subroutines contained in this interface:

name description

m2p_ss_2d

This subroutine carries out mesh to particle interpolation.

m2p_ds_2d

This subroutine carries out mesh to particle interpolation.

m2p_sv_2d

This subroutine carries out mesh to particle interpolation.

m2p_dv_2d

This subroutine carries out mesh to particle interpolation.

m2p_ss_3d

This subroutine carries out mesh to particle interpolation.

m2p_ds_3d

This subroutine carries out mesh to particle interpolation.

m2p_sv_3d

This subroutine carries out mesh to particle interpolation.

m2p_dv_3d

This subroutine carries out mesh to particle interpolation.

Subroutine m2p_ds_2d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:)

particle weights onto which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

ghost size

field_up

real array

(:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:), no intent declared

particle weights onto which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_ds_3d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:)

particle weights onto which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

ghost size

field_up

real array

(:,:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:), no intent declared

particle weights onto which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_dv_2d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:,:)

particle weights onto 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)

ghost size

field_up

real array

(:,:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:,:), no intent declared

particle weights onto which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_dv_3d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:,:)

particle weights onto 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)

ghost size

field_up

real array

(:,:,:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:,:), no intent declared

particle weights onto which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_interp_bsp2_ds_2d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_ds_3d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_dv_2d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_dv_3d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_ss_2d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_ss_3d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_sv_2d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_bsp2_sv_3d

Mesh to particle interpolation following the 2nd order B-spline 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_bsp2.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier of target

meshid

integer

(IN)

id of the mesh

field_up

real array

(:,:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_ds_2d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_ds_3d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_dv_2d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_dv_3d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_ss_2d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_ss_3d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:,:)

field from which to interpolate

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

xp

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

particle positions

up

real array, (:), no intent declared

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_sv_2d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_interp_mp4_sv_3d

Mesh to particle interpolation following the MP4 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 of target

meshid

integer

(IN)

id of the mesh (user)

field_up

real array

(:,:,:,:,:)

field from which to interpolate

lda

integer

(IN)

leading dimension of up

xp

real array

(:,:)

(IN)

particle positions

up

real array

(:,:)

particle weights onto which to interpolate

dx

real array

(ppm_dim)

ghostsize

integer array

(:)

(IN)

ghost size

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier of target

meshid

integer, , (IN)

id of the mesh (user)

field_up

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

field from which to interpolate

lda

integer, , (IN)

leading dimension of up

xp

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

particle positions

up

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

particle weights onto which to interpolate

dx

real array, (ppm_dim), no intent declared

ghostsize

integer array, (:), (IN)

ghost size

info

integer, , (OUT)

Returns 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_substart

Subroutine m2p_ss_2d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:)

particle weights onto which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

ghost size

field_up

real array

(:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:), no intent declared

particle weights onto which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_ss_3d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:)

particle weights onto which to interpolate

kernel

integer

(IN)

Choice of the kernel used to compute the weights.

ghostsize

integer array

(:)

(IN)

ghost size

field_up

real array

(:,:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:), no intent declared

particle weights onto which to interpolate

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_sv_2d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:,:)

particle weights onto 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)

ghost size

field_up

real array

(:,:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:,:), no intent declared

particle weights onto which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Subroutine m2p_sv_3d

This subroutine carries out mesh to particle interpolation.

Currently 2 interpolation schemes are supported:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
[Warning]Warning

This routine assumes that up is already allocated.

Arguments

name type dimension intent optional description

topoid

integer

(IN)

topology identifier 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

(:,:)

particle weights onto 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)

ghost size

field_up

real array

(:,:,:,:,:)

field from which to interpolate

info

integer

(OUT)

Returns 0 upon success

topoid

integer, , (IN)

topology identifier 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, (:,:), no intent declared

particle weights onto which to interpolate

lda

integer, , (IN)

leading dimension of up

kernel

integer, , (IN)

Choice of the kernel used to compute the weights. One of:

  • ppm_param_rmsh_kernel_bsp2
  • ppm_param_rmsh_kernel_mp4
ghostsize

integer array, (:), (IN)

ghost size

field_up

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

field from which to interpolate

info

integer, , (OUT)

Returns 0 upon success

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_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

has no uses