Bullet Collision Detection & Physics Library
btDeformableLinearElasticityForce Class Reference

#include <btDeformableLinearElasticityForce.h>

Inheritance diagram for btDeformableLinearElasticityForce:
Collaboration diagram for btDeformableLinearElasticityForce:

Public Types

typedef btAlignedObjectArray< btVector3TVStack
 
- Public Types inherited from btDeformableLagrangianForce
typedef btAlignedObjectArray< btVector3TVStack
 

Public Member Functions

 btDeformableLinearElasticityForce ()
 
 btDeformableLinearElasticityForce (btScalar mu, btScalar lambda, btScalar damping_alpha=0.01, btScalar damping_beta=0.01)
 
void updateYoungsModulusAndPoissonRatio ()
 
void updateLameParameters ()
 
void setYoungsModulus (btScalar E)
 
void setPoissonRatio (btScalar nu)
 
void setDamping (btScalar damping_alpha, btScalar damping_beta)
 
void setLameParameters (btScalar mu, btScalar lambda)
 
virtual void addScaledForces (btScalar scale, TVStack &force)
 
virtual void addScaledExplicitForce (btScalar scale, TVStack &force)
 
virtual void addScaledDampingForce (btScalar scale, TVStack &force)
 
virtual double totalElasticEnergy (btScalar dt)
 
virtual double totalDampingEnergy (btScalar dt)
 
double elasticEnergyDensity (const btSoftBody::TetraScratch &s)
 
virtual void addScaledElasticForce (btScalar scale, TVStack &force)
 
virtual void buildDampingForceDifferentialDiagonal (btScalar scale, TVStack &diagA)
 
virtual void addScaledDampingForceDifferential (btScalar scale, const TVStack &dv, TVStack &df)
 
virtual void addScaledElasticForceDifferential (btScalar scale, const TVStack &dx, TVStack &df)
 
void firstPiola (const btSoftBody::TetraScratch &s, btMatrix3x3 &P)
 
void firstPiolaDifferential (const btSoftBody::TetraScratch &s, const btMatrix3x3 &dF, btMatrix3x3 &dP)
 
void firstPiolaDampingDifferential (const btSoftBody::TetraScratch &s, const btMatrix3x3 &dF, btMatrix3x3 &dP)
 
virtual void addScaledHessian (btScalar scale)
 
virtual btDeformableLagrangianForceType getForceType ()
 
- Public Member Functions inherited from btDeformableLagrangianForce
 btDeformableLagrangianForce ()
 
virtual ~btDeformableLagrangianForce ()
 
virtual void reinitialize (bool nodeUpdated)
 
virtual int getNumNodes ()
 
virtual void addSoftBody (btSoftBody *psb)
 
virtual void removeSoftBody (btSoftBody *psb)
 
virtual void setIndices (const btAlignedObjectArray< btSoftBody::Node * > *nodes)
 
virtual btMatrix3x3 Ds (int id0, int id1, int id2, int id3, const TVStack &dx)
 
virtual btMatrix3x3 DsFromVelocity (const btSoftBody::Node *n0, const btSoftBody::Node *n1, const btSoftBody::Node *n2, const btSoftBody::Node *n3)
 
virtual void testDerivative ()
 
virtual void testHessian ()
 
virtual double totalEnergy (btScalar dt)
 

Public Attributes

btScalar m_mu
 
btScalar m_lambda
 
btScalar m_E
 
btScalar m_nu
 
btScalar m_damping_alpha
 
btScalar m_damping_beta
 
- Public Attributes inherited from btDeformableLagrangianForce
btAlignedObjectArray< btSoftBody * > m_softBodies
 
const btAlignedObjectArray< btSoftBody::Node * > * m_nodes
 

Detailed Description

Definition at line 23 of file btDeformableLinearElasticityForce.h.

Member Typedef Documentation

◆ TVStack

Constructor & Destructor Documentation

◆ btDeformableLinearElasticityForce() [1/2]

btDeformableLinearElasticityForce::btDeformableLinearElasticityForce ( )
inline

Definition at line 30 of file btDeformableLinearElasticityForce.h.

◆ btDeformableLinearElasticityForce() [2/2]

btDeformableLinearElasticityForce::btDeformableLinearElasticityForce ( btScalar mu,
btScalar lambda,
btScalar damping_alpha = 0.01,
btScalar damping_beta = 0.01 )
inline

Definition at line 35 of file btDeformableLinearElasticityForce.h.

Member Function Documentation

◆ addScaledDampingForce()

virtual void btDeformableLinearElasticityForce::addScaledDampingForce ( btScalar scale,
TVStack & force )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 93 of file btDeformableLinearElasticityForce.h.

◆ addScaledDampingForceDifferential()

virtual void btDeformableLinearElasticityForce::addScaledDampingForceDifferential ( btScalar scale,
const TVStack & dv,
TVStack & df )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 288 of file btDeformableLinearElasticityForce.h.

◆ addScaledElasticForce()

virtual void btDeformableLinearElasticityForce::addScaledElasticForce ( btScalar scale,
TVStack & force )
inlinevirtual

Definition at line 218 of file btDeformableLinearElasticityForce.h.

◆ addScaledElasticForceDifferential()

virtual void btDeformableLinearElasticityForce::addScaledElasticForceDifferential ( btScalar scale,
const TVStack & dx,
TVStack & df )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 350 of file btDeformableLinearElasticityForce.h.

◆ addScaledExplicitForce()

virtual void btDeformableLinearElasticityForce::addScaledExplicitForce ( btScalar scale,
TVStack & force )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 87 of file btDeformableLinearElasticityForce.h.

◆ addScaledForces()

virtual void btDeformableLinearElasticityForce::addScaledForces ( btScalar scale,
TVStack & force )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 81 of file btDeformableLinearElasticityForce.h.

◆ addScaledHessian()

virtual void btDeformableLinearElasticityForce::addScaledHessian ( btScalar scale)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 417 of file btDeformableLinearElasticityForce.h.

◆ buildDampingForceDifferentialDiagonal()

virtual void btDeformableLinearElasticityForce::buildDampingForceDifferentialDiagonal ( btScalar scale,
TVStack & diagA )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 285 of file btDeformableLinearElasticityForce.h.

◆ elasticEnergyDensity()

double btDeformableLinearElasticityForce::elasticEnergyDensity ( const btSoftBody::TetraScratch & s)
inline

Definition at line 208 of file btDeformableLinearElasticityForce.h.

◆ firstPiola()

void btDeformableLinearElasticityForce::firstPiola ( const btSoftBody::TetraScratch & s,
btMatrix3x3 & P )
inline

Definition at line 390 of file btDeformableLinearElasticityForce.h.

◆ firstPiolaDampingDifferential()

void btDeformableLinearElasticityForce::firstPiolaDampingDifferential ( const btSoftBody::TetraScratch & s,
const btMatrix3x3 & dF,
btMatrix3x3 & dP )
inline

Definition at line 409 of file btDeformableLinearElasticityForce.h.

◆ firstPiolaDifferential()

void btDeformableLinearElasticityForce::firstPiolaDifferential ( const btSoftBody::TetraScratch & s,
const btMatrix3x3 & dF,
btMatrix3x3 & dP )
inline

Definition at line 401 of file btDeformableLinearElasticityForce.h.

◆ getForceType()

virtual btDeformableLagrangianForceType btDeformableLinearElasticityForce::getForceType ( )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 457 of file btDeformableLinearElasticityForce.h.

◆ setDamping()

void btDeformableLinearElasticityForce::setDamping ( btScalar damping_alpha,
btScalar damping_beta )
inline

Definition at line 68 of file btDeformableLinearElasticityForce.h.

◆ setLameParameters()

void btDeformableLinearElasticityForce::setLameParameters ( btScalar mu,
btScalar lambda )
inline

Definition at line 74 of file btDeformableLinearElasticityForce.h.

◆ setPoissonRatio()

void btDeformableLinearElasticityForce::setPoissonRatio ( btScalar nu)
inline

Definition at line 62 of file btDeformableLinearElasticityForce.h.

◆ setYoungsModulus()

void btDeformableLinearElasticityForce::setYoungsModulus ( btScalar E)
inline

Definition at line 56 of file btDeformableLinearElasticityForce.h.

◆ totalDampingEnergy()

virtual double btDeformableLinearElasticityForce::totalDampingEnergy ( btScalar dt)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 175 of file btDeformableLinearElasticityForce.h.

◆ totalElasticEnergy()

virtual double btDeformableLinearElasticityForce::totalElasticEnergy ( btScalar dt)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 154 of file btDeformableLinearElasticityForce.h.

◆ updateLameParameters()

void btDeformableLinearElasticityForce::updateLameParameters ( )
inline

Definition at line 48 of file btDeformableLinearElasticityForce.h.

◆ updateYoungsModulusAndPoissonRatio()

void btDeformableLinearElasticityForce::updateYoungsModulusAndPoissonRatio ( )
inline

Definition at line 40 of file btDeformableLinearElasticityForce.h.

Member Data Documentation

◆ m_damping_alpha

btScalar btDeformableLinearElasticityForce::m_damping_alpha

Definition at line 29 of file btDeformableLinearElasticityForce.h.

◆ m_damping_beta

btScalar btDeformableLinearElasticityForce::m_damping_beta

Definition at line 29 of file btDeformableLinearElasticityForce.h.

◆ m_E

btScalar btDeformableLinearElasticityForce::m_E

Definition at line 28 of file btDeformableLinearElasticityForce.h.

◆ m_lambda

btScalar btDeformableLinearElasticityForce::m_lambda

Definition at line 27 of file btDeformableLinearElasticityForce.h.

◆ m_mu

btScalar btDeformableLinearElasticityForce::m_mu

Definition at line 27 of file btDeformableLinearElasticityForce.h.

◆ m_nu

btScalar btDeformableLinearElasticityForce::m_nu

Definition at line 28 of file btDeformableLinearElasticityForce.h.


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