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

#include <btDeformableBackwardEulerObjective.h>

Collaboration diagram for btDeformableBackwardEulerObjective:
Collaboration graph
[legend]

Public Types

enum  _ {
  Mass_preconditioner ,
  KKT_preconditioner
}
 
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 40 of file btDeformableBackwardEulerObjective.h.

Member Enumeration Documentation

◆ _

Enumerator
Mass_preconditioner 
KKT_preconditioner 

Definition at line 34 of file btDeformableBackwardEulerObjective.h.

Constructor & Destructor Documentation

◆ btDeformableBackwardEulerObjective()

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

Definition at line 20 of file btDeformableBackwardEulerObjective.cpp.

◆ ~btDeformableBackwardEulerObjective()

btDeformableBackwardEulerObjective::~btDeformableBackwardEulerObjective ( )
virtual

Definition at line 28 of file btDeformableBackwardEulerObjective.cpp.

Member Function Documentation

◆ addLagrangeMultiplier()

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

Definition at line 142 of file btDeformableBackwardEulerObjective.h.

◆ addLagrangeMultiplierRHS()

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

Definition at line 156 of file btDeformableBackwardEulerObjective.h.

◆ applyDynamicFriction()

void btDeformableBackwardEulerObjective::applyDynamicFriction ( TVStack r)

Definition at line 296 of file btDeformableBackwardEulerObjective.cpp.

◆ applyExplicitForce()

void btDeformableBackwardEulerObjective::applyExplicitForce ( TVStack force)

Definition at line 213 of file btDeformableBackwardEulerObjective.cpp.

◆ applyForce()

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

Definition at line 137 of file btDeformableBackwardEulerObjective.cpp.

◆ calculateContactForce()

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

Definition at line 178 of file btDeformableBackwardEulerObjective.h.

◆ computeNorm()

btScalar btDeformableBackwardEulerObjective::computeNorm ( const TVStack residual) const

Definition at line 193 of file btDeformableBackwardEulerObjective.cpp.

◆ computeResidual()

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

Definition at line 174 of file btDeformableBackwardEulerObjective.cpp.

◆ computeStep()

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

◆ getIndices()

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

Definition at line 129 of file btDeformableBackwardEulerObjective.h.

◆ initialGuess()

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

Definition at line 276 of file btDeformableBackwardEulerObjective.cpp.

◆ initialize()

void btDeformableBackwardEulerObjective::initialize ( )
inline

Definition at line 56 of file btDeformableBackwardEulerObjective.h.

◆ multiply()

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

Definition at line 69 of file btDeformableBackwardEulerObjective.cpp.

◆ precondition()

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

Definition at line 101 of file btDeformableBackwardEulerObjective.h.

◆ project()

void btDeformableBackwardEulerObjective::project ( TVStack r)
inline

Definition at line 94 of file btDeformableBackwardEulerObjective.h.

◆ reinitialize()

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

Definition at line 34 of file btDeformableBackwardEulerObjective.cpp.

◆ setConstraints()

void btDeformableBackwardEulerObjective::setConstraints ( const btContactSolverInfo infoGlobal)

Definition at line 291 of file btDeformableBackwardEulerObjective.cpp.

◆ setDt()

void btDeformableBackwardEulerObjective::setDt ( btScalar  dt)

Definition at line 64 of file btDeformableBackwardEulerObjective.cpp.

◆ setImplicit()

void btDeformableBackwardEulerObjective::setImplicit ( bool  implicit)
inline

Definition at line 134 of file btDeformableBackwardEulerObjective.h.

◆ totalEnergy()

btScalar btDeformableBackwardEulerObjective::totalEnergy ( btScalar  dt)

Definition at line 203 of file btDeformableBackwardEulerObjective.cpp.

◆ updateId()

virtual void btDeformableBackwardEulerObjective::updateId ( )
inlinevirtual

Definition at line 107 of file btDeformableBackwardEulerObjective.h.

◆ updateVelocity()

void btDeformableBackwardEulerObjective::updateVelocity ( const TVStack dv)

Definition at line 124 of file btDeformableBackwardEulerObjective.cpp.

Member Data Documentation

◆ m_backupVelocity

const TVStack& btDeformableBackwardEulerObjective::m_backupVelocity

Definition at line 46 of file btDeformableBackwardEulerObjective.h.

◆ m_dt

btScalar btDeformableBackwardEulerObjective::m_dt

Definition at line 41 of file btDeformableBackwardEulerObjective.h.

◆ m_implicit

bool btDeformableBackwardEulerObjective::m_implicit

Definition at line 48 of file btDeformableBackwardEulerObjective.h.

◆ m_KKTPreconditioner

KKTPreconditioner* btDeformableBackwardEulerObjective::m_KKTPreconditioner

Definition at line 50 of file btDeformableBackwardEulerObjective.h.

◆ m_lf

btAlignedObjectArray<btDeformableLagrangianForce*> btDeformableBackwardEulerObjective::m_lf

Definition at line 42 of file btDeformableBackwardEulerObjective.h.

◆ m_massPreconditioner

MassPreconditioner* btDeformableBackwardEulerObjective::m_massPreconditioner

Definition at line 49 of file btDeformableBackwardEulerObjective.h.

◆ m_nodes

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

Definition at line 47 of file btDeformableBackwardEulerObjective.h.

◆ m_preconditioner

Preconditioner* btDeformableBackwardEulerObjective::m_preconditioner

Definition at line 44 of file btDeformableBackwardEulerObjective.h.

◆ m_projection

btDeformableContactProjection btDeformableBackwardEulerObjective::m_projection

Definition at line 45 of file btDeformableBackwardEulerObjective.h.

◆ m_softBodies

btAlignedObjectArray<btSoftBody*>& btDeformableBackwardEulerObjective::m_softBodies

Definition at line 43 of file btDeformableBackwardEulerObjective.h.


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