OOFEM 3.0
Loading...
Searching...
No Matches
oofem::SpoolesSolver Class Reference

#include <spoolessolver.h>

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

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.
EngngModelgiveEngngModel ()
virtual void reinitialize ()
virtual void setDomain (Domain *d)
virtual void saveContext (DataStream &stream, ContextMode mode)
virtual void restoreContext (DataStream &stream, ContextMode mode)

Private Attributes

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

Additional Inherited Members

Protected Attributes inherited from oofem::NumericalMethod
Domaindomain
 Pointer to domain.
EngngModelengngModel
 Pointer to engineering model.

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 64 of file spoolessolver.h.

Constructor & Destructor Documentation

◆ SpoolesSolver()

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, oofem::SparseLinearSystemNM::SparseLinearSystemNM(), and symbfacIVL.

◆ ~SpoolesSolver()

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

◆ giveClassName()

const char * oofem::SpoolesSolver::giveClassName ( ) const
inlineoverridevirtual

Implements oofem::SparseLinearSystemNM.

Definition at line 102 of file spoolessolver.h.

◆ giveLinSystSolverType()

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

Implements oofem::SparseLinearSystemNM.

Definition at line 103 of file spoolessolver.h.

References oofem::ST_Spooles.

◆ giveRecommendedMatrix()

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

◆ initializeFrom()

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

◆ solve()

Member Data Documentation

◆ adjIVL

IVL* oofem::SpoolesSolver::adjIVL
private

Definition at line 78 of file spoolessolver.h.

Referenced by solve(), and SpoolesSolver().

◆ frontETree

ETree* oofem::SpoolesSolver::frontETree
private

Definition at line 77 of file spoolessolver.h.

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

◆ frontmtx

FrontMtx* oofem::SpoolesSolver::frontmtx
private

Definition at line 75 of file spoolessolver.h.

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

◆ graph

Graph* oofem::SpoolesSolver::graph
private

Definition at line 80 of file spoolessolver.h.

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

◆ Lhs

SparseMtrx* oofem::SpoolesSolver::Lhs
private

Last mapped LHS matrix.

Definition at line 68 of file spoolessolver.h.

Referenced by solve(), and SpoolesSolver().

◆ lhsVersion

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

Last mapped matrix version.

Definition at line 70 of file spoolessolver.h.

Referenced by solve().

◆ msgFile

FILE* oofem::SpoolesSolver::msgFile
private

Definition at line 72 of file spoolessolver.h.

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

◆ msgFileCloseFlag

int oofem::SpoolesSolver::msgFileCloseFlag
private

Definition at line 73 of file spoolessolver.h.

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

◆ msglvl

int oofem::SpoolesSolver::msglvl
private

Definition at line 71 of file spoolessolver.h.

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

◆ mtxmanager

SubMtxManager* oofem::SpoolesSolver::mtxmanager
private

Definition at line 79 of file spoolessolver.h.

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

◆ newToOldIV

IV * oofem::SpoolesSolver::newToOldIV
private

Definition at line 76 of file spoolessolver.h.

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

◆ oldToNewIV

IV* oofem::SpoolesSolver::oldToNewIV
private

Definition at line 76 of file spoolessolver.h.

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

◆ symbfacIVL

IVL * oofem::SpoolesSolver::symbfacIVL
private

Definition at line 78 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-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011