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

Implements the solution of linear system of equation in the form $ A\cdot x = b $ using solvers from SPOOLES library. More...

#include <spoolessolver.h>

+ Inheritance diagram for oofem::SpoolesSolver:
+ Collaboration diagram for oofem::SpoolesSolver:

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 $ 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 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

SparseMtrxLhs
 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
 
Graphgraph
 

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 $ A\cdot x = b $ using solvers from SPOOLES library.

Can work with only SPOOLES sparse matrix implementation.

Definition at line 63 of file spoolessolver.h.

Constructor & Destructor Documentation

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

Constructor.

Parameters
dDomain which solver belongs to.
mEngineering 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.

oofem::SpoolesSolver::~SpoolesSolver ( )
virtual

Destructor.

Definition at line 61 of file spoolessolver.C.

References frontETree, frontmtx, graph, msgFile, msgFileCloseFlag, mtxmanager, newToOldIV, oldToNewIV, and symbfacIVL.

Member Function Documentation

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

Implements oofem::SparseLinearSystemNM.

Definition at line 101 of file spoolessolver.h.

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

Implements oofem::SparseLinearSystemNM.

Definition at line 102 of file spoolessolver.h.

References oofem::ST_Spooles.

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

IRResultType oofem::SpoolesSolver::initializeFrom ( InputRecord ir)
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.

Member Data Documentation

IVL* oofem::SpoolesSolver::adjIVL
private

Definition at line 77 of file spoolessolver.h.

Referenced by solve(), and SpoolesSolver().

ETree* oofem::SpoolesSolver::frontETree
private

Definition at line 76 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().

FrontMtx* oofem::SpoolesSolver::frontmtx
private

Definition at line 74 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().

Graph* oofem::SpoolesSolver::graph
private

Definition at line 79 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().

SparseMtrx* oofem::SpoolesSolver::Lhs
private

Last mapped LHS matrix.

Definition at line 67 of file spoolessolver.h.

Referenced by solve(), and SpoolesSolver().

SparseMtrx :: SparseMtrxVersionType oofem::SpoolesSolver::lhsVersion
private

Last mapped matrix version.

Definition at line 69 of file spoolessolver.h.

Referenced by solve().

FILE* oofem::SpoolesSolver::msgFile
private

Definition at line 71 of file spoolessolver.h.

Referenced by initializeFrom(), solve(), SpoolesSolver(), and ~SpoolesSolver().

int oofem::SpoolesSolver::msgFileCloseFlag
private

Definition at line 72 of file spoolessolver.h.

Referenced by initializeFrom(), SpoolesSolver(), and ~SpoolesSolver().

int oofem::SpoolesSolver::msglvl
private

Definition at line 70 of file spoolessolver.h.

Referenced by initializeFrom(), solve(), and SpoolesSolver().

SubMtxManager* oofem::SpoolesSolver::mtxmanager
private

Definition at line 78 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().

IV * oofem::SpoolesSolver::newToOldIV
private

Definition at line 75 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().

IV* oofem::SpoolesSolver::oldToNewIV
private

Definition at line 75 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().

IVL * oofem::SpoolesSolver::symbfacIVL
private

Definition at line 77 of file spoolessolver.h.

Referenced by solve(), SpoolesSolver(), and ~SpoolesSolver().


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:41 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011