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 &archive_out) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIn (ChArchiveIn &archive_in) 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 ChIterativeSolverAsIterative ()
 Downcast to ChIterativeSolver.
 
virtual ChDirectSolverLSAsDirect ()
 Downcast to ChDirectSolver.
 
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 Member Functions

virtual bool IsIterative () const override
 Return true if iterative solver.
 
virtual bool IsDirect () const override
 Return true if direct solver.
 

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, Type::PSSOR, Type::PJACOBI, Type::PMINRES,
  Type::BARZILAIBORWEIN, Type::APGD, Type::ADMM, 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