ESyS-Particle  2.3
BTriangleInteraction Class Reference

bonded elastic interaction between a Triangle and a particle More...

#include <BTriangleInteraction.h>

Collaboration diagram for BTriangleInteraction:

Public Types

typedef BTriMeshIP ParameterType
 
typedef BTriMeshInteractionCpData CheckPointable
 

Public Member Functions

 BTriangleInteraction ()
 
 BTriangleInteraction (CParticle *, Triangle *, BTriMeshIP, bool iflag=true)
 
virtual ~BTriangleInteraction ()
 
bool isInner ()
 
virtual void calcForces ()
 
bool broken ()
 
virtual Vec3 getPos () const
 
int getPid () const
 
int getTid () const
 
Vec3 getAP () const
 
virtual void setPP (CParticle *part_p)
 
virtual void setTP (Triangle *tri_p)
 

Private Attributes

CParticlem_p
 
Trianglem_t
 
double m_k
 
double m_break
 
double m_dist
 
int m_tid
 
int m_pid
 
Vec3 m_ap
 
bool m_inner_flag
 

Friends

class TML_PackedMessageInterface
 

Detailed Description

bonded elastic interaction between a Triangle and a particle

Author
Steffen Abe $Revision$ $Date$

Member Typedef Documentation

Constructor & Destructor Documentation

BTriangleInteraction::BTriangleInteraction ( )

default constructor

References m_p, m_pid, m_t, m_tid, and NULL.

BTriangleInteraction::BTriangleInteraction ( CParticle p,
Triangle t,
BTriMeshIP  param,
bool  iflag = true 
)

constructor with parameters

Parameters
pa pointer to the particle
ta pointer to the triangle
paramthe interaction parameters
iflag

References BTriMeshIP::brk, CBasicParticle::getID(), Triangle::getID(), CBasicParticle::getPos(), CBasicParticle::getRad(), BTriMeshIP::k, m_ap, m_break, m_dist, m_inner_flag, m_k, m_p, m_pid, m_t, m_tid, and Triangle::toLocal().

Here is the call graph for this function:

BTriangleInteraction::~BTriangleInteraction ( )
virtual

destructor

Member Function Documentation

bool BTriangleInteraction::broken ( )

return if the interaction is broken, i.e. the distance between particle and anchor point exceeds breaking distance, i.e. relative breaking distance x particle readius

References m_break, and m_dist.

void BTriangleInteraction::calcForces ( )
virtual

calculate & apply forces

References Triangle::applyForce(), CParticle::applyForce(), CBasicParticle::getPos(), m_ap, m_dist, m_inner_flag, m_k, m_p, m_t, and Triangle::toGlobal().

Here is the call graph for this function:

Vec3 BTriangleInteraction::getAP ( ) const

returns the projection of the anchor point on the triangle

References m_ap, m_t, Triangle::toGlobal(), Vec3::X(), and Vec3::Y().

Referenced by BTriMeshInteractionCpData::BTriMeshInteractionCpData(), and BTriMeshInteractionCpData::set().

Here is the call graph for this function:

Here is the caller graph for this function:

int BTriangleInteraction::getPid ( ) const
inline

References m_pid.

Referenced by BTriMeshInteractionCpData::BTriMeshInteractionCpData(), and BTriMeshInteractionCpData::set().

Here is the caller graph for this function:

virtual Vec3 BTriangleInteraction::getPos ( ) const
inlinevirtual

References CBasicParticle::getPos().

Here is the call graph for this function:

int BTriangleInteraction::getTid ( ) const
inline

References m_tid.

Referenced by BTriMeshInteractionCpData::BTriMeshInteractionCpData(), and BTriMeshInteractionCpData::set().

Here is the caller graph for this function:

bool BTriangleInteraction::isInner ( )
inline

References m_inner_flag.

virtual void BTriangleInteraction::setPP ( CParticle part_p)
inlinevirtual
virtual void BTriangleInteraction::setTP ( Triangle tri_p)
inlinevirtual

Friends And Related Function Documentation

friend class TML_PackedMessageInterface
friend

Member Data Documentation

Vec3 BTriangleInteraction::m_ap
private
double BTriangleInteraction::m_break
private

Referenced by broken(), and BTriangleInteraction().

double BTriangleInteraction::m_dist
private
bool BTriangleInteraction::m_inner_flag
private

flag showing if particle is in the inner area of the local particle array - needed for global force summation

Referenced by BTriangleInteraction(), calcForces(), and isInner().

double BTriangleInteraction::m_k
private

Referenced by BTriangleInteraction(), and calcForces().

CParticle* BTriangleInteraction::m_p
private

Referenced by BTriangleInteraction(), and calcForces().

int BTriangleInteraction::m_pid
private

Referenced by BTriangleInteraction(), and getPid().

Triangle* BTriangleInteraction::m_t
private
int BTriangleInteraction::m_tid
private

Referenced by BTriangleInteraction(), and getTid().


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