Project Chrono: chrono::ChSolverMulticoreAPGDREF Class Reference

Public Member Functions | Public Attributes | List of all members
chrono::ChSolverMulticoreAPGDREF Class Reference
MULTICORE module » Solvers

## Description

Accelerated Projected Gradient Descent (APGD) solver. Reference implementation.

`#include <ChSolverMulticore.h>`

Inheritance diagram for chrono::ChSolverMulticoreAPGDREF:
[legend]
Collaboration diagram for chrono::ChSolverMulticoreAPGDREF:
[legend]

## 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()

uint ChSolverMulticoreAPGDREF::Solve | ( | ChSchurProduct & | SchurProduct,
|  | ChProjectConstraints & | Project,
|  | const uint | max_iter,
|  | const uint | size,
|  | const DynamicVector< real > & | r,
|  | DynamicVector< real > & | gamma )
| 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:

- D:/W/B/src/chrono-9.0.1/src/chrono_multicore/solver/ChSolverMulticore.h
- D:/W/B/src/chrono-9.0.1/src/chrono_multicore/solver/ChSolverMulticoreAPGDREF.cpp