ESyS-Particle  2.3.4
BEdge2DInteraction.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef __BEDGE2DINTERACTION_H
14 #define __BEDGE2DINTERACTION_H
15 
16 // -- Project includes --
17 #include "Foundation/vec3.h"
18 #include "Geometry/Edge2D.h"
19 #include "Model/Particle.h"
20 #include "Model/BMesh2DIP.h"
22 
32 {
33  private:
36  double m_k;
37  double m_break;
38  double m_dist;
39  int m_eid;
40  int m_pid;
41 
42  Vec3 m_ap; // anchor point in local coord.
47  bool m_inner_flag;
48 
49  public:
52 
54  BEdge2DInteraction(CParticle*,Edge2D*,BMesh2DIP,bool iflag=true);
55  virtual ~BEdge2DInteraction();
56 
57  bool isInner(){return m_inner_flag;};
58  virtual void calcForces();
59  bool broken();
60  virtual Vec3 getPos()const {return m_p->getPos();}; // ??
61  inline int getPid() const {return m_pid;};
62  inline int getTid() const {return m_eid;};
63  Vec3 getAP() const;
64  virtual void setPP(CParticle* part_p){m_p=part_p;};
65  virtual void setTP(Edge2D* tri_p){m_ed=tri_p;};
66 
68 };
69 #endif //__BEDGE2DINTERACTION_H
BEdge2DInteraction::m_ed
Edge2D * m_ed
Definition: BEdge2DInteraction.h:35
BEdge2DInteraction::getTid
int getTid() const
Definition: BEdge2DInteraction.h:62
TML_PackedMessageInterface
Abstract base/interface class for packed messages to be used in TML_Pack.
Definition: packed_message_interface.h:29
BMesh2DInteractionCpData.h
BEdge2DInteraction::m_eid
int m_eid
Definition: BEdge2DInteraction.h:39
BEdge2DInteraction::getPos
virtual Vec3 getPos() const
Definition: BEdge2DInteraction.h:60
BEdge2DInteraction.h
BEdge2DInteraction::setPP
virtual void setPP(CParticle *part_p)
Definition: BEdge2DInteraction.h:64
BEdge2DInteraction::m_ap
Vec3 m_ap
Definition: BEdge2DInteraction.h:42
BEdge2DInteraction::broken
bool broken()
Definition: BEdge2DInteraction.cpp:81
console.h
BEdge2DInteraction
bonded elastic interaction between an edge in a 2d mesh and a particle
Definition: BEdge2DInteraction.h:32
BEdge2DInteraction::m_k
double m_k
Definition: BEdge2DInteraction.h:36
BEdge2DInteraction::m_break
double m_break
Definition: BEdge2DInteraction.h:37
TML_PackedMessageInterface::pop_vec3
virtual Vec3 pop_vec3()=0
BEdge2DInteraction::~BEdge2DInteraction
virtual ~BEdge2DInteraction()
Definition: BEdge2DInteraction.cpp:55
BEdge2DInteraction::m_pid
int m_pid
Definition: BEdge2DInteraction.h:40
TML_PackedMessageInterface::pop_int
virtual int pop_int()=0
BEdge2DInteraction::CheckPointable
BMesh2DInteractionCpData CheckPointable
Used by PIS to save/load check-point data for objects of this type.
Definition: BEdge2DInteraction.h:51
BEdge2DInteraction::m_dist
double m_dist
Definition: BEdge2DInteraction.h:38
BEdge2DInteraction::BEdge2DInteraction
BEdge2DInteraction()
Definition: BEdge2DInteraction.cpp:20
CParticle::applyForce
void applyForce(const Vec3 &, const Vec3 &)
Definition: Particle.cpp:384
Vec3::X
VEC3_INLINE double & X()
Definition: vec3.h:119
BEdge2DInteraction::setTP
virtual void setTP(Edge2D *tri_p)
Definition: BEdge2DInteraction.h:65
TML_PackedMessageInterface::pop_double
virtual double pop_double()=0
Edge2D.h
Console::XDebug
Console & XDebug()
set verbose level of next message to "xdg"
Edge2D::toGlobal
Vec3 toGlobal(const Vec3 &)
Definition: Edge2D.cpp:70
NULL
#define NULL
Definition: t_list.h:17
BEdge2DInteraction::m_inner_flag
bool m_inner_flag
Definition: BEdge2DInteraction.h:47
Edge2D::toLocal
Vec3 toLocal(const Vec3 &)
Definition: Edge2D.cpp:84
BMesh2DIP
Definition: BMesh2DIP.h:17
BEdge2DInteraction::calcForces
virtual void calcForces()
Definition: BEdge2DInteraction.cpp:61
packed_message_interface.h
TML_PackedMessageInterface::append
virtual void append(int)=0
BEdge2DInteraction::getPid
int getPid() const
Definition: BEdge2DInteraction.h:61
Vec3
Definition: vec3.h:47
BMesh2DInteractionCpData
Definition: BMesh2DInteractionCpData.h:33
BEdge2DInteraction::ParameterType
BMesh2DIP ParameterType
Definition: BEdge2DInteraction.h:50
BMesh2DIP::brk
double brk
Definition: BMesh2DIP.h:20
vec3.h
BMesh2DIP.h
Edge2D::applyForce
void applyForce(const Vec3 &f)
Definition: Edge2D.h:55
BEdge2DInteraction::m_p
CParticle * m_p
Definition: BEdge2DInteraction.h:34
CBasicParticle::getID
int getID() const
Definition: BasicParticle.h:65
CBasicParticle::getRad
double getRad() const
Definition: BasicParticle.h:64
Edge2D::getID
int getID()
Definition: Edge2D.h:54
Edge2D
class for edge in 2D "mesh"
Definition: Edge2D.h:39
console
Console console
Definition: console.cpp:25
CBasicParticle::getPos
Vec3 getPos() const
Definition: BasicParticle.h:62
CParticle
Class for a basic particle.
Definition: Particle.h:51
BEdge2DInteraction::isInner
bool isInner()
Definition: BEdge2DInteraction.h:57
BEdge2DInteraction::getAP
Vec3 getAP() const
Return anchor point in global coordinates. Needed for snapshot data.
Definition: BEdge2DInteraction.cpp:89
Particle.h
BMesh2DIP::k
double k
Definition: BMesh2DIP.h:19