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 (ChSchurProduct &SchurProduct, 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.
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 (ChSchurProduct &SchurProduct, 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 ( ChSchurProduct & SchurProduct,
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
SchurProductSchur 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:
  • 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/ChSolverMulticoreAPGD.cpp