OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Implements the solution of linear system of equation in the form using solvers from MKL Pardiso. More...
#include <mklpardisosolver.h>
Public Member Functions | |
MKLPardisoSolver (Domain *d, EngngModel *m) | |
Constructor. More... | |
virtual | ~MKLPardisoSolver () |
virtual NM_Status | solve (SparseMtrx &A, FloatArray &b, FloatArray &x) |
Solves the given sparse linear system of equations . More... | |
virtual const char * | giveClassName () const |
virtual LinSystSolverType | giveLinSystSolverType () const |
virtual SparseMtrxType | giveRecommendedMatrix (bool symmetric) const |
Returns the recommended sparse matrix type for this solver. More... | |
Public Member Functions inherited from oofem::SparseLinearSystemNM | |
SparseLinearSystemNM (Domain *d, EngngModel *m) | |
Constructor. More... | |
virtual | ~SparseLinearSystemNM () |
Destructor. More... | |
std::string | errorInfo (const char *func) |
virtual NM_Status | solve (SparseMtrx &A, FloatMatrix &B, FloatMatrix &X) |
Solves the given sparse linear system of equations . More... | |
Public Member Functions inherited from oofem::NumericalMethod | |
NumericalMethod (Domain *d, EngngModel *m) | |
Constructor. More... | |
virtual | ~NumericalMethod () |
Destructor. More... | |
EngngModel * | giveEngngModel () |
virtual IRResultType | initializeFrom (InputRecord *ir) |
virtual void | reinitialize () |
Reinitializes the receiver. More... | |
virtual void | setDomain (Domain *d) |
virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Additional Inherited Members | |
Protected Attributes inherited from oofem::NumericalMethod | |
Domain * | domain |
Pointer to domain. More... | |
EngngModel * | engngModel |
Pointer to engineering model. More... | |
Implements the solution of linear system of equation in the form 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 51 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 51 of file mklpardisosolver.C.
|
virtual |
Definition at line 53 of file mklpardisosolver.C.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 65 of file mklpardisosolver.h.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 66 of file mklpardisosolver.h.
References oofem::ST_MKLPardiso.
|
inlinevirtual |
Returns the recommended sparse matrix type for this solver.
Implements oofem::SparseLinearSystemNM.
Definition at line 67 of file mklpardisosolver.h.
References oofem::SMT_CompCol.
|
virtual |
Solves the given sparse linear system of equations .
A | Coefficient matrix. |
b | Right hand side. |
x | Solution array. |
Implements oofem::SparseLinearSystemNM.
Definition at line 55 of file mklpardisosolver.C.
References oofem::FloatArray::computeSquaredNorm(), oofem::Timer::getUtime(), oofem::CompCol::giveColPtr(), oofem::IntArray::givePointer(), oofem::FloatArray::givePointer(), oofem::CompCol::giveRowIndex(), oofem::FloatArray::giveSize(), oofem::CompCol::giveValues(), NM_NoSuccess, NM_Success, OOFEM_ERROR, OOFEM_LOG_DEBUG, OOFEM_LOG_INFO, OOFEM_WARNING, pardiso(), pardisoinit(), oofem::FloatArray::resize(), oofem::Timer::startTimer(), and oofem::Timer::stopTimer().