OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Implements the solution of linear system of equation in the form using solvers from SPOOLES library. More...
#include <spoolessolver.h>
Public Member Functions | |
SpoolesSolver (Domain *d, EngngModel *m) | |
Constructor. More... | |
virtual | ~SpoolesSolver () |
Destructor. More... | |
virtual NM_Status | solve (SparseMtrx &A, FloatArray &b, FloatArray &x) |
Solves the given linear system by LDL^T factorization. More... | |
virtual IRResultType | initializeFrom (InputRecord *ir) |
Initializes receiver from given record. 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 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) |
Private Attributes | |
SparseMtrx * | Lhs |
Last mapped LHS matrix. More... | |
SparseMtrx::SparseMtrxVersionType | lhsVersion |
Last mapped matrix version. More... | |
int | msglvl |
FILE * | msgFile |
int | msgFileCloseFlag |
FrontMtx * | frontmtx |
IV * | oldToNewIV |
IV * | newToOldIV |
ETree * | frontETree |
IVL * | adjIVL |
IVL * | symbfacIVL |
SubMtxManager * | mtxmanager |
Graph * | graph |
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 SPOOLES library.
Can work with only SPOOLES sparse matrix implementation.
Definition at line 63 of file spoolessolver.h.
oofem::SpoolesSolver::SpoolesSolver | ( | Domain * | d, |
EngngModel * | m | ||
) |
Constructor.
d | Domain which solver belongs to. |
m | Engineering model which solver belongs to. |
Definition at line 45 of file spoolessolver.C.
References adjIVL, frontETree, frontmtx, graph, Lhs, msgFile, msgFileCloseFlag, msglvl, mtxmanager, newToOldIV, oldToNewIV, and symbfacIVL.
|
virtual |
Destructor.
Definition at line 61 of file spoolessolver.C.
References frontETree, frontmtx, graph, msgFile, msgFileCloseFlag, mtxmanager, newToOldIV, oldToNewIV, and symbfacIVL.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 101 of file spoolessolver.h.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 102 of file spoolessolver.h.
References oofem::ST_Spooles.
|
inlinevirtual |
Returns the recommended sparse matrix type for this solver.
Implements oofem::SparseLinearSystemNM.
Definition at line 103 of file spoolessolver.h.
References oofem::SMT_SpoolesMtrx.
|
virtual |
Initializes receiver from given record.
Reimplemented from oofem::NumericalMethod.
Definition at line 97 of file spoolessolver.C.
References _IFT_SpoolesSolver_msgfile, _IFT_SpoolesSolver_msglvl, IR_GIVE_OPTIONAL_FIELD, oofem::IRRT_OK, msgFile, msgFileCloseFlag, and msglvl.
|
virtual |
Solves the given linear system by LDL^T factorization.
Implements oofem::SparseLinearSystemNM.
Definition at line 121 of file spoolessolver.C.
References adjIVL, oofem::FloatArray::at(), frontETree, frontmtx, oofem::Timer::getUtime(), oofem::SpoolesSparseMtrx::giveInpMtrx(), oofem::SparseMtrx::giveNumberOfRows(), oofem::FloatArray::givePointer(), oofem::FloatArray::giveSize(), oofem::SpoolesSparseMtrx::giveSymmetryFlag(), oofem::SpoolesSparseMtrx::giveValueType(), oofem::SparseMtrx::giveVersion(), graph, Lhs, lhsVersion, msgFile, msglvl, mtxmanager, newToOldIV, oldToNewIV, OOFEM_ERROR, OOFEM_LOG_DEBUG, oofem::FloatArray::resize(), oofem::Timer::startTimer(), oofem::Timer::stopTimer(), and symbfacIVL.
|
private |
Definition at line 77 of file spoolessolver.h.
Referenced by solve(), and SpoolesSolver().
|
private |
Definition at line 76 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 74 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 79 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Last mapped LHS matrix.
Definition at line 67 of file spoolessolver.h.
Referenced by solve(), and SpoolesSolver().
|
private |
|
private |
Definition at line 71 of file spoolessolver.h.
Referenced by initializeFrom(), solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 72 of file spoolessolver.h.
Referenced by initializeFrom(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 70 of file spoolessolver.h.
Referenced by initializeFrom(), solve(), and SpoolesSolver().
|
private |
Definition at line 78 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 75 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 75 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 77 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().