|
OOFEM 3.0
|
#include <slepcsolver.h>
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. | |
| 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 | |
| EPS | eps |
| Eigenvalue solver context. | |
| bool | epsInit |
| Flag if context initialized. | |
Additional Inherited Members | |
| Protected Attributes inherited from oofem::NumericalMethod | |
| Domain * | domain |
| Pointer to domain. | |
| EngngModel * | engngModel |
| Pointer to engineering model. | |
Definition at line 53 of file slepcsolver.h.
| oofem::SLEPcSolver::SLEPcSolver | ( | Domain * | d, |
| EngngModel * | m ) |
Definition at line 53 of file slepcsolver.C.
References epsInit, and oofem::SparseGeneralEigenValueSystemNM::SparseGeneralEigenValueSystemNM().
|
virtual |
Definition at line 61 of file slepcsolver.C.
|
inlineoverridevirtual |
Implements oofem::SparseGeneralEigenValueSystemNM.
Definition at line 68 of file slepcsolver.h.
|
overridevirtual |
Solves the given sparse generalized eigen value system of equations \( Av = x^2 Bv \).
| A | coefficient matrix. |
| B | coefficient matrix. |
| v | eigen vector(s). |
| x | eigen value(s). |
| rtol | tolerance |
| nroot | number of required eigenvalues. |
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().
|
private |
Eigenvalue solver context.
Definition at line 59 of file slepcsolver.h.
Referenced by solve(), and ~SLEPcSolver().
|
private |
Flag if context initialized.
Definition at line 61 of file slepcsolver.h.
Referenced by SLEPcSolver(), solve(), and ~SLEPcSolver().