OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::LDLTFactorization Class Reference

Implements the solution of linear system of equation in the form Ax=b using direct factorization method. More...

#include <ldltfact.h>

+ Inheritance diagram for oofem::LDLTFactorization:
+ Collaboration diagram for oofem::LDLTFactorization:

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 $ A\cdot X=B $. More...
 
- Public Member Functions inherited from oofem::NumericalMethod
 NumericalMethod (Domain *d, EngngModel *m)
 Constructor. More...
 
virtual ~NumericalMethod ()
 Destructor. More...
 
EngngModelgiveEngngModel ()
 
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
Domaindomain
 Pointer to domain. More...
 
EngngModelengngModel
 Pointer to engineering model. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

oofem::LDLTFactorization::LDLTFactorization ( Domain d,
EngngModel m 
)

Constructor - creates new instance of LDLTFactorization, with number i, belonging to domain d and Engngmodel m.

oofem::LDLTFactorization::~LDLTFactorization ( )
virtual

Destructor.

Definition at line 46 of file ldltfact.C.

Member Function Documentation

virtual const char* oofem::LDLTFactorization::giveClassName ( ) const
inlinevirtual

Implements oofem::SparseLinearSystemNM.

Definition at line 73 of file ldltfact.h.

virtual LinSystSolverType oofem::LDLTFactorization::giveLinSystSolverType ( ) const
inlinevirtual
Returns
LinSystSolverType value, corresponding to receiver.

Implements oofem::SparseLinearSystemNM.

Definition at line 74 of file ldltfact.h.

References oofem::ST_Direct.

virtual SparseMtrxType oofem::LDLTFactorization::giveRecommendedMatrix ( bool  symmetric) const
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.

NM_Status oofem::LDLTFactorization::solve ( SparseMtrx A,
FloatArray b,
FloatArray x 
)
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.

Parameters
Acoefficient matrix
bright hand side
xsolution array
Returns
NM_Status value

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.


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:37 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011