chrono::ChSolverParallelAPGDREF Class Reference

Description

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

#include <ChSolverParallel.h>

Inheritance diagram for chrono::ChSolverParallelAPGDREF:
Collaboration diagram for chrono::ChSolverParallelAPGDREF:

Public Member Functions

uint Solve (ChShurProduct &ShurProduct, ChProjectConstraints &Project, const uint max_iter, const uint size, const DynamicVector< real > &r, DynamicVector< real > &gamma)
 Solve using the APGD method. More...
 
real Res4 (ChShurProduct &ShurProduct, ChProjectConstraints &Project, DynamicVector< real > &gamma, const DynamicVector< real > &r, DynamicVector< real > &tmp)
 Compute the residual for the solver. More...
 
- Public Member Functions inherited from chrono::ChSolverParallel
void Setup (ChParallelDataManager *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 (ChShurProduct &ShurProduct, 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::ChSolverParallel
int current_iteration
 The current iteration number of the solver.
 
ChConstraintRigidRigidrigid_rigid
 
ChConstraintBilateralbilateral
 
Ch3DOFContainerthree_dof
 
Ch3DOFContainerfem
 
Ch3DOFContainermpm
 
ChParallelDataManagerdata_manager
 Pointer to the system's data manager.
 
DynamicVector< real > eigen_vec
 

Member Function Documentation

real ChSolverParallelAPGDREF::Res4 ( ChShurProduct ShurProduct,
ChProjectConstraints Project,
DynamicVector< real > &  gamma,
const DynamicVector< real > &  r,
DynamicVector< real > &  tmp 
)

Compute the residual for the solver.

Parameters
ShurProductSchur product
ProjectConstraints
gammaThe vector of unknowns
rRhs vector
tmptemporary vector
uint ChSolverParallelAPGDREF::Solve ( ChShurProduct ShurProduct,
ChProjectConstraints Project,
const uint  max_iter,
const uint  size,
const DynamicVector< real > &  r,
DynamicVector< real > &  gamma 
)
virtual

Solve using the APGD method.

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

Implements chrono::ChSolverParallel.