#include <GenericConstraintProblem.h>
|
| GenericConstraintProblem () |
|
| ~GenericConstraintProblem () override |
|
void | clear (int nbConstraints) override |
|
void | freeConstraintResolutions () |
|
void | solveTimed (SReal tol, int maxIt, SReal timeout) override |
|
void | gaussSeidel (SReal timeout=0, GenericConstraintSolver *solver=nullptr) |
| Projective Gauss Seidel method building the compliance matrix. More...
|
|
void | unbuiltGaussSeidel (SReal timeout=0, GenericConstraintSolver *solver=nullptr) |
| Projective Gauss Seidel unbuilt method. More...
|
|
void | NNCG (GenericConstraintSolver *solver=nullptr, int iterationNewton=1) |
|
void | gaussSeidel_increment (bool measureError, SReal *dfree, SReal *force, SReal **w, SReal tol, SReal *d, int dim, bool &constraintsAreVerified, SReal &error, sofa::type::vector< SReal > &tabErrors) const |
|
void | result_output (GenericConstraintSolver *solver, SReal *force, SReal error, int iterCount, bool convergence) |
|
int | getNumConstraints () |
|
int | getNumConstraintGroups () |
|
| ConstraintProblem () |
|
virtual | ~ConstraintProblem () |
|
int | getDimension () |
|
SReal ** | getW () |
|
SReal * | getDfree () |
|
SReal * | getF () |
|
unsigned int | getProblemId () |
|
◆ _d
◆ allVerified
bool sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::allVerified |
◆ cclist_elems
std::vector< ConstraintCorrections > sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::cclist_elems |
◆ change_sequence
bool sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::change_sequence |
◆ constraints_sequence
std::list<unsigned int> sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::constraints_sequence |
◆ constraintsResolutions
◆ currentError
SReal sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::currentError |
◆ currentIterations
int sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::currentIterations |
◆ m_deltaF
◆ m_deltaF_new
◆ m_lam
◆ m_p
◆ scaleTolerance
bool sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::scaleTolerance |
◆ sceneTime
SReal sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::sceneTime |
◆ sor
SReal sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::sor |
◆ Wdiag
◆ GenericConstraintProblem()
sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::GenericConstraintProblem |
( |
| ) |
|
|
inline |
◆ ~GenericConstraintProblem()
sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::~GenericConstraintProblem |
( |
| ) |
|
|
inlineoverride |
◆ clear()
void sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::clear |
( |
int |
nbConstraints | ) |
|
|
overridevirtual |
◆ freeConstraintResolutions()
void sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::freeConstraintResolutions |
( |
| ) |
|
◆ gaussSeidel()
void sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::gaussSeidel |
( |
SReal |
timeout = 0 , |
|
|
GenericConstraintSolver * |
solver = nullptr |
|
) |
| |
Projective Gauss Seidel method building the compliance matrix.
◆ gaussSeidel_increment()
◆ getNumConstraintGroups()
int sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::getNumConstraintGroups |
( |
| ) |
|
◆ getNumConstraints()
int sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::getNumConstraints |
( |
| ) |
|
◆ NNCG()
void sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::NNCG |
( |
GenericConstraintSolver * |
solver = nullptr , |
|
|
int |
iterationNewton = 1 |
|
) |
| |
Method from: A nonsmooth nonlinear conjugate gradient method for interactive contact force problems
- 2010, Silcowitz, Morten and Niebe, Sarah and Erleben, Kenny
◆ result_output()
◆ solveTimed()
void sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::solveTimed |
( |
SReal |
tol, |
|
|
int |
maxIt, |
|
|
SReal |
timeout |
|
) |
| |
|
overridevirtual |
◆ unbuiltGaussSeidel()
void sofa::component::constraint::lagrangian::solver::GenericConstraintProblem::unbuiltGaussSeidel |
( |
SReal |
timeout = 0 , |
|
|
GenericConstraintSolver * |
solver = nullptr |
|
) |
| |
Projective Gauss Seidel unbuilt method.