chrono::ChSolverMulticore Class Referenceabstract

Description

Base class for all Chrono::Multicore solvers.

#include <ChSolverMulticore.h>

Inheritance diagram for chrono::ChSolverMulticore:
Collaboration diagram for chrono::ChSolverMulticore:

Public Member Functions

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.
 
virtual uint Solve (ChShurProduct &ShurProduct, ChProjectConstraints &Project, const uint max_iter, const uint size, const DynamicVector< real > &b, DynamicVector< real > &x)=0
 Call this function with an associated solver type to solve the system. More...
 
void AtIterationEnd (real maxd, real maxdeltalambda)
 
real LargestEigenValue (ChShurProduct &ShurProduct, DynamicVector< real > &temp, real lambda=0)
 

Public Attributes

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

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

Call this function with an associated solver type to solve the system.

Parameters
ShurProductSchur product
ProjectConstraints
max_iterMaximum number of iterations
sizeNumber of unknowns
bRhs vector
xThe vector of unknowns

Implemented in chrono::ChSolverMulticoreAPGDREF, chrono::ChSolverMulticoreGS, chrono::ChSolverMulticoreJacobi, chrono::ChSolverMulticoreCG, chrono::ChSolverMulticoreSPGQP, chrono::ChSolverMulticoreMinRes, chrono::ChSolverMulticoreBB, and chrono::ChSolverMulticoreAPGD.


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/ChSolverMulticore.cpp