Project Chrono: chrono::ChMumpsEngine Class Reference

Public Types | Public Member Functions | List of all members
chrono::ChMumpsEngine Class Reference
MUMPS module

## Description

Wrapper class for the MUMPS direct linear solver.

This solver is not appropriate for VI and complementarity problems.

`#include <ChMumpsEngine.h>`

## Public Types
enum | mumps_SYM { UNSYMMETRIC = 0 , SYMMETRIC_POSDEF = 1 , SYMMETRIC_GENERAL = 2 }
enum | mumps_JOB { INIT = -1 , END = -2 , ANALYZE = 1 , FACTORIZE = 2 , SOLVE = 3 , ANALYZE_FACTORIZE = 4 , FACTORIZE_SOLVE = 5 , COMPLETE = 6 }

## Public Member Functions
void | SetProblem (const ChSparseMatrix &Z, ChVectorRef rhs)
| Set the problem matrix and the right-hand side.
void | SetMatrix (const ChSparseMatrix &Z)
| Set the problem matrix.
void | SetMatrixSymmetry (mumps_SYM symmetry)
| Informs MUMPS of the matrix symmetry type.
void | SetRhsVector (ChVectorRef b)
| Set the right-hand side vector.
void | SetRhsVector (double *b)
void | EnableNullPivotDetection (bool val, double threshold=0)
| Enable null-pivot detection in MUMPS.
int | MumpsCall (mumps_JOB job_call)
| Submit job to MUMPS.
void | PrintINFOG ()
| Print a detailed description of the current INFOG array of MUMPS.
double | GetCNTL (int parnum)
| Get the parnumth CoNTroL parameter (CNTL).
void | SetCNTL (int parnum, int parvalue)
| Set the parnumth CoNTroL parameter (CNTL).
int | GetICNTL (int parnum)
| Get the parnumth Integer CoNTroL parameter (ICNTL).
void | SetICNTL (int parnum, int parvalue)
| Set the parnumth Integer CoNTroL parameter (ICNTL).
int | GetINFO (int parnum)
| Get the parnumth INFOrmative flag (INFO).
int | GetINFOG (int parnum)
| Get the parnumth Global INFOrmative flag (INFOG).
double | GetRINFO (int parnum)
| Get the parnumth Real-valued INFOrmative flag (RINFO).
double | GetRINFOG (int parnum)
| Get the parnumth Real-valued INFOrmative flag (RINFOG).
DMUMPS_STRUC_C & | GetMumpsStruc ()

## Member Function Documentation

## ◆ EnableNullPivotDetection()

void chrono::ChMumpsEngine::EnableNullPivotDetection | ( | bool | val,
|  | double | threshold = 0 )

Enable null-pivot detection in MUMPS.

< activates null pivot detection

< tries to compute one of the many solutions of AX = B

< fixation value

< pivot threshold

## ◆ SetRhsVector()

void chrono::ChMumpsEngine::SetRhsVector | ( | ChVectorRef | b | ) |

Set the right-hand side vector.

Note that it is the caller's responsibility to ensure that the size is appropriate.

The documentation for this class was generated from the following files:

- D:/W/B/src/chrono-9.0.1/src/chrono_mumps/ChMumpsEngine.h
- D:/W/B/src/chrono-9.0.1/src/chrono_mumps/ChMumpsEngine.cpp