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

#include <gjacobi.h>

Inheritance diagram for oofem::GJacobi:
Collaboration diagram for oofem::GJacobi:

Public Member Functions

 GJacobi (Domain *d, EngngModel *m)
virtual ~GJacobi ()
ConvergedReason solve (FloatMatrix &K, FloatMatrix &M, FloatArray &w, FloatMatrix &x)
const char * giveClassName () const
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

int nsmax
double rtol

Additional Inherited Members

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

Detailed Description

This class implements the Generalized Jacobi Eigenvalue Problem Solver. Perform solution of eigenvalue problem in the form

\[ K\cdot x = \omega^2 M\cdot x \]

Definition at line 53 of file gjacobi.h.

Constructor & Destructor Documentation

◆ GJacobi()

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

Definition at line 41 of file gjacobi.C.

References nsmax, oofem::NumericalMethod::NumericalMethod(), and rtol.

◆ ~GJacobi()

oofem::GJacobi::~GJacobi ( )
virtual

Definition at line 48 of file gjacobi.C.

Member Function Documentation

◆ errorInfo()

std::string oofem::GJacobi::errorInfo ( const char * func)
inline

Definition at line 74 of file gjacobi.h.

References giveClassName().

◆ giveClassName()

const char * oofem::GJacobi::giveClassName ( ) const
inline

Definition at line 73 of file gjacobi.h.

Referenced by errorInfo().

◆ solve()

ConvergedReason oofem::GJacobi::solve ( FloatMatrix & K,
FloatMatrix & M,
FloatArray & w,
FloatMatrix & x )

Solves the given sparse generalized eigenvalue system of equations \( K\cdot x = w^2 M\cdot x \).

Parameters
KCoefficient matrix.
MCoefficient matrix.
xEigenvector(s).
wEigenvalue(s).
Returns
Status.

Definition at line 54 of file gjacobi.C.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatMatrix::beUnitMatrix(), oofem::CR_CONVERGED, oofem::CR_DIVERGED_ITS, oofem::FloatMatrix::giveNumberOfRows(), GJacobi_ZERO_CHECK_TOL, oofem::FloatMatrix::isSquare(), nsmax, OOFEM_ERROR, OOFEM_LOG_DEBUG, oofem::FloatArray::printYourself(), oofem::FloatMatrix::printYourself(), oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), and rtol.

Referenced by oofem::SubspaceIteration::solve().

Member Data Documentation

◆ nsmax

int oofem::GJacobi::nsmax
private

Definition at line 56 of file gjacobi.h.

Referenced by GJacobi(), and solve().

◆ rtol

double oofem::GJacobi::rtol
private

Definition at line 57 of file gjacobi.h.

Referenced by GJacobi(), and solve().


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