SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction Class Reference

#include <UnilateralConstraintResolution.h>

Inheritance diagram for sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction:

Protected Attributes

SReal _mu
 
SReal _W [6]
 
PreviousForcesContainer_prev
 
bool_active
 

Public Member Functions

 UnilateralConstraintResolutionWithFriction (SReal mu, PreviousForcesContainer *prev=nullptr, bool *active=nullptr)
 
void init (int line, SReal **w, SReal *force) override
 The resolution object can do precomputation with the compliance matrix, and give an initial guess. More...
 
void resolution (int line, SReal **w, SReal *d, SReal *force, SReal *dFree) override
 Resolution of the constraint for one Gauss-Seidel iteration. More...
 
void store (int line, SReal *force, bool) override
 Called after Gauss-Seidel last iteration, in order to store last computed forces for the inital guess. More...
 
- Public Member Functions inherited from sofa::core::behavior::ConstraintResolution
 ConstraintResolution (unsigned int nbLines, SReal tolerance=0.0)
 
virtual ~ConstraintResolution ()
 
virtual void initForce (int, SReal *)
 The resolution object can provide an initial guess. More...
 
void setNbLines (unsigned int nbLines)
 
unsigned int getNbLines () const
 
void setTolerance (SReal tolerance)
 
SReal getTolerance () const
 

Attribute details

◆ _active

bool* sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::_active
protected

◆ _mu

SReal sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::_mu
protected

◆ _prev

PreviousForcesContainer* sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::_prev
protected

◆ _W

SReal sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::_W[6]
protected

Constructor details

◆ UnilateralConstraintResolutionWithFriction()

sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::UnilateralConstraintResolutionWithFriction ( SReal  mu,
PreviousForcesContainer prev = nullptr,
bool active = nullptr 
)
inline

Function details

◆ init()

void sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::init ( int  ,
SReal **  ,
SReal *   
)
overridevirtual

The resolution object can do precomputation with the compliance matrix, and give an initial guess.

Reimplemented from sofa::core::behavior::ConstraintResolution.

◆ resolution()

void sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::resolution ( int  line,
SReal **  w,
SReal *  d,
SReal *  force,
SReal *  dFree 
)
overridevirtual

Resolution of the constraint for one Gauss-Seidel iteration.

Reimplemented from sofa::core::behavior::ConstraintResolution.

◆ store()

void sofa::component::constraint::lagrangian::model::UnilateralConstraintResolutionWithFriction::store ( int  ,
SReal *  ,
bool   
)
overridevirtual

Called after Gauss-Seidel last iteration, in order to store last computed forces for the inital guess.

Reimplemented from sofa::core::behavior::ConstraintResolution.