OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
inte_calc_impl< vector, kernel > Struct Template Reference

calculate the interpolation for one point More...

Detailed Description

template<typename vector, typename kernel>
struct inte_calc_impl< vector, kernel >

calculate the interpolation for one point

Template Parameters
vectorof particles
kerneltype

Definition at line 381 of file interpolation.hpp.

#include <interpolation.hpp>

Public Types

typedef vector::stype arr_type
 Type of the calculations.
 

Static Public Member Functions

template<unsigned int prp_g, unsigned int prp_v, unsigned int m2p_or_p2m, unsigned int np_a_int, typename grid >
static void inte_calc (const vect_dist_key_dx &key_p, vector &vd, const Box< vector::dims, typename vector::stype > &domain, int(&ip)[vector::dims][kernel::np], grid &gd, const typename vector::stype(&dx)[vector::dims], typename vector::stype(&xp)[vector::dims], typename vector::stype(&a_int)[np_a_int], typename vector::stype(&a)[vector::dims][kernel::np], typename vector::stype(&x)[vector::dims][kernel::np], size_t(&sz)[vector::dims], const CellList< vector::dims, typename vector::stype, Mem_fast<>, shift< vector::dims, typename vector::stype > > &geo_cell, openfpm::vector< agg_arr< openfpm::math::pow(kernel::np, vector::dims)> > &offsets)
 M2P or P2M for one particle.
 

Member Typedef Documentation

◆ arr_type

template<typename vector , typename kernel >
typedef vector::stype inte_calc_impl< vector, kernel >::arr_type

Type of the calculations.

Definition at line 384 of file interpolation.hpp.

Member Function Documentation

◆ inte_calc()

template<typename vector , typename kernel >
template<unsigned int prp_g, unsigned int prp_v, unsigned int m2p_or_p2m, unsigned int np_a_int, typename grid >
static void inte_calc_impl< vector, kernel >::inte_calc ( const vect_dist_key_dx key_p,
vector &  vd,
const Box< vector::dims, typename vector::stype > &  domain,
int(&)  ip[vector::dims][kernel::np],
grid gd,
const typename vector::stype(&)  dx[vector::dims],
typename vector::stype(&)  xp[vector::dims],
typename vector::stype(&)  a_int[np_a_int],
typename vector::stype(&)  a[vector::dims][kernel::np],
typename vector::stype(&)  x[vector::dims][kernel::np],
size_t(&)  sz[vector::dims],
const CellList< vector::dims, typename vector::stype, Mem_fast<>, shift< vector::dims, typename vector::stype > > &  geo_cell,
openfpm::vector< agg_arr< openfpm::math::pow(kernel::np, vector::dims)> > &  offsets 
)
inlinestatic

M2P or P2M for one particle.

Template Parameters
prp_gproperty to interpolate from(M2P) or to(P2M) for grid
prp_vproperty to interpolate to(M2P) or from(P2M) for vector
m2p_or_p2mmesh to particle or mesh to particle interpolation
Parameters
ititerator used to retrieve the particle p for interpolation
vdvector of particles
domainsimulation domain
ipindex of the grid on each direction (1D) used for interpolation
gdinterpolation grid
dxspacing on each direction
xpPoint that store the position of xp
a_intcoefficients on the stencil points
acoefficients of the kernel for each direction, consider that for 3 dimensions the kernel is the multiplication the 1D kernel on each direction. The "a" array store the calculated coefficient of the 1D kernel on each direction
xposition of
szgrid size
geo_cellcell list to convert particle position into sub-domain id
offsetsarray where are stored the linearized offset of the kernel stencil for each local grid (sub-domain)

Definition at line 412 of file interpolation.hpp.


The documentation for this struct was generated from the following file: