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, bool analyze)
 Perform 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.
 
std::string GetTypeAsString () const
 Return this solver's type as a string.
 

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::MUMPS, Type::GMRES,
  Type::MINRES, Type::BICGSTAB, CUSTOM
}
 Available types of solvers. More...
 
- Static Public Member Functions inherited from chrono::ChSolver
static std::string GetTypeAsString (Type type)
 Return the provided solver type as a string.
 

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