20 #ifndef _EIGENANALYSER_H_
21 #define _EIGENANALYSER_H_
23 #include "fmatvec/fmatvec.h"
24 #include "mbsim/functions/function.h"
25 #include "mbsim/solver.h"
27 namespace MBSimAnalyser {
48 enum Task { eigenfrequencies, eigenmodes, eigenmode, eigenmotion };
53 Eigenanalyser() : tStart(0), tEnd(1), dtPlot(1e-2), A(1), n(1), compEq(false), task(eigenmode) {}
117 void setTask(Task task_) { task = task_; }
119 const fmatvec::Vec& getInitialState()
const {
return zEq; }
145 void initializeUsingXML(xercesc::DOMElement *element);
150 double tStart, tEnd, dtPlot, A;
158 std::vector<std::pair<double,int> > f;
160 std::string fileName;
162 bool saveEigenanalyis(
const std::string &fileName);
163 void computeEigenfrequencies();
164 void computeEigenvalues();
165 void computeEigenmodes();
166 void computeEigenmode();
167 void computeEigenmotion();
solver-interface for dynamic systems
Definition: solver.h:38
const fmatvec::SquareMatrix< fmatvec::Ref, std::complex< double > > & getEigenvectors() const
Get the eigenvectors.
Definition: eigenanalyser.h:131
void setAmplitude(double A_)
Set the amplitude for the eigemode analysis.
Definition: eigenanalyser.h:78
void analyse(MBSim::DynamicSystemSolver &system)
Perform the eigenanalysis.
Definition: eigenanalyser.cc:65
solver interface for modelling and simulation of dynamic systems
Definition: dynamic_system_solver.h:48
~Eigenanalyser()
Destructor.
Definition: eigenanalyser.h:58
const fmatvec::Vector< fmatvec::Ref, std::complex< double > > & getEigenvalues() const
Get the eigenvalues.
Definition: eigenanalyser.h:125
void setDetermineEquilibriumState(bool eq)
Determine the equilibrium state for the analysis.
Definition: eigenanalyser.h:115
void setInitialDeviation(const fmatvec::Vec &deltaz0_)
Set the initial deviation of the equilibrium.
Definition: eigenanalyser.h:72
void execute(MBSim::DynamicSystemSolver &system)
start solving the dynamic system
Definition: eigenanalyser.h:60
const fmatvec::Vec & getEigenfrequencies() const
Get the eigenfrequencies.
Definition: eigenanalyser.h:137
void setMode(int n_)
Set the mode for the eigemode analysis.
Definition: eigenanalyser.h:84
Eigenanalyser for dynamic systems.
Definition: eigenanalyser.h:35
void setStartTime(double tStart_)
Set the start time for the analysis.
Definition: eigenanalyser.h:90
void setEndTime(double tEnd_)
Set the end time for the analysis.
Definition: eigenanalyser.h:96
void setOutputFileName(const std::string &fileName_)
Set the name of the output file.
Definition: eigenanalyser.h:143
void setInitialState(const fmatvec::Vec &z0)
Set the initital state for the analysis.
Definition: eigenanalyser.h:108
Definition: planar_contour.h:31
void setPlotStepSize(double dtPlot_)
Set the plot step size for the analysis.
Definition: eigenanalyser.h:102
Eigenanalyser()
Standard constructor.
Definition: eigenanalyser.h:53
Definition: eigenanalyser.h:37
static DynamicSystemSolver * system
dynamic system
Definition: solver.h:65