Public Member Functions |
Public Attributes |
Protected Member Functions |
Protected Attributes |
List of all members
chrono::ChIterativeSolverParallel Class Referenceabstract
Description
Base class for all iterative solvers.
#include <ChIterativeSolverParallel.h>
Inheritance diagram for chrono::ChIterativeSolverParallel:
Collaboration diagram for chrono::ChIterativeSolverParallel:
Public Member Functions | |
virtual double | Solve (ChSystemDescriptor &sysd) override |
Each child class must define its own solve method. | |
virtual void | RunTimeStep ()=0 |
Similarly, the run timestep function needs to be defined. | |
virtual void | ComputeImpulses ()=0 |
This function computes the new velocities based on the lagrange multipliers. | |
void | ComputeInvMassMatrix () |
Compute the inverse mass matrix and the term v+M_inv*hf. | |
void | ComputeMassMatrix () |
Compute mass matrix. | |
void | PerformStabilization () |
Solves just the bilaterals so that they can be warm started. | |
real | GetResidual () const |
virtual double | GetError () const override |
Return the tolerance error reached during the last solve. | |
Public Member Functions inherited from chrono::ChIterativeSolverVI | |
void | SetOmega (double mval) |
Set the overrelaxation factor (default: 1.0). More... | |
void | SetSharpnessLambda (double mval) |
Set the sharpness factor (default: 1.0). More... | |
void | SetRecordViolation (bool mval) |
Enable/disable recording of the constraint violation history. More... | |
double | GetOmega () const |
Return the current value of the overrelaxation factor. | |
double | GetSharpnessLambda () const |
Return the current value of the sharpness factor. | |
virtual int | GetIterations () const override |
Return the number of iterations performed during the last solve. | |
const std::vector< double > & | GetViolationHistory () const |
Access the vector of constraint violation history. More... | |
const std::vector< double > & | GetDeltalambdaHistory () const |
Access the vector with history of maximum change in Lagrange multipliers Note that collection of constraint violations must be enabled through SetRecordViolation. | |
Public Member Functions inherited from chrono::ChSolver | |
virtual Type | GetType () const |
Return type of the solver. | |
virtual bool | Setup (ChSystemDescriptor &sysd) |
This function does the setup operations for the solver. More... | |
void | SetVerbose (bool mv) |
Set verbose output from solver. | |
Public Member Functions inherited from chrono::ChIterativeSolver | |
void | SetMaxIterations (int max_iterations) |
Set the maximum number of iterations. | |
void | SetTolerance (double tolerance) |
Set the tolerance threshold used by the stopping criteria. | |
void | EnableDiagonalPreconditioner (bool val) |
Enable/disable use of a simple diagonal preconditioner (default: true). More... | |
void | EnableWarmStart (bool val) |
Enable/disable warm starting by providing an initial guess (default: false). More... | |
int | GetMaxIterations () const |
Get the current maximum number of iterations. | |
double | GetTolerance () const |
Get the current tolerance value. | |
Public Attributes | |
ChParallelDataManager * | data_manager |
ChSolverParallel * | solver |
ChSolverParallel * | bilateral_solver |
Protected Member Functions | |
ChIterativeSolverParallel (ChParallelDataManager *dc) | |
Protected Member Functions inherited from chrono::ChIterativeSolverVI | |
void | AtIterationEnd (double mmaxviolation, double mdeltalambda, unsigned int iternum) |
This method MUST be called by all iterative methods INSIDE their iteration loops (at the end). More... | |
virtual void | ArchiveOUT (ChArchiveOut &marchive) override |
Method to allow serialization of transient data to archives. | |
virtual void | ArchiveIN (ChArchiveIn &marchive) override |
Method to allow de-serialization of transient data from archives. | |
virtual bool | SolveRequiresMatrix () const override |
Indicate whether ot not the Solve() phase requires an up-to-date problem matrix. More... | |
Protected Member Functions inherited from chrono::ChIterativeSolver | |
ChIterativeSolver (int max_iterations, double tolerance, bool use_precond, bool warm_start) | |
void | SaveMatrix (ChSystemDescriptor &sysd) |
double | CheckSolution (ChSystemDescriptor &sysd, const ChVectorDynamic<> &x) |
Protected Attributes | |
ChShurProductBilateral | ShurProductBilateral |
ChShurProductFEM | ShurProductFEM |
ChProjectNone | ProjectNone |
Protected Attributes inherited from chrono::ChIterativeSolverVI | |
int | m_iterations |
total number of iterations performed by the solver | |
double | m_omega |
over-relaxation factor | |
double | m_shlambda |
sharpness factor | |
bool | record_violation_history |
std::vector< double > | violation_history |
std::vector< double > | dlambda_history |
Protected Attributes inherited from chrono::ChSolver | |
bool | verbose |
Protected Attributes inherited from chrono::ChIterativeSolver | |
bool | m_use_precond |
use diagonal preconditioning? | |
bool | m_warm_start |
use initial guesss? | |
int | m_max_iterations |
maximum number of iterations | |
double | m_tolerance |
tolerance threshold in stopping criteria | |
Additional Inherited Members | |
Public Types inherited from chrono::ChSolver | |
enum | Type { Type::PSOR = 0, Type::PSSOR, Type::PJACOBI, Type::PMINRES, Type::BARZILAIBORWEIN, Type::APGD, Type::SPARSE_LU, Type::SPARSE_QR, Type::PARDISO, Type::MUMPS, Type::GMRES, Type::MINRES, Type::BICGSTAB, CUSTOM } |
Available types of solvers. More... | |
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_parallel/solver/ChIterativeSolverParallel.h
- /builds/uwsbel/chrono/src/chrono_parallel/solver/ChIterativeSolverParallel.cpp