OpenFPM  5.2.0
Project that contain the implementation of distributed structures
PPInterpolation< particlesSupport_type, particlesDomain_type, VerletList_type, NORMAL_ID > Class Template Reference

Class to perform particle to particle interpolation using DC-PSE kernels. More...

#include <DcpseInterpolation.hpp>

Public Member Functions

 PPInterpolation (particlesSupport_type &particlesSupport, particlesDomain_type &particlesDomain, VerletList_type &verletList, unsigned int ord, typename particlesSupport_type::stype rCut, support_options opt=support_options::RADIUS)
 Constructor for Creating the DCPSE Operator Dx and objects and computes DCPSE Kernels. More...
 
 PPInterpolation (particlesSupport_type &particlesSupport, particlesDomain_type &particlesDomain, VerletList_type &verletList, unsigned int ord, typename particlesSupport_type::stype rCut, typename particlesSupport_type::stype nSpacing, bool isSurfaceInterpolation, support_options opt=support_options::RADIUS)
 
void deallocate ()
 
template<unsigned int propSupport, unsigned int propDomain>
void p2p ()
 Method to perform the particle to particle interpolation of SCALAR fields using DC-PSE kernels. More...
 
template<unsigned int propSupport, unsigned int propDomain, size_t N1>
void p2p ()
 
void update ()
 Method for Updating the DCPSE Operator by recomputing DCPSE Kernels.
 

Private Attributes

void * dcpse
 
particlesSupport_type & particlesSupport
 
particlesDomain_type & particlesDomain
 

Detailed Description

template<typename particlesSupport_type, typename particlesDomain_type, typename VerletList_type, size_t NORMAL_ID = INT_MAX>
class PPInterpolation< particlesSupport_type, particlesDomain_type, VerletList_type, NORMAL_ID >

Class to perform particle to particle interpolation using DC-PSE kernels.

Template Parameters
particlesSupport_typeType of the particle set from which to interpolate.
particlesDomain_typeType of the particle set to which to interpolate.
VerletList_typeType of the Verlet List of the particle support set (particlesSupport)
NORMAL_IDProperty ID for the normal field of the particle set.
Parameters
particlesFromParticle set from which to interpolate.
particlesToParticle set to which to interpolate.
ordConvergence order of the numerical operator.
rCutSize of the support/argument for cell list construction. It has to include sufficient enough particles to create the support.
isSurfaceInterpolationIf not passed as true, interpolation is performed on the bulk.
oversampling_factorMultiplier to the minimum no. of particles required by the operator in support.
support_optionsdefault:RADIUS (selects all particles inside rCut, overrides oversampling).

The interpolation is performed using the (Surface) DC-PSE operators corresponding to the zeroth order derivative. Inside the constructor, the differential signature vector is set to zero, and a Dcpse object is created. Interpolation is then performed when calling the p2p method passing the property ID of the two sets <prop_From,prop_To>.

Definition at line 31 of file DcpseInterpolation.hpp.

Constructor & Destructor Documentation

◆ PPInterpolation()

template<typename particlesSupport_type , typename particlesDomain_type , typename VerletList_type , size_t NORMAL_ID = INT_MAX>
PPInterpolation< particlesSupport_type, particlesDomain_type, VerletList_type, NORMAL_ID >::PPInterpolation ( particlesSupport_type &  particlesSupport,
particlesDomain_type &  particlesDomain,
VerletList_type &  verletList,
unsigned int  ord,
typename particlesSupport_type::stype  rCut,
support_options  opt = support_options::RADIUS 
)
inline

Constructor for Creating the DCPSE Operator Dx and objects and computes DCPSE Kernels.

Parameters
particlesSupportParticle set from which to interpolate.
particlesDomainParticle set to which to interpolate.
VerletListVerlet List of the particle support set (particlesSupport)
ordConvergence order of the numerical operator.
rCutSize of the support/argument for cell list construction. It has to include sufficient enough particles to create the support.
support_optionsdefault:RADIUS (selects all particles inside rCut, overrides oversampling).
Returns
Operator F which is a function on Vector_dist_Expressions

Definition at line 52 of file DcpseInterpolation.hpp.

Member Function Documentation

◆ p2p()

template<typename particlesSupport_type , typename particlesDomain_type , typename VerletList_type , size_t NORMAL_ID = INT_MAX>
template<unsigned int propSupport, unsigned int propDomain>
PPInterpolation< particlesSupport_type, particlesDomain_type, VerletList_type, NORMAL_ID >::p2p ( )
inline

Method to perform the particle to particle interpolation of SCALAR fields using DC-PSE kernels.

Method to perform the particle to particle interpolation of VECTOR fields using DC-PSE kernels.

Template Parameters
propSupportProperty ID for the property to interpolate from (scalar property, e.g. double).
propDomainProperty ID for the property to interpolate to (scalar property, e.g. double).
propSupportProperty ID for the property to interpolate from (vector property, e.g. double[3]).
propDomainProperty ID for the property to interpolate to (vector property, e.g. double[3]).
N1Number of elements in the vector property (e.g., for double[3], N1=3).

Definition at line 133 of file DcpseInterpolation.hpp.


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