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 VectorType &r, VectorType &gamma)
 Solve using the APGD method. More...
 
real Res4 (ChSchurProduct &SchurProduct, ChProjectConstraints &Project, VectorType &gamma, const VectorType &r)
 Compute the residual for the solver. More...
 
- 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, VectorType &temp, real lambda=0)
 

Public Attributes

VectorType gamma_hat
 APGD specific vectors.
 
VectorType gammaNew
 
VectorType g
 
VectorType y
 
VectorType yNew
 
VectorType 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
 
ChMulticoreDataManager * data_manager
 Pointer to the system's data manager.
 
VectorType eigen_vec
 

Member Function Documentation

◆ Res4()

real ChSolverMulticoreAPGDREF::Res4 ( ChSchurProduct &  SchurProduct,
ChProjectConstraints &  Project,
VectorType &  gamma,
const VectorType &  r 
)

Compute the residual for the solver.

Parameters
SchurProductSchur product
ProjectConstraints
gammaThe vector of unknowns
rRhs vector

◆ Solve()

uint ChSolverMulticoreAPGDREF::Solve ( ChSchurProduct &  SchurProduct,
ChProjectConstraints &  Project,
const uint  max_iter,
const uint  size,
const VectorType &  r,
VectorType &  gamma 
)
virtual

Solve using the APGD method.

Parameters
SchurProductSchur product
ProjectConstraints
max_iterMaximum number of iterations
sizeNumber of unknowns
rRhs vector
gammaThe vector of unknowns

Implements chrono::ChSolverMulticore.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_multicore/solver/ChSolverMulticore.h
  • /builds/uwsbel/chrono/src/chrono_multicore/solver/ChSolverMulticoreAPGDREF.cpp