49 double beta,
double gamma);
55 bool saveModes(std::map<std::string,std::string>& data)
const;
57 bool restoreModes(
const std::map<std::string,std::string>& data);
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition: MatVec.h:37
std::vector< Matrix > Matrices
An array of real-valued matrices with algebraic operations.
Definition: MatVec.h:39
Base class for NURBS-based FEM simulators.
Class for storage of general algebraic system of equations.
Definition: AlgEqSystem.h:33
Class collecting the element matrices associated with a FEM problem.
Definition: ElmMats.h:34
This class contains data and functions for the assembly of FE matrices.
Definition: SAM.h:39
Class with support for assembly of modal linear equation systems.
Definition: SIMmodal.h:29
SAM * modalSam
Auxiliary data for FE assembly management.
Definition: SIMmodal.h:86
virtual const Vectors & expandSolution(const Vectors &, bool=false)=0
Expands and returns the current dynamic solution.
SIMmodal(std::vector< Mode > &modes)
The constructor initializes the reference to the eigenmodes.
Definition: SIMmodal.C:57
ElmMats * myElmMat
Nodal (single-DOF) element matrices.
Definition: SIMmodal.h:87
const Vectors & expandedSolution() const
Returns the current expanded dynamic solution.
Definition: SIMmodal.h:63
double alpha2
Stiffness-proportional damping parameter.
Definition: SIMmodal.h:82
bool saveModes(std::map< std::string, std::string > &data) const
Writes the eigenmodes to a serialization container.
Definition: SIMmodal.C:258
double alpha1
Mass-proportional damping parameter.
Definition: SIMmodal.h:81
Vector Rhs
Current right-hand-side load vector of the dynamic system.
Definition: SIMmodal.h:77
bool parseParams(const tinyxml2::XMLElement *elem)
Parses structural damping parameters from an XML element.
Definition: SIMmodal.C:76
bool restoreModes(const std::map< std::string, std::string > &data)
Restores the eigenmodes from a serialization container.
Definition: SIMmodal.C:280
bool parsed
Set to true after the model has been initialized.
Definition: SIMmodal.h:80
Vectors sol
Expanded solution vectors from the modal solution.
Definition: SIMmodal.h:78
std::vector< Mode > & myModes
Array of eigenmodes.
Definition: SIMmodal.h:75
const Vectors & expandSolution(const Vectors &mSol)
Calculates the dynamic solution from the previous modal solution.
Definition: SIMmodal.C:103
virtual bool projectModes(Matrices &, std::vector< std::string > &, SIMoptions::ProjectionMethod)
Projects the secondary solution associated with the eigenmodes.
Definition: SIMmodal.h:71
bool assembleModalSystem(const TimeDomain &time, const Vectors &mSol, double beta, double gamma)
Administers assembly of the modal equation system.
Definition: SIMmodal.C:165
bool swapSystem(AlgEqSystem *&sys, SAM *&sam)
Swaps the modal equation system before/after load vector assembly.
Definition: SIMmodal.C:92
size_t numExpSolution() const
Returns the number of expanded dynamic solution vectors.
Definition: SIMmodal.h:68
AlgEqSystem * modalSys
The modal equation system.
Definition: SIMmodal.h:85
virtual ~SIMmodal()
The destructor deletes the dynamically allocated members.
Definition: SIMmodal.C:68
ProjectionMethod
Enum defining the available projection methods.
Definition: SIMoptions.h:107
A vector class with some added algebraic operations.
Definition: matrix.h:64
Struct representing the time domain.
Definition: TimeDomain.h:23