|
OOFEM 3.0
|
#include <gjacobi.h>
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. | |
| EngngModel * | giveEngngModel () |
| 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 | |
| Domain * | domain |
| Pointer to domain. | |
| EngngModel * | engngModel |
| Pointer to engineering model. | |
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 \]
| oofem::GJacobi::GJacobi | ( | Domain * | d, |
| EngngModel * | m ) |
Definition at line 41 of file gjacobi.C.
References nsmax, oofem::NumericalMethod::NumericalMethod(), and rtol.
|
inline |
Definition at line 74 of file gjacobi.h.
References giveClassName().
|
inline |
Definition at line 73 of file gjacobi.h.
Referenced by errorInfo().
| 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 \).
| K | Coefficient matrix. |
| M | Coefficient matrix. |
| x | Eigenvector(s). |
| w | Eigenvalue(s). |
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().
|
private |
|
private |