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

#include <slepcsolver.h>

Inheritance diagram for oofem::SLEPcSolver:
Collaboration diagram for oofem::SLEPcSolver:

Public Member Functions

 SLEPcSolver (Domain *d, EngngModel *m)
virtual ~SLEPcSolver ()
ConvergedReason solve (SparseMtrx &a, SparseMtrx &b, FloatArray &v, FloatMatrix &x, double rtol, int nroot) override
const char * giveClassName () const override
Public Member Functions inherited from oofem::SparseGeneralEigenValueSystemNM
 SparseGeneralEigenValueSystemNM (Domain *d, EngngModel *m)
 Constructor.
virtual ~SparseGeneralEigenValueSystemNM ()
 Destructor.
std::string errorInfo (const char *func)
Public Member Functions inherited from oofem::NumericalMethod
 NumericalMethod (Domain *d, EngngModel *m)
virtual ~NumericalMethod ()
 Destructor.
EngngModelgiveEngngModel ()
virtual void initializeFrom (InputRecord &ir)
virtual void reinitialize ()
virtual void setDomain (Domain *d)
virtual void saveContext (DataStream &stream, ContextMode mode)
virtual void restoreContext (DataStream &stream, ContextMode mode)

Private Attributes

EPS eps
 Eigenvalue solver context.
bool epsInit
 Flag if context initialized.

Additional Inherited Members

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

Detailed Description

Definition at line 53 of file slepcsolver.h.

Constructor & Destructor Documentation

◆ SLEPcSolver()

oofem::SLEPcSolver::SLEPcSolver ( Domain * d,
EngngModel * m )

◆ ~SLEPcSolver()

oofem::SLEPcSolver::~SLEPcSolver ( )
virtual

Definition at line 61 of file slepcsolver.C.

References eps, and epsInit.

Member Function Documentation

◆ giveClassName()

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

Implements oofem::SparseGeneralEigenValueSystemNM.

Definition at line 68 of file slepcsolver.h.

◆ solve()

ConvergedReason oofem::SLEPcSolver::solve ( SparseMtrx & A,
SparseMtrx & B,
FloatArray & x,
FloatMatrix & v,
double rtol,
int nroot )
overridevirtual

Solves the given sparse generalized eigen value system of equations \( Av = x^2 Bv \).

Parameters
Acoefficient matrix.
Bcoefficient matrix.
veigen vector(s).
xeigen value(s).
rtoltolerance
nrootnumber of required eigenvalues.
Returns
NM_Status value.

Implements oofem::SparseGeneralEigenValueSystemNM.

Definition at line 69 of file slepcsolver.C.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::CR_CONVERGED, oofem::NumericalMethod::engngModel, eps, epsInit, oofem::Timer::getUtime(), oofem::PetscSparseMtrx::giveDomainIndex(), oofem::PetscSparseMtrx::giveMtrx(), oofem::SparseMtrx::giveNumberOfColumns(), oofem::SparseMtrx::giveNumberOfRows(), OOFEM_ERROR, OOFEM_LOG_INFO, oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), oofem::PetscSparseMtrx::scatterG2L(), oofem::Timer::startTimer(), and oofem::Timer::stopTimer().

Member Data Documentation

◆ eps

EPS oofem::SLEPcSolver::eps
private

Eigenvalue solver context.

Definition at line 59 of file slepcsolver.h.

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

◆ epsInit

bool oofem::SLEPcSolver::epsInit
private

Flag if context initialized.

Definition at line 61 of file slepcsolver.h.

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


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