CellModules
MecaCell::ElasticBody< Cell > Class Template Reference

#include <elasticbody.hpp>

Public Types

using embedded_plugin_t = GenericConnectionBodyPlugin< Cell, ElasticConnection >
 

Public Member Functions

 ElasticBody (Cell *c, Vector3D pos=Vector3D::zero())
 
void setRestRadius (double r)
 
double getBoundingBoxRadius () const
 
double getYoungModulus () const
 
double getPoissonCoef () const
 
void setYoungModulus (double y)
 
void setPoissonCoef (double p)
 
void setMass (double m)
 
Vector3D getVelocity ()
 
Vector3D getForce ()
 
Vector3D getTorque ()
 
double getMass ()
 
double getMomentOfInertia () const
 
Vector3D getPosition ()
 
void receiveTorque (const Vec &t)
 
void receiveForce (const Vec &f)
 
template<typename Integrator = Euler>
void updatePositionsAndOrientations (double dt)
 
std::tuple< Cell *, double > getConnectedCellAndMembraneDistance (const Vec &d) const
 
void resetForce ()
 
void resetTorque ()
 
CellgetConnectedCell (const Vec &d) const
 
double getPreciseMembraneDistance (const Vec &d) const
 
void moveTo (Vector3D newpos)
 
void updateInternals (double dt)
 

Public Attributes

OrientedParticle realCenter
 
GhostCenter< OrientedParticleghostCenter
 

Private Attributes

Cellcell = nullptr
 
std::vector< ElasticConnection< Cell > * > cellConnections
 
double restRadius = Config::DEFAULT_CELL_RADIUS
 
double youngModulus = Config::DEFAULT_CELL_YOUNGMOD
 
double poissonCoef = Config::DEFAULT_CELL_POISSONCOEF
 

Friends

class GenericConnectionBodyPlugin< Cell, ElasticConnection >
 

Detailed Description

template<typename Cell>
class MecaCell::ElasticBody< Cell >

Definition at line 48 of file elasticbody.hpp.

Member Typedef Documentation

◆ embedded_plugin_t

Constructor & Destructor Documentation

◆ ElasticBody()

template<typename Cell >
MecaCell::ElasticBody< Cell >::ElasticBody ( Cell c,
Vector3D  pos = Vector3D::zero() 
)
inline

Definition at line 62 of file elasticbody.hpp.

Member Function Documentation

◆ getBoundingBoxRadius()

template<typename Cell >
double MecaCell::ElasticBody< Cell >::getBoundingBoxRadius ( ) const
inline

Definition at line 65 of file elasticbody.hpp.

◆ getConnectedCell()

template<typename Cell >
Cell * MecaCell::ElasticBody< Cell >::getConnectedCell ( const Vec d) const
inline

Definition at line 108 of file elasticbody.hpp.

◆ getConnectedCellAndMembraneDistance()

template<typename Cell >
std::tuple< Cell *, double > MecaCell::ElasticBody< Cell >::getConnectedCellAndMembraneDistance ( const Vec d) const
inline

Definition at line 86 of file elasticbody.hpp.

◆ getForce()

template<typename Cell >
Vector3D MecaCell::ElasticBody< Cell >::getForce ( )
inline

Definition at line 72 of file elasticbody.hpp.

◆ getMass()

template<typename Cell >
double MecaCell::ElasticBody< Cell >::getMass ( )
inline

Definition at line 74 of file elasticbody.hpp.

◆ getMomentOfInertia()

template<typename Cell >
double MecaCell::ElasticBody< Cell >::getMomentOfInertia ( ) const
inline

Definition at line 75 of file elasticbody.hpp.

◆ getPoissonCoef()

template<typename Cell >
double MecaCell::ElasticBody< Cell >::getPoissonCoef ( ) const
inline

Definition at line 67 of file elasticbody.hpp.

◆ getPosition()

template<typename Cell >
Vector3D MecaCell::ElasticBody< Cell >::getPosition ( )
inline

Definition at line 78 of file elasticbody.hpp.

◆ getPreciseMembraneDistance()

template<typename Cell >
double MecaCell::ElasticBody< Cell >::getPreciseMembraneDistance ( const Vec d) const
inline

Definition at line 113 of file elasticbody.hpp.

◆ getTorque()

template<typename Cell >
Vector3D MecaCell::ElasticBody< Cell >::getTorque ( )
inline

Definition at line 73 of file elasticbody.hpp.

◆ getVelocity()

template<typename Cell >
Vector3D MecaCell::ElasticBody< Cell >::getVelocity ( )
inline

Definition at line 71 of file elasticbody.hpp.

◆ getYoungModulus()

template<typename Cell >
double MecaCell::ElasticBody< Cell >::getYoungModulus ( ) const
inline

Definition at line 66 of file elasticbody.hpp.

◆ moveTo()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::moveTo ( Vector3D  newpos)
inline

Definition at line 117 of file elasticbody.hpp.

◆ receiveForce()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::receiveForce ( const Vec f)
inline

Definition at line 80 of file elasticbody.hpp.

◆ receiveTorque()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::receiveTorque ( const Vec t)
inline

Definition at line 79 of file elasticbody.hpp.

◆ resetForce()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::resetForce ( )
inline

Definition at line 105 of file elasticbody.hpp.

◆ resetTorque()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::resetTorque ( )
inline

Definition at line 106 of file elasticbody.hpp.

◆ setMass()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::setMass ( double  m)
inline

Definition at line 70 of file elasticbody.hpp.

◆ setPoissonCoef()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::setPoissonCoef ( double  p)
inline

Definition at line 69 of file elasticbody.hpp.

◆ setRestRadius()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::setRestRadius ( double  r)
inline

Definition at line 64 of file elasticbody.hpp.

◆ setYoungModulus()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::setYoungModulus ( double  y)
inline

Definition at line 68 of file elasticbody.hpp.

◆ updateInternals()

template<typename Cell >
void MecaCell::ElasticBody< Cell >::updateInternals ( double  dt)
inline

Definition at line 122 of file elasticbody.hpp.

◆ updatePositionsAndOrientations()

template<typename Cell >
template<typename Integrator = Euler>
void MecaCell::ElasticBody< Cell >::updatePositionsAndOrientations ( double  dt)
inline

Definition at line 82 of file elasticbody.hpp.

Friends And Related Function Documentation

◆ GenericConnectionBodyPlugin< Cell, ElasticConnection >

template<typename Cell >
friend class GenericConnectionBodyPlugin< Cell, ElasticConnection >
friend

Definition at line 26 of file elasticbody.hpp.

Member Data Documentation

◆ cell

template<typename Cell >
Cell* MecaCell::ElasticBody< Cell >::cell = nullptr
private

Definition at line 51 of file elasticbody.hpp.

◆ cellConnections

template<typename Cell >
std::vector<ElasticConnection<Cell> *> MecaCell::ElasticBody< Cell >::cellConnections
private

Definition at line 52 of file elasticbody.hpp.

◆ ghostCenter

template<typename Cell >
GhostCenter<OrientedParticle> MecaCell::ElasticBody< Cell >::ghostCenter

Definition at line 60 of file elasticbody.hpp.

◆ poissonCoef

template<typename Cell >
double MecaCell::ElasticBody< Cell >::poissonCoef = Config::DEFAULT_CELL_POISSONCOEF
private

Definition at line 55 of file elasticbody.hpp.

◆ realCenter

template<typename Cell >
OrientedParticle MecaCell::ElasticBody< Cell >::realCenter

Definition at line 59 of file elasticbody.hpp.

◆ restRadius

template<typename Cell >
double MecaCell::ElasticBody< Cell >::restRadius = Config::DEFAULT_CELL_RADIUS
private

Definition at line 53 of file elasticbody.hpp.

◆ youngModulus

template<typename Cell >
double MecaCell::ElasticBody< Cell >::youngModulus = Config::DEFAULT_CELL_YOUNGMOD
private

Definition at line 54 of file elasticbody.hpp.


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