OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Implements the solution of linear system of equation in the form Ax=b using direct factorization method. More...
#include <ldltfact.h>
Public Member Functions | |
LDLTFactorization (Domain *d, EngngModel *m) | |
Constructor - creates new instance of LDLTFactorization, with number i, belonging to domain d and Engngmodel m. More... | |
virtual | ~LDLTFactorization () |
Destructor. More... | |
virtual NM_Status | solve (SparseMtrx &A, FloatArray &b, FloatArray &x) |
Solves the given linear system by LDL^T factorization. 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 Ax=b using direct factorization method.
Can work with any sparse matrix implementation. However, the sparse matrix implementation have to support its factorization (canBeFactorized method).
Definition at line 54 of file ldltfact.h.
oofem::LDLTFactorization::LDLTFactorization | ( | Domain * | d, |
EngngModel * | m | ||
) |
Constructor - creates new instance of LDLTFactorization, with number i, belonging to domain d and Engngmodel m.
|
virtual |
Destructor.
Definition at line 46 of file ldltfact.C.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 73 of file ldltfact.h.
|
inlinevirtual |
Implements oofem::SparseLinearSystemNM.
Definition at line 74 of file ldltfact.h.
References oofem::ST_Direct.
|
inlinevirtual |
Returns the recommended sparse matrix type for this solver.
Implements oofem::SparseLinearSystemNM.
Definition at line 75 of file ldltfact.h.
References oofem::SMT_Skyline, and oofem::SMT_SkylineU.
|
virtual |
Solves the given linear system by LDL^T factorization.
Implementation rely on factorization support provided by mapped sparse matrix. It calls Lhs->factorized()->backSubstitutionWith(*solutionArray). Sets solved flag to 1 if o.k.
A | coefficient matrix |
b | right hand side |
x | solution array |
Implements oofem::SparseLinearSystemNM.
Definition at line 51 of file ldltfact.C.
References oofem::SparseMtrx::backSubstitutionWith(), oofem::SparseMtrx::canBeFactorized(), oofem::SparseMtrx::factorized(), NM_Success, and OOFEM_ERROR.