Blender  V3.3
Public Types | Public Member Functions | Public Attributes | List of all members
btDeformableBackwardEulerObjective Class Reference

#include <btDeformableBackwardEulerObjective.h>

Public Types

typedef btAlignedObjectArray< btVector3TVStack
 

Public Member Functions

 btDeformableBackwardEulerObjective (btAlignedObjectArray< btSoftBody * > &softBodies, const TVStack &backup_v)
 
virtual ~btDeformableBackwardEulerObjective ()
 
void initialize ()
 
void computeResidual (btScalar dt, TVStack &residual)
 
void applyExplicitForce (TVStack &force)
 
void applyForce (TVStack &force, bool setZero)
 
btScalar computeNorm (const TVStack &residual) const
 
void computeStep (TVStack &dv, const TVStack &residual, const btScalar &dt)
 
void multiply (const TVStack &x, TVStack &b) const
 
void initialGuess (TVStack &dv, const TVStack &residual)
 
void reinitialize (bool nodeUpdated, btScalar dt)
 
void setDt (btScalar dt)
 
void applyDynamicFriction (TVStack &r)
 
void updateVelocity (const TVStack &dv)
 
void setConstraints (const btContactSolverInfo &infoGlobal)
 
void project (TVStack &r)
 
void precondition (const TVStack &x, TVStack &b)
 
virtual void updateId ()
 
const btAlignedObjectArray< btSoftBody::Node * > * getIndices () const
 
void setImplicit (bool implicit)
 
btScalar totalEnergy (btScalar dt)
 
void addLagrangeMultiplier (const TVStack &vec, TVStack &extended_vec)
 
void addLagrangeMultiplierRHS (const TVStack &residual, const TVStack &m_dv, TVStack &extended_residual)
 
void calculateContactForce (const TVStack &dv, const TVStack &rhs, TVStack &f)
 

Public Attributes

btScalar m_dt
 
btAlignedObjectArray< btDeformableLagrangianForce * > m_lf
 
btAlignedObjectArray< btSoftBody * > & m_softBodies
 
Preconditionerm_preconditioner
 
btDeformableContactProjection m_projection
 
const TVStackm_backupVelocity
 
btAlignedObjectArray< btSoftBody::Node * > m_nodes
 
bool m_implicit
 
MassPreconditionerm_massPreconditioner
 
KKTPreconditionerm_KKTPreconditioner
 

Detailed Description

Definition at line 31 of file btDeformableBackwardEulerObjective.h.

Member Typedef Documentation

◆ TVStack

Definition at line 34 of file btDeformableBackwardEulerObjective.h.

Constructor & Destructor Documentation

◆ btDeformableBackwardEulerObjective()

btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective ( btAlignedObjectArray< btSoftBody * > &  softBodies,
const TVStack backup_v 
)

◆ ~btDeformableBackwardEulerObjective()

btDeformableBackwardEulerObjective::~btDeformableBackwardEulerObjective ( )
virtual

Member Function Documentation

◆ addLagrangeMultiplier()

void btDeformableBackwardEulerObjective::addLagrangeMultiplier ( const TVStack vec,
TVStack extended_vec 
)
inline

◆ addLagrangeMultiplierRHS()

void btDeformableBackwardEulerObjective::addLagrangeMultiplierRHS ( const TVStack residual,
const TVStack m_dv,
TVStack extended_residual 
)
inline

◆ applyDynamicFriction()

void btDeformableBackwardEulerObjective::applyDynamicFriction ( TVStack r)

◆ applyExplicitForce()

void btDeformableBackwardEulerObjective::applyExplicitForce ( TVStack force)

◆ applyForce()

void btDeformableBackwardEulerObjective::applyForce ( TVStack force,
bool  setZero 
)

◆ calculateContactForce()

void btDeformableBackwardEulerObjective::calculateContactForce ( const TVStack dv,
const TVStack rhs,
TVStack f 
)
inline

◆ computeNorm()

btScalar btDeformableBackwardEulerObjective::computeNorm ( const TVStack residual) const

◆ computeResidual()

void btDeformableBackwardEulerObjective::computeResidual ( btScalar  dt,
TVStack residual 
)

◆ computeStep()

void btDeformableBackwardEulerObjective::computeStep ( TVStack dv,
const TVStack residual,
const btScalar dt 
)

◆ getIndices()

const btAlignedObjectArray<btSoftBody::Node*>* btDeformableBackwardEulerObjective::getIndices ( ) const
inline

◆ initialGuess()

void btDeformableBackwardEulerObjective::initialGuess ( TVStack dv,
const TVStack residual 
)

◆ initialize()

void btDeformableBackwardEulerObjective::initialize ( void  )
inline

Definition at line 50 of file btDeformableBackwardEulerObjective.h.

◆ multiply()

void btDeformableBackwardEulerObjective::multiply ( const TVStack x,
TVStack b 
) const

◆ precondition()

void btDeformableBackwardEulerObjective::precondition ( const TVStack x,
TVStack b 
)
inline

Definition at line 95 of file btDeformableBackwardEulerObjective.h.

References usdtokens::b(), m_preconditioner, and x.

◆ project()

void btDeformableBackwardEulerObjective::project ( TVStack r)
inline

◆ reinitialize()

void btDeformableBackwardEulerObjective::reinitialize ( bool  nodeUpdated,
btScalar  dt 
)

◆ setConstraints()

void btDeformableBackwardEulerObjective::setConstraints ( const btContactSolverInfo infoGlobal)

◆ setDt()

void btDeformableBackwardEulerObjective::setDt ( btScalar  dt)

Definition at line 64 of file btDeformableBackwardEulerObjective.cpp.

References m_dt.

Referenced by reinitialize().

◆ setImplicit()

void btDeformableBackwardEulerObjective::setImplicit ( bool  implicit)
inline

Definition at line 128 of file btDeformableBackwardEulerObjective.h.

References m_implicit.

Referenced by btDeformableBodySolver::setImplicit().

◆ totalEnergy()

btScalar btDeformableBackwardEulerObjective::totalEnergy ( btScalar  dt)

◆ updateId()

virtual void btDeformableBackwardEulerObjective::updateId ( )
inlinevirtual

◆ updateVelocity()

void btDeformableBackwardEulerObjective::updateVelocity ( const TVStack dv)

Member Data Documentation

◆ m_backupVelocity

const TVStack& btDeformableBackwardEulerObjective::m_backupVelocity

Definition at line 40 of file btDeformableBackwardEulerObjective.h.

Referenced by updateVelocity().

◆ m_dt

btScalar btDeformableBackwardEulerObjective::m_dt

◆ m_implicit

bool btDeformableBackwardEulerObjective::m_implicit

◆ m_KKTPreconditioner

KKTPreconditioner* btDeformableBackwardEulerObjective::m_KKTPreconditioner

◆ m_lf

btAlignedObjectArray<btDeformableLagrangianForce*> btDeformableBackwardEulerObjective::m_lf

◆ m_massPreconditioner

MassPreconditioner* btDeformableBackwardEulerObjective::m_massPreconditioner

◆ m_nodes

btAlignedObjectArray<btSoftBody::Node*> btDeformableBackwardEulerObjective::m_nodes

Definition at line 41 of file btDeformableBackwardEulerObjective.h.

Referenced by getIndices(), multiply(), and updateId().

◆ m_preconditioner

Preconditioner* btDeformableBackwardEulerObjective::m_preconditioner

◆ m_projection

btDeformableContactProjection btDeformableBackwardEulerObjective::m_projection

◆ m_softBodies

btAlignedObjectArray<btSoftBody*>& btDeformableBackwardEulerObjective::m_softBodies

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