chrono::ChSolverMulticoreAPGDREF Class Reference
Description
Accelerated Projected Gradient Descent (APGD) solver. Reference implementation.
#include <ChSolverMulticore.h>
Inheritance diagram for chrono::ChSolverMulticoreAPGDREF:

Collaboration diagram for chrono::ChSolverMulticoreAPGDREF:

Public Member Functions | |
| uint | Solve (ChSchurProduct &SchurProduct, ChProjectConstraints &Project, const uint max_iter, const uint size, const DynamicVector< real > &r, DynamicVector< real > &gamma) |
| Solve using the APGD method. | |
| real | Res4 (ChSchurProduct &SchurProduct, ChProjectConstraints &Project, DynamicVector< real > &gamma, const DynamicVector< real > &r, DynamicVector< real > &tmp) |
| Compute the residual for the solver. | |
Public Member Functions inherited from chrono::ChSolverMulticore | |
| void | Setup (ChMulticoreDataManager *data_container_) |
| void | ComputeSRhs (custom_vector< real > &gamma, const custom_vector< real > &rhs, custom_vector< real3 > &vel_data, custom_vector< real3 > &omg_data, custom_vector< real > &b) |
| Compute rhs value with relaxation term. | |
| void | AtIterationEnd (real maxd, real maxdeltalambda) |
| real | LargestEigenValue (ChSchurProduct &SchurProduct, DynamicVector< real > &temp, real lambda=0) |
Public Attributes | |
| DynamicVector< real > | gamma_hat |
| APGD specific vectors. | |
| DynamicVector< real > | gammaNew |
| DynamicVector< real > | g |
| DynamicVector< real > | y |
| DynamicVector< real > | yNew |
| DynamicVector< real > | tmp |
Public Attributes inherited from chrono::ChSolverMulticore | |
| int | current_iteration |
| The current iteration number of the solver. | |
| ChConstraintRigidRigid * | rigid_rigid |
| ChConstraintBilateral * | bilateral |
| Ch3DOFContainer * | three_dof |
| Ch3DOFContainer * | fem |
| Ch3DOFContainer * | mpm |
| ChMulticoreDataManager * | data_manager |
| Pointer to the system's data manager. | |
| DynamicVector< real > | eigen_vec |
Member Function Documentation
◆ Res4()
| real ChSolverMulticoreAPGDREF::Res4 | ( | ChSchurProduct & | SchurProduct, |
| ChProjectConstraints & | Project, | ||
| DynamicVector< real > & | gamma, | ||
| const DynamicVector< real > & | r, | ||
| DynamicVector< real > & | tmp ) |
Compute the residual for the solver.
- Parameters
-
SchurProduct Schur product Project Constraints gamma The vector of unknowns r Rhs vector tmp temporary vector
◆ Solve()
|
virtual |
Solve using the APGD method.
- Parameters
-
SchurProduct Schur product Project Constraints max_iter Maximum number of iterations size Number of unknowns r Rhs vector gamma The vector of unknowns
Implements chrono::ChSolverMulticore.
The documentation for this class was generated from the following files:
- C:/M/B/src/chrono-9.0.1/src/chrono_multicore/solver/ChSolverMulticore.h
- C:/M/B/src/chrono-9.0.1/src/chrono_multicore/solver/ChSolverMulticoreAPGDREF.cpp
Public Member Functions inherited from