calculate the interpolation for one point
More...
template<typename vector, typename kernel>
struct inte_calc_impl< vector, kernel >
calculate the interpolation for one point
- Template Parameters
-
| vector | of particles |
| kernel | type |
Definition at line 381 of file interpolation.hpp.
#include <interpolation.hpp>
|
|
typedef vector::stype | arr_type |
| | Type of the calculations.
|
| |
|
| 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. More...
|
| |
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_g | property to interpolate from(M2P) or to(P2M) for grid |
| prp_v | property to interpolate to(M2P) or from(P2M) for vector |
| m2p_or_p2m | mesh to particle or mesh to particle interpolation |
- Parameters
-
| it | iterator used to retrieve the particle p for interpolation |
| vd | vector of particles |
| domain | simulation domain |
| ip | index of the grid on each direction (1D) used for interpolation |
| gd | interpolation grid |
| dx | spacing on each direction |
| xp | Point that store the position of xp |
| a_int | coefficients on the stencil points |
| a | coefficients 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 |
| x | position of |
| sz | grid size |
| geo_cell | cell list to convert particle position into sub-domain id |
| offsets | array 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: