The MumpsSolver keyword creates a MUltifrontal Massively Parallel Sparse direct Solver class that solves the system of equations provided with \(\textbf{K}_{\textrm{eff}}\). This solver is meant to be employed to either symmetric and positive-definite, symmetric, or unsymmetric structure of \(\textbf{K}_{\textrm{eff}}\) matrix.
REFERENCE:
The python Pre-Analysis in the 01-Pre_Process/Method/Attach.py file provides with an interface to create a Linear. We use the addSolver() as follows:
addSolver(tag, attributes):
Example
A MUMPS solver can be defined using the python interface as follows:
SVL.addSolver(tag=3, attributes={'name': 'MUMPS', 'option': 'SYM', 'update': 'OFF'})
Application Please refer to C02-DY_Lin_2DCoarseMeshPML_PETSC_ElasticPStrain_Quad file located at 03-Validations/02-Performance/ to see an example on how to define a MUMPS solver using the addSolver function.
On the contrary, the 01-Pre_Process/Method/Remove.py file provides with an interface to depopulate the Entities
dictionary. For example, to remove an already define Solver, use:
The C++ Run-Analysis in the 02-Run_Process/11-Solvers/01-Direct/EigenSolver.cpp file provides the class implementation. A MumpsSolver is created using the built-in json parse-structure provided in the Driver.hpp and is defined inside the "Simulations" json field indicating its "Tag" as follows,
{ "Simulations": { "Tag": { "attributes": { "algorithm": { "name": "MUMPS", "update": int, "option": int, } } } } }
Variable | Description |
---|---|
option | Specifies the structure of the \(\textbf{K}_{\textrm{eff}}\) matrix.
|
update | Specifies if the analysis is linear mode=1 or nonlinear mode=0 . In the linear case, the Cholesky decomposition will be stored an computed just once, for the nonlinear case will be computed at each iteration. |
option=0
is the fastest alternative. mode=1
should be employed.