IFEM 90A354
EigenModeSIM.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _EIGEN_MODE_SIM_H
15#define _EIGEN_MODE_SIM_H
16
17#include "MultiStepSIM.h"
18#include "SIMbase.h"
19
20
26{
27public:
29 explicit EigenModeSIM(SIMbase& sim);
31 virtual ~EigenModeSIM() {}
32
35 virtual bool parse(const tinyxml2::XMLElement* elem);
36
38 virtual void printProblem(bool stopInputTimer = false) const;
39
41 virtual void initSol(size_t nSol, size_t nDof);
42
44 virtual bool advanceStep(TimeStep& param, bool updateTime = true);
45
51 double zero_tolerance,
52 std::streamsize outPrec);
53
54private:
55 double myStart;
56 std::vector<Mode> modes;
57 std::vector<double> amplitude;
58 std::vector<double> omega;
59};
60
61#endif
Base class for multi-step solution drivers.
Base class for NURBS-based FEM simulators.
Driver for computing a time history from a set of eigen mode shapes.
Definition EigenModeSIM.h:26
virtual void initSol(size_t nSol, size_t nDof)
Initializes primary solution vectors.
Definition EigenModeSIM.C:113
virtual bool advanceStep(TimeStep &param, bool updateTime=true)
Advances the time step one step forward.
Definition EigenModeSIM.C:146
virtual ~EigenModeSIM()
Empty destructor.
Definition EigenModeSIM.h:31
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition EigenModeSIM.C:30
double myStart
The start time of this simulator.
Definition EigenModeSIM.h:55
virtual SIM::ConvStatus solveStep(TimeStep &param, SIM::SolutionMode, double zero_tolerance, std::streamsize outPrec)
Computes the primary solution at current time step.
Definition EigenModeSIM.C:153
std::vector< double > omega
Applied angular frequencies.
Definition EigenModeSIM.h:58
virtual void printProblem(bool stopInputTimer=false) const
Prints out problem-specific data to the log stream.
Definition EigenModeSIM.C:88
std::vector< double > amplitude
Eigenmode shape amplitudes.
Definition EigenModeSIM.h:57
std::vector< Mode > modes
Eigenmode shapes and frequencies.
Definition EigenModeSIM.h:56
Base class for multi-step solution drivers.
Definition MultiStepSIM.h:32
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition MultiStepSIM.C:44
Base class for NURBS-based FEM simulators.
Definition SIMbase.h:72
Class for encapsulation of general time stepping parameters.
Definition TimeStep.h:31
SolutionMode
Enum defining the various solution modes that may occur.
Definition SIMenums.h:31
ConvStatus
Enum defining the various convergence statuses that may occur.
Definition SIMenums.h:50