Bullet Collision Detection & Physics Library
Public Types | Public Member Functions | Public Attributes | List of all members
btDeformableNeoHookeanForce Class Reference

#include <btDeformableNeoHookeanForce.h>

Inheritance diagram for btDeformableNeoHookeanForce:
Inheritance graph
[legend]
Collaboration diagram for btDeformableNeoHookeanForce:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 btDeformableNeoHookeanForce ()
 
 btDeformableNeoHookeanForce (btScalar mu, btScalar lambda, btScalar damping=0.05)
 
void updateYoungsModulusAndPoissonRatio ()
 
void updateLameParameters ()
 
void setYoungsModulus (btScalar E)
 
void setPoissonRatio (btScalar nu)
 
void setDamping (btScalar damping)
 
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 addScaledDampingForceDifferential (btScalar scale, const TVStack &dv, TVStack &df)
 
virtual void buildDampingForceDifferentialDiagonal (btScalar scale, TVStack &diagA)
 
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)
 
btScalar DotProduct (const btMatrix3x3 &A, const btMatrix3x3 &B)
 
void addScaledCofactorMatrixDifferential (const btMatrix3x3 &F, const btMatrix3x3 &dF, btScalar scale, btMatrix3x3 &M)
 
virtual btDeformableLagrangianForceType getForceType ()
 
- Public Member Functions inherited from btDeformableLagrangianForce
 btDeformableLagrangianForce ()
 
virtual ~btDeformableLagrangianForce ()
 
virtual void addScaledForces (btScalar scale, TVStack &force)=0
 
virtual void addScaledDampingForceDifferential (btScalar scale, const TVStack &dv, TVStack &df)=0
 
virtual void buildDampingForceDifferentialDiagonal (btScalar scale, TVStack &diagA)=0
 
virtual void addScaledElasticForceDifferential (btScalar scale, const TVStack &dx, TVStack &df)=0
 
virtual void addScaledExplicitForce (btScalar scale, TVStack &force)=0
 
virtual void addScaledDampingForce (btScalar scale, TVStack &force)=0
 
virtual void addScaledHessian (btScalar scale)
 
virtual btDeformableLagrangianForceType getForceType ()=0
 
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 totalElasticEnergy (btScalar dt)
 
virtual double totalDampingEnergy (btScalar dt)
 
virtual double totalEnergy (btScalar dt)
 

Public Attributes

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

Detailed Description

Definition at line 23 of file btDeformableNeoHookeanForce.h.

Member Typedef Documentation

◆ TVStack

Definition at line 26 of file btDeformableNeoHookeanForce.h.

Constructor & Destructor Documentation

◆ btDeformableNeoHookeanForce() [1/2]

btDeformableNeoHookeanForce::btDeformableNeoHookeanForce ( )
inline

Definition at line 30 of file btDeformableNeoHookeanForce.h.

◆ btDeformableNeoHookeanForce() [2/2]

btDeformableNeoHookeanForce::btDeformableNeoHookeanForce ( btScalar  mu,
btScalar  lambda,
btScalar  damping = 0.05 
)
inline

Definition at line 38 of file btDeformableNeoHookeanForce.h.

Member Function Documentation

◆ addScaledCofactorMatrixDifferential()

void btDeformableNeoHookeanForce::addScaledCofactorMatrixDifferential ( const btMatrix3x3 F,
const btMatrix3x3 dF,
btScalar  scale,
btMatrix3x3 M 
)
inline

Definition at line 402 of file btDeformableNeoHookeanForce.h.

◆ addScaledDampingForce()

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

Implements btDeformableLagrangianForce.

Definition at line 98 of file btDeformableNeoHookeanForce.h.

◆ addScaledDampingForceDifferential()

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

Implements btDeformableLagrangianForce.

Definition at line 272 of file btDeformableNeoHookeanForce.h.

◆ addScaledElasticForce()

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

Definition at line 204 of file btDeformableNeoHookeanForce.h.

◆ addScaledElasticForceDifferential()

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

Implements btDeformableLagrangianForce.

Definition at line 318 of file btDeformableNeoHookeanForce.h.

◆ addScaledExplicitForce()

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

Implements btDeformableLagrangianForce.

Definition at line 92 of file btDeformableNeoHookeanForce.h.

◆ addScaledForces()

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

Implements btDeformableLagrangianForce.

Definition at line 86 of file btDeformableNeoHookeanForce.h.

◆ buildDampingForceDifferentialDiagonal()

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

Implements btDeformableLagrangianForce.

Definition at line 316 of file btDeformableNeoHookeanForce.h.

◆ DotProduct()

btScalar btDeformableNeoHookeanForce::DotProduct ( const btMatrix3x3 A,
const btMatrix3x3 B 
)
inline

Definition at line 389 of file btDeformableNeoHookeanForce.h.

◆ elasticEnergyDensity()

double btDeformableNeoHookeanForce::elasticEnergyDensity ( const btSoftBody::TetraScratch s)
inline

Definition at line 195 of file btDeformableNeoHookeanForce.h.

◆ firstPiola()

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

Definition at line 358 of file btDeformableNeoHookeanForce.h.

◆ firstPiolaDampingDifferential()

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

Definition at line 379 of file btDeformableNeoHookeanForce.h.

◆ firstPiolaDifferential()

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

Definition at line 367 of file btDeformableNeoHookeanForce.h.

◆ getForceType()

virtual btDeformableLagrangianForceType btDeformableNeoHookeanForce::getForceType ( )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 415 of file btDeformableNeoHookeanForce.h.

◆ setDamping()

void btDeformableNeoHookeanForce::setDamping ( btScalar  damping)
inline

Definition at line 73 of file btDeformableNeoHookeanForce.h.

◆ setLameParameters()

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

Definition at line 79 of file btDeformableNeoHookeanForce.h.

◆ setPoissonRatio()

void btDeformableNeoHookeanForce::setPoissonRatio ( btScalar  nu)
inline

Definition at line 67 of file btDeformableNeoHookeanForce.h.

◆ setYoungsModulus()

void btDeformableNeoHookeanForce::setYoungsModulus ( btScalar  E)
inline

Definition at line 61 of file btDeformableNeoHookeanForce.h.

◆ totalDampingEnergy()

virtual double btDeformableNeoHookeanForce::totalDampingEnergy ( btScalar  dt)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 162 of file btDeformableNeoHookeanForce.h.

◆ totalElasticEnergy()

virtual double btDeformableNeoHookeanForce::totalElasticEnergy ( btScalar  dt)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 141 of file btDeformableNeoHookeanForce.h.

◆ updateLameParameters()

void btDeformableNeoHookeanForce::updateLameParameters ( )
inline

Definition at line 53 of file btDeformableNeoHookeanForce.h.

◆ updateYoungsModulusAndPoissonRatio()

void btDeformableNeoHookeanForce::updateYoungsModulusAndPoissonRatio ( )
inline

Definition at line 45 of file btDeformableNeoHookeanForce.h.

Member Data Documentation

◆ m_E

btScalar btDeformableNeoHookeanForce::m_E

Definition at line 28 of file btDeformableNeoHookeanForce.h.

◆ m_lambda

btScalar btDeformableNeoHookeanForce::m_lambda

Definition at line 27 of file btDeformableNeoHookeanForce.h.

◆ m_lambda_damp

btScalar btDeformableNeoHookeanForce::m_lambda_damp

Definition at line 29 of file btDeformableNeoHookeanForce.h.

◆ m_mu

btScalar btDeformableNeoHookeanForce::m_mu

Definition at line 27 of file btDeformableNeoHookeanForce.h.

◆ m_mu_damp

btScalar btDeformableNeoHookeanForce::m_mu_damp

Definition at line 29 of file btDeformableNeoHookeanForce.h.

◆ m_nu

btScalar btDeformableNeoHookeanForce::m_nu

Definition at line 28 of file btDeformableNeoHookeanForce.h.


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