48 #include <solution/system_of_eqn/SystemOfEqn.h> 49 #include "/usr/include/boost/numeric/ublas/matrix_sparse.hpp" 67 typedef boost::numeric::ublas::mapped_matrix<double> sparse_matrix;
77 void resize_mass_matrix_if_needed(
const size_t &);
85 virtual int solve(
int numModes);
86 virtual int solve(
void);
88 virtual double getRCond(
const char &norm=
'1');
91 virtual int addA(
const Matrix &,
const ID &,
double fact = 1.0) = 0;
92 virtual int addM(
const Matrix &,
const ID &,
double fact = 1.0) = 0;
94 virtual int setSize(
Graph &theGraph) = 0;
95 virtual void zeroA(
void) = 0;
96 virtual void zeroM(
void);
98 virtual boost::python::list
getMPy(
void)
const;
101 bool standardProblem(
void)
const;
const int & getNumModes(void) const
Returns the number of computed eigenvalues.
Definition: EigenSOE.cpp:295
virtual const Vector & getEigenvector(int mode) const
Return the autovector that correspond to the mode being passed as parameter.
Definition: EigenSOE.cpp:229
int getNumEqn(void) const
Returns the number of equations.
Definition: EigenSOE.cpp:116
EigenSOE(SolutionStrategy *, int classTag)
Constructor.
Definition: EigenSOE.cpp:65
Float vector abstraction.
Definition: Vector.h:94
virtual boost::python::list getMPy(void) const
Return the rows of the mass matrix in a Python list.
Definition: EigenSOE.cpp:194
Matrix getEigenvectors(void) const
Returns a matrix with the computed eigenvectors disposed by columns.
Definition: EigenSOE.cpp:241
Vector getFrequencies(void) const
Returns a vector with the computed frequencies for each mode.
Definition: EigenSOE.cpp:291
virtual void zeroM(void)
Anula la matrix M.
Definition: EigenSOE.cpp:188
double getAngularFrequency(int mode) const
Returns the angular frequency of the i-th mode.
Definition: EigenSOE.cpp:254
Base class for eigenproblem systems of equations.
Definition: EigenSOE.h:64
virtual bool setSolver(EigenSolver *)
Set the solver.
Definition: EigenSOE.cpp:93
Vector getNormalizedEigenvector(int mode) const
Returns the normalized autovector that correspond to the mode being passed as parameter.
Definition: EigenSOE.cpp:236
Matrix getNormalizedEigenvectors(void) const
Returns a matrix whit the normalized eigenvectors disposed by columns (infinity norm).
Definition: EigenSOE.cpp:246
int size
order of A
Definition: EigenSOE.h:69
Matrix getDistributionFactors(void) const
Returns a matrix with the computed distribution factors placed by columns.
Definition: EigenSOE.cpp:352
virtual double getDeterminant(void)
Returns the determinant of the system matrix.
Definition: EigenSOE.cpp:168
Vector of integers.
Definition: ID.h:95
Eigenvalue SOE solver.
Definition: EigenSolver.h:60
Vector getAngularFrequencies(void) const
Returns a vector with the computed angular frequencies for each mode.
Definition: EigenSOE.cpp:280
virtual ~EigenSOE(void)
Destructor.
Definition: EigenSOE.cpp:146
virtual int solve(void)
Do nothing.
Definition: EigenSOE.cpp:160
virtual double getRCond(const char &norm='1')
Returns the reciprocal of the condition number.
Definition: EigenSOE.cpp:178
Vector getEquivalentStaticLoad(int mode, const double &) const
Return the equivalent static force for the mode passed as parameter.
Definition: EigenSOE.cpp:408
double getEffectiveModalMass(int mode) const
Return the effective modal mass for the i-th mode.
Definition: EigenSOE.cpp:374
System of equations base class.
Definition: SystemOfEqn.h:90
Vector getEigenvalues(void) const
Returns a vector with computed eigenvalues for each mode.
Definition: EigenSOE.cpp:275
Vector getEffectiveModalMasses(void) const
Returns the effective modal masses for each mode.
Definition: EigenSOE.cpp:388
Vector getDistributionFactor(int mode) const
Returns the distribution factors for the i-th mode.
Definition: EigenSOE.cpp:347
double getTotalMass(void) const
Return the model total mass.
Definition: EigenSOE.cpp:398
The Graph class provides the abstraction of a graph.
Definition: Graph.h:94
virtual const double & getEigenvalue(int mode) const
Returns the eigenvalue of the mode passed as parameter.
Definition: EigenSOE.cpp:250
Vector getPeriods(void) const
Returns a vector with the computed periods for each mode.
Definition: EigenSOE.cpp:286
Solution strategy for the finite element problem.
Definition: SolutionStrategy.h:94
double getFrequency(int mode) const
Return the frequency of the i-th mode.
Definition: EigenSOE.cpp:262
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Matrix of floats.
Definition: Matrix.h:111
virtual double getModalParticipationFactor(int mode) const
Returns the modal participation factor for the mode.
Definition: EigenSOE.cpp:308
Vector getModalParticipationFactors(void) const
Returns the modal participation factors.
Definition: EigenSOE.cpp:340
EigenSolver & newSolver(const std::string &)
Set the solver to use.
Definition: EigenSOE.cpp:121
virtual void identityM(void)
Makes M the identity matrix (to find stiffness matrix eigenvalues).
Definition: EigenSOE.cpp:216
EigenSolver * getSolver(void)
Return a pointer to the solver used to solve the eigenproblem.
Definition: EigenSOE.cpp:183
double getPeriod(int mode) const
Returns the period of the i-th mode.
Definition: EigenSOE.cpp:258
sparse_matrix massMatrix
Mass matrix (used in getModalParticipationFactor).
Definition: EigenSOE.h:71