You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* First working version of exploded constraint problrms. Still lots of info in GenericCosntraintSolver data that are dependent on the method type. Need to find a way of setting the solving method by adding a component in the scene.
* Changed all problems into solvers. It makes more sense to use an inheritance. Now the constraintProblem is only a container
* Apply changes to scenes, tests and tutorials
* Add stopping ocndition based on constraint force evolutionr ate as proposed in the original paper
* Add first version of improved Jacobi
* Finish improved jacobi
* Finalize the solver in monothread
* Remove unwanted file
* Add reference
* Fix condition to exit loop
* Include review comment + fix algorithm from a Gauss-seidel to a real JAcobi
* Add parameters
* fix compilation
* Fix compilation
* Clean and fix
* Apply suggestions from code review
Co-authored-by: Alex Bilger <[email protected]>
---------
Co-authored-by: Alex Bilger <[email protected]>
Co-authored-by: Frederick Roy <[email protected]>
Co-authored-by: Hugo <[email protected]>
, d_useSpectralCorrection(initData(&d_useSpectralCorrection,false,"useSpectralCorrection","If set to true, the solution found after each iteration will be multiplied by spectralCorrectionFactor*2/spr(W), with spr() denoting the spectral radius."))
36
+
, d_spectralCorrectionFactor(initData(&d_spectralCorrectionFactor,1.0,"spectralCorrectionFactor","Factor used to modulate the spectral correction"))
37
+
, d_useConjugateResidue(initData(&d_useConjugateResidue,false,"useConjugateResidue","If set to true, the solution found after each iteration will be corrected along the solution direction using `\\lambda^{i+1} -= beta^{i} * (\\lambda^{i} - \\lambda^{i-1})` with beta following the formula beta^{i} = min(1, (i/maxIterations)^{conjugateResidueSpeedFactor}) "))
38
+
, d_conjugateResidueSpeedFactor(initData(&d_conjugateResidueSpeedFactor,10.0,"conjugateResidueSpeedFactor","Factor used to modulate the speed in which beta used in the conjugate residue part reaches 1.0. The higher the value, the slower the reach. "))
39
+
{
40
+
41
+
}
42
+
43
+
44
+
voidImprovedJacobiConstraintSolver::doSolve(GenericConstraintProblem * problem , SReal timeout)
factory->registerObjects(core::ObjectRegistrationData("A Constraint Solver using the Linear Complementarity Problem formulation to solve Constraint based components using a Projected Jacobi iterative method")
0 commit comments