|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
This class implements the class NumericalMethod instance Subspace Iteration Eigen Value Problem Solver. More...
#include <subspaceit.h>
Inheritance diagram for oofem::SubspaceIteration:
Collaboration diagram for oofem::SubspaceIteration:Public Member Functions | |
| SubspaceIteration (Domain *d, EngngModel *m) | |
| virtual | ~SubspaceIteration () |
| virtual NM_Status | solve (SparseMtrx &A, SparseMtrx &B, FloatArray &x, FloatMatrix &v, double rtol, int nroot) |
Solves the given sparse generalized eigen value system of equations . More... | |
| virtual const char * | giveClassName () const |
Public Member Functions inherited from oofem::SparseGeneralEigenValueSystemNM | |
| SparseGeneralEigenValueSystemNM (Domain *d, EngngModel *m) | |
| Constructor. More... | |
| virtual | ~SparseGeneralEigenValueSystemNM () |
| Destructor. More... | |
| std::string | errorInfo (const char *func) |
Public Member Functions inherited from oofem::NumericalMethod | |
| NumericalMethod (Domain *d, EngngModel *m) | |
| Constructor. More... | |
| virtual | ~NumericalMethod () |
| Destructor. More... | |
| EngngModel * | giveEngngModel () |
| virtual IRResultType | initializeFrom (InputRecord *ir) |
| virtual void | reinitialize () |
| Reinitializes the receiver. More... | |
| virtual void | setDomain (Domain *d) |
| virtual contextIOResultType | saveContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
| virtual contextIOResultType | restoreContext (DataStream &stream, ContextMode mode, void *obj=NULL) |
Private Attributes | |
| int | nitem |
Additional Inherited Members | |
Protected Attributes inherited from oofem::NumericalMethod | |
| Domain * | domain |
| Pointer to domain. More... | |
| EngngModel * | engngModel |
| Pointer to engineering model. More... | |
This class implements the class NumericalMethod instance Subspace Iteration Eigen Value Problem Solver.
DESCRIPTION : Perform solution of eigen value problem in the form K y = (omega)^2 M y
TASKS :
Variable description :
- - - INPUT DATA - - - A(NWK) - STIFFNESS MATRIX B(NWM) - MASS MARTRIX NN - SIZE OF PROBLEM NNM - NN+1 NROOT - REQUIRED NUMBER OF RTOL - KRITERIUM KONVERGENCE VLASTNICH CISEL NC - POCET VEKTORU SIMULTANNI ITERACE, DOPORUCUJE SE VOLIT NC = MIN (2*NROOT , NROOT+8 ) NITEM - MAXIMALNI POCET ITERACI (OBYC. 16) - - - PRACOVNI POLE - - - TT(NN),W(NN),D(NC),RTOLV(NC),BUP(NC),BLO(NC),BUPC(NC) AR(NC,NC) - PRACOVNI MATICE - PROJEKCE MATICE A BR(NC,NC) - PROJEKCE MATICE B - - - VYSTUPNI DATA - - - EIGV(NROOT) - VLASTNI CISLA R(NN,NROOT) - VLASTNI VEKTORY
Definition at line 91 of file subspaceit.h.
| oofem::SubspaceIteration::SubspaceIteration | ( | Domain * | d, |
| EngngModel * | m | ||
| ) |
Definition at line 50 of file subspaceit.C.
References nitem.
|
virtual |
Definition at line 57 of file subspaceit.C.
|
inlinevirtual |
Implements oofem::SparseGeneralEigenValueSystemNM.
Definition at line 101 of file subspaceit.h.
|
virtual |
Solves the given sparse generalized eigen value system of equations
.
| 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 61 of file subspaceit.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::SparseMtrx::at(), oofem::SparseMtrx::backSubstitutionWith(), oofem::FloatArray::beColumnOf(), oofem::FloatMatrix::beInverseOf(), oofem::FloatArray::beProductOf(), oofem::NumericalMethod::domain, oofem::NumericalMethod::engngModel, oofem::SparseMtrx::factorized(), oofem::GiveClassFactory(), oofem::SparseMtrx::giveNumberOfColumns(), oofem::min(), nitem, NM_Success, OOFEM_ERROR, OOFEM_LOG_INFO, OOFEM_WARNING, oofem::FloatArray::printYourself(), oofem::FloatMatrix::printYourself(), oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), oofem::FloatMatrix::setColumn(), oofem::GJacobi::solve(), oofem::ST_Direct, oofem::FloatMatrix::symmetrized(), oofem::SparseMtrx::times(), oofem::FloatArray::zero(), and oofem::FloatMatrix::zero().
|
private |
Definition at line 94 of file subspaceit.h.
Referenced by solve(), and SubspaceIteration().