13 #ifndef __ELASTICINTERACTION_H
14 #define __ELASTICINTERACTION_H
32 CElasticIGP(
const std::string&,
double,
bool scaling=
true);
86 #endif //__ELASTICINTERACTION_H
Abstract base class for InteractionGroup parameters.
Definition: IGParam.h:28
static CheckedScalarFieldFunction getCheckedScalarFieldFunction(const string &)
Definition: ElasticInteraction.cpp:116
friend ostream & operator<<(ostream &, const CElasticInteraction &)
Definition: ElasticInteraction.cpp:173
pair< bool, double >(CElasticInteraction::* CheckedScalarFieldFunction)() const
Definition: ElasticInteraction.h:56
static ScalarFieldFunction getScalarFieldFunction(const string &)
Definition: ElasticInteraction.cpp:90
virtual std::string getTypeString() const
Definition: ElasticInteraction.h:38
static VectorFieldFunction getVectorFieldFunction(const string &)
Definition: ElasticInteraction.cpp:131
Vec3 getForce() const
Definition: ElasticInteraction.cpp:80
virtual void calcForces()
Definition: ElasticInteraction.cpp:54
friend ostream & operator<<(ostream &, const CElasticIGP &)
Definition: ElasticInteractionGroup.cpp:28
CElasticIGP ParameterType
Definition: ElasticInteraction.h:70
virtual void loadRestartData(std::istream &iStream)
Definition: ElasticInteraction.cpp:164
virtual void saveRestartData(std::ostream &oStream)
Definition: ElasticInteraction.cpp:150
double getSpringConst() const
Definition: ElasticInteraction.h:36
double m_k
Definition: ElasticInteraction.h:28
Vec3 m_cpos
Definition: ElasticInteraction.h:66
Interaction group parameters for CElasticInteractionGroups.
Definition: ElasticInteraction.h:24
bool m_scaling
toggles scaling of elastic properties by particle size
Definition: ElasticInteraction.h:67
virtual Vec3 getPos() const
Definition: ElasticInteraction.h:75
MPI send/recv buffer with automagically adjusted size.
Definition: mpivbuf.h:34
double(CElasticInteraction::* ScalarFieldFunction)() const
Definition: ElasticInteraction.h:55
Vec3(CElasticInteraction::* VectorFieldFunction)() const
Definition: ElasticInteraction.h:57
virtual void packInto(CVarMPIBuffer *) const
Definition: ElasticInteractionGroup.cpp:22
CElasticIGP()
Definition: ElasticInteraction.cpp:17
Elastic Interaction between free particles.
Definition: ElasticInteraction.h:51
void setSpringConst(double k)
Definition: ElasticInteraction.h:35
Vec3 m_force
caching force for E_pot
Definition: ElasticInteraction.h:65
Class for a basic particle.
Definition: Particle.h:50
Abstract base class for 2-particle interactions.
Definition: Interaction.h:68
double getPotentialEnergy() const
Definition: ElasticInteraction.cpp:73
double m_k
spring constant
Definition: ElasticInteraction.h:64
bool m_scaling
Definition: ElasticInteraction.h:29
CElasticInteraction(CParticle *, CParticle *, const CElasticIGP &)
Definition: ElasticInteraction.cpp:25
virtual ~CElasticInteraction()
Definition: ElasticInteraction.h:73