IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute > Class Template Reference

#include <TruncatedGreenParticleInteraction.h>

+ Inheritance diagram for ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >:
+ Collaboration diagram for ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >:

Public Types

using Base = ParticleInteractionBase< ParticleContainer >
 
using Vector_t = typename VectorAttribute::value_type
 
using Scalar_t = typename ScalarAttribute::value_type
 
using execution_space = typename VectorAttribute::execution_space
 

Public Member Functions

 TruncatedGreenParticleInteraction (const ParticleContainer &pc, VectorAttribute &F, const VectorAttribute &R, const ScalarAttribute &QM, const ParameterList &params)
 
void solve () override
 
- Public Member Functions inherited from ippl::ParticleInteractionBase< ParticleContainer >
 ParticleInteractionBase (const ParticleContainer &pc, const ParameterList &params)
 
 ParticleInteractionBase (const ParticleContainer &pc)
 
template<typename T >
void updateParameter (const std::string &key, const T &value)
 
void updateParameters (const ParameterList &params)
 
void mergeParameters (const ParameterList &params)
 

Additional Inherited Members

- Protected Member Functions inherited from ippl::ParticleInteractionBase< ParticleContainer >
virtual void setDefaultParameters ()
 
- Protected Attributes inherited from ippl::ParticleInteractionBase< ParticleContainer >
const ParticleContainer & pc_m
 
ParameterList params_m
 

Detailed Description

template<typename ParticleContainer, typename VectorAttribute, typename ScalarAttribute>
class ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >

TruncatedGreenParticleInteraction class definition.

Template Parameters
ParticleContainerparticle container type
VectorAttributetype to store vector valued attributes
ScalarAttributetype to store scalar valued attributes evaluates truncated short range interaction F = - q * forceConstant grad [(1 - erf(alpha * r)) / r].

Constructor & Destructor Documentation

◆ TruncatedGreenParticleInteraction()

template<typename ParticleContainer , typename VectorAttribute , typename ScalarAttribute >
ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >::TruncatedGreenParticleInteraction ( const ParticleContainer &  pc,
VectorAttribute &  F,
const VectorAttribute &  R,
const ScalarAttribute &  QM,
const ParameterList params 
)
inline
Parameters
pcParticle container
FField attribute, where the evaluated field will be added to
RPosition attribute
QMCharge or Mass like attribute determining the force magnitued
paramsParameters, containing at least 'alpha', 'force_constant' and 'rcut'. alpha controls the truncation strength. force_constant to be multiplied with the force. rcut determines the maximal distance between two particles to contribute to the forces.

Member Function Documentation

◆ solve()

template<typename ParticleContainer , typename ScalarAttribute , typename VectorAttribute >
void ippl::TruncatedGreenParticleInteraction< ParticleContainer, ScalarAttribute, VectorAttribute >::solve ( )
overridevirtual

Evaluates the short range interactions F = - q * forceConstant grad [(1 - erf(alpha * r)) / r].

Implements ippl::ParticleInteractionBase< ParticleContainer >.


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