|
OOFEM 3.0
|
#include <spoolessolver.h>
Public Member Functions | |
| SpoolesSolver (Domain *d, EngngModel *m) | |
| virtual | ~SpoolesSolver () |
| Destructor. | |
| ConvergedReason | solve (SparseMtrx &A, FloatArray &b, FloatArray &x) override |
| void | initializeFrom (InputRecord &ir) override |
| Initializes receiver from given record. | |
| const char * | giveClassName () const override |
| LinSystSolverType | giveLinSystSolverType () const override |
| SparseMtrxType | giveRecommendedMatrix (bool symmetric) const override |
| Public Member Functions inherited from oofem::SparseLinearSystemNM | |
| SparseLinearSystemNM (Domain *d, EngngModel *m) | |
| Constructor. | |
| virtual | ~SparseLinearSystemNM () |
| Destructor. | |
| std::string | errorInfo (const char *func) |
| virtual ConvergedReason | solve (SparseMtrx &A, FloatMatrix &B, FloatMatrix &X) |
| Public Member Functions inherited from oofem::NumericalMethod | |
| NumericalMethod (Domain *d, EngngModel *m) | |
| virtual | ~NumericalMethod () |
| Destructor. | |
| EngngModel * | giveEngngModel () |
| virtual void | reinitialize () |
| virtual void | setDomain (Domain *d) |
| virtual void | saveContext (DataStream &stream, ContextMode mode) |
| virtual void | restoreContext (DataStream &stream, ContextMode mode) |
Private Attributes | |
| SparseMtrx * | Lhs |
| Last mapped LHS matrix. | |
| SparseMtrx::SparseMtrxVersionType | lhsVersion |
| Last mapped matrix version. | |
| 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. | |
| EngngModel * | engngModel |
| Pointer to engineering model. | |
Implements the solution of linear system of equation in the form \( A\cdot x = b \) using solvers from SPOOLES library. Can work with only SPOOLES sparse matrix implementation.
Definition at line 64 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, oofem::SparseLinearSystemNM::SparseLinearSystemNM(), and symbfacIVL.
|
virtual |
Destructor.
Definition at line 61 of file spoolessolver.C.
References frontETree, frontmtx, graph, msgFile, msgFileCloseFlag, mtxmanager, newToOldIV, oldToNewIV, and symbfacIVL.
|
inlineoverridevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 102 of file spoolessolver.h.
|
inlineoverridevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 103 of file spoolessolver.h.
References oofem::ST_Spooles.
|
inlineoverridevirtual |
Returns the recommended sparse matrix type for this solver.
Implements oofem::SparseLinearSystemNM.
Definition at line 104 of file spoolessolver.h.
References oofem::SMT_SpoolesMtrx.
|
overridevirtual |
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, msgFile, msgFileCloseFlag, and msglvl.
|
overridevirtual |
Solves the given linear system by LDL^T factorization.
Implements oofem::SparseLinearSystemNM.
Definition at line 117 of file spoolessolver.C.
References adjIVL, oofem::FloatArray::at(), oofem::CR_CONVERGED, oofem::CR_FAILED, 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 78 of file spoolessolver.h.
Referenced by solve(), and SpoolesSolver().
|
private |
Definition at line 77 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 80 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Last mapped LHS matrix.
Definition at line 68 of file spoolessolver.h.
Referenced by solve(), and SpoolesSolver().
|
private |
|
private |
Definition at line 72 of file spoolessolver.h.
Referenced by initializeFrom(), solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 73 of file spoolessolver.h.
Referenced by initializeFrom(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 71 of file spoolessolver.h.
Referenced by initializeFrom(), solve(), and SpoolesSolver().
|
private |
Definition at line 79 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 76 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 76 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().
|
private |
Definition at line 78 of file spoolessolver.h.
Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().