chrono::ChSolverMulticoreAPGD Class Reference

Description

Accelerated Projected Gradient Descent (APGD) solver.

#include <ChSolverMulticore.h>

Inheritance diagram for chrono::ChSolverMulticoreAPGD:
Collaboration diagram for chrono::ChSolverMulticoreAPGD:

Public Member Functions

uint Solve (ChShurProduct &ShurProduct, ChProjectConstraints &Project, const uint max_iter, const uint size, const DynamicVector< real > &b, DynamicVector< real > &x)
 Solve using a more streamlined but harder to read version of the APGD method. More...
 
void UpdateR ()
 
- 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 (ChShurProduct &ShurProduct, DynamicVector< real > &temp, real lambda=0)
 

Public Attributes

DynamicVector< real > obj2_temp
 
DynamicVector< real > obj1_temp
 
DynamicVector< real > temp
 
DynamicVector< real > g
 
DynamicVector< real > gamma_new
 
DynamicVector< real > y
 
DynamicVector< real > gamma_hat
 
DynamicVector< real > N_gamma_new
 
DynamicVector< real > _t_g
 
real L
 
real t
 
real g_diff
 
real theta
 
real theta_new
 
real beta_new
 
real mb_tmp_norm
 
real mg_tmp_norm
 
real obj1
 
real obj2
 
real dot_g_temp
 
real norm_ms
 
- Public Attributes inherited from chrono::ChSolverMulticore
int current_iteration
 The current iteration number of the solver.
 
ChConstraintRigidRigidrigid_rigid
 
ChConstraintBilateralbilateral
 
Ch3DOFContainerthree_dof
 
Ch3DOFContainerfem
 
Ch3DOFContainermpm
 
ChMulticoreDataManagerdata_manager
 Pointer to the system's data manager.
 
DynamicVector< real > eigen_vec
 

Member Function Documentation

◆ Solve()

uint ChSolverMulticoreAPGD::Solve ( ChShurProduct ShurProduct,
ChProjectConstraints Project,
const uint  max_iter,
const uint  size,
const DynamicVector< real > &  b,
DynamicVector< real > &  x 
)
virtual

Solve using a more streamlined but harder to read version of the APGD method.

Parameters
ShurProductSchur product
ProjectConstraints
max_iterMaximum number of iterations
sizeNumber of unknowns
bRhs vector
xThe 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/ChSolverMulticoreAPGD.cpp