|
OOFEM 3.0
|
#include <mklpardisosolver.h>
Additional Inherited Members | |
| Protected Attributes inherited from oofem::NumericalMethod | |
| Domain * | domain |
| Pointer to domain. | |
| EngngModel * | engngModel |
| Pointer to engineering model. | |
Implements the solution of linear system of equation in the form \( A\cdot x=b \) using solvers from MKL Pardiso. It will not work with Pardiso 5.0. Only works with the CSC (compressed sparse column) sparse matrix implementation.
Definition at line 52 of file mklpardisosolver.h.
| oofem::MKLPardisoSolver::MKLPardisoSolver | ( | Domain * | d, |
| EngngModel * | m ) |
Constructor.
| d | Domain which solver belongs to. |
| m | Engineering model which solver belongs to. |
Definition at line 52 of file mklpardisosolver.C.
References oofem::SparseLinearSystemNM::SparseLinearSystemNM().
|
virtual |
Definition at line 54 of file mklpardisosolver.C.
|
inlineoverridevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 65 of file mklpardisosolver.h.
|
inlineoverridevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 66 of file mklpardisosolver.h.
References oofem::ST_MKLPardiso.
|
inlineoverridevirtual |
Returns the recommended sparse matrix type for this solver.
Implements oofem::SparseLinearSystemNM.
Definition at line 67 of file mklpardisosolver.h.
References oofem::SMT_CompCol.
|
overridevirtual |
Solves the given sparse linear system of equations \( A\cdot x=b \).
| A | Coefficient matrix. |
| b | Right hand side. |
| x | Solution array. |
Implements oofem::SparseLinearSystemNM.
Definition at line 56 of file mklpardisosolver.C.
References oofem::FloatArray::computeSquaredNorm(), oofem::CR_CONVERGED, oofem::CR_FAILED, oofem::Timer::getUtime(), oofem::CompCol::giveColPtr(), oofem::FloatArray::givePointer(), oofem::IntArray::givePointer(), oofem::CompCol::giveRowIndex(), oofem::FloatArray::giveSize(), oofem::CompCol::giveValues(), OOFEM_ERROR, OOFEM_LOG_DEBUG, OOFEM_LOG_INFO, OOFEM_WARNING, pardiso(), pardisoinit(), oofem::FloatArray::resize(), oofem::Timer::startTimer(), and oofem::Timer::stopTimer().