ESyS-Particle  2.3.4
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

◆ CheckPointable

◆ ParameterType

Constructor & Destructor Documentation

◆ BTriangleInteraction() [1/2]

BTriangleInteraction::BTriangleInteraction ( )

default constructor

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

◆ BTriangleInteraction() [2/2]

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, Triangle::getID(), CBasicParticle::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::~BTriangleInteraction ( )
virtual

destructor

Member Function Documentation

◆ broken()

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.

◆ calcForces()

void BTriangleInteraction::calcForces ( )
virtual

calculate & apply forces

References CParticle::applyForce(), Triangle::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:

◆ getAP()

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:

◆ getPid()

int BTriangleInteraction::getPid ( ) const
inline

◆ getPos()

virtual Vec3 BTriangleInteraction::getPos ( ) const
inlinevirtual

References CBasicParticle::getPos(), and m_p.

Here is the call graph for this function:

◆ getTid()

int BTriangleInteraction::getTid ( ) const
inline

◆ isInner()

bool BTriangleInteraction::isInner ( )
inline

References m_inner_flag.

◆ setPP()

virtual void BTriangleInteraction::setPP ( CParticle part_p)
inlinevirtual

References m_p.

◆ setTP()

virtual void BTriangleInteraction::setTP ( Triangle tri_p)
inlinevirtual

References m_t.

Friends And Related Function Documentation

◆ TML_PackedMessageInterface

friend class TML_PackedMessageInterface
friend

Member Data Documentation

◆ m_ap

◆ m_break

double BTriangleInteraction::m_break
private

◆ m_dist

◆ m_inner_flag

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().

◆ m_k

◆ m_p

CParticle* BTriangleInteraction::m_p
private

◆ m_pid

int BTriangleInteraction::m_pid
private

◆ m_t

Triangle* BTriangleInteraction::m_t
private

◆ m_tid

int BTriangleInteraction::m_tid
private

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