Description

Class for using a Matlab linear solver from Chrono programs.

#include <ChSolverMatlab.h>

Inheritance diagram for chrono::ChSolverMatlab:
Collaboration diagram for chrono::ChSolverMatlab:

Public Member Functions

 ChSolverMatlab (ChMatlabEngine &me)
 
void SetEngine (ChMatlabEngine *me)
 Set the Matlab engine.
 
virtual bool SolveRequiresMatrix () const override
 Indicate whether or not the Solve() phase requires an up-to-date problem matrix. More...
 
virtual double Solve (ChSystemDescriptor &sysd) override
 Solve using the Matlab default direct solver (as in x=A\b)
 
virtual void ArchiveOUT (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive) override
 Method to allow de serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::ChSolver
virtual Type GetType () const
 Return type of the solver.
 
virtual bool Setup (ChSystemDescriptor &sysd)
 This function does the setup operations for the solver. More...
 
void SetVerbose (bool mv)
 Set verbose output from solver.
 
void EnableWrite (bool val, const std::string &frame, const std::string &out_dir=".")
 Enable/disable debug output of matrix, RHS, and solution vector.
 

Protected Attributes

ChMatlabEnginemengine
 
- Protected Attributes inherited from chrono::ChSolver
bool verbose
 
bool write_matrix
 
std::string output_dir
 
std::string frame_id
 

Additional Inherited Members

- Public Types inherited from chrono::ChSolver
enum  Type {
  Type::PSOR = 0, Type::PSSOR, Type::PJACOBI, Type::PMINRES,
  Type::BARZILAIBORWEIN, Type::APGD, Type::ADDM, Type::SPARSE_LU,
  Type::SPARSE_QR, Type::PARDISO_MKL, Type::PARDISO_PROJECT, Type::MUMPS,
  Type::GMRES, Type::MINRES, Type::BICGSTAB, CUSTOM
}
 Available types of solvers. More...
 

Member Function Documentation

◆ SolveRequiresMatrix()

virtual bool chrono::ChSolverMatlab::SolveRequiresMatrix ( ) const
inlineoverridevirtual

Indicate whether or not the Solve() phase requires an up-to-date problem matrix.

As typical of direct solvers, the Pardiso solver only requires the matrix for its Setup() phase.

Implements chrono::ChSolver.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_matlab/ChSolverMatlab.h
  • /builds/uwsbel/chrono/src/chrono_matlab/ChSolverMatlab.cpp