IFEM 90A354
HHTSIM.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _HHT_SIM_H
15#define _HHT_SIM_H
16
17#include "NewmarkSIM.h"
18
19class SystemVector;
20
21
179class HHTSIM : public NewmarkSIM
180{
181public:
183 explicit HHTSIM(SIMbase& sim);
185 virtual ~HHTSIM();
186
187 using NewmarkSIM::parse;
189 virtual bool parse(const tinyxml2::XMLElement* elem);
190
193 virtual void printProblem(bool stopInputTimer = false) const;
194
196 virtual void initPrm();
198 virtual void initSol(size_t nSol, size_t nDof = 0);
199
201 virtual void setSolution(const RealArray& newSol, int idx);
202
204 virtual bool isLinear() const { return false; }
205
208 virtual bool serialize(SerializeMap& data) const;
211 virtual bool deSerialize(const SerializeMap& data);
212
213protected:
215 virtual bool predictStep(TimeStep& param);
217 virtual bool correctStep(TimeStep& param, bool converged);
219 virtual void finalizeRHSvector(bool predicting);
220
221private:
222 unsigned short int pA;
223 unsigned short int pV;
224
226
229};
230
231#endif
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition ImmersedBoundaries.h:32
Newmark solution driver for isogeometric dynamic FEM simulators.
Newmark-based solution driver for dynamic isogeometric FEM simulators.
Definition HHTSIM.h:180
virtual bool serialize(SerializeMap &data) const
Serialize solution vectors for restarting purposes.
Definition HHTSIM.C:282
virtual bool correctStep(TimeStep &param, bool converged)
Updates configuration variables (solution vector) in an iteration.
Definition HHTSIM.C:201
virtual void finalizeRHSvector(bool predicting)
Finalizes the right-hand-side vector on the system level.
Definition HHTSIM.C:116
SystemVector * Finert
Actual inertia forces in last converged time step.
Definition HHTSIM.h:227
virtual ~HHTSIM()
The destructor deletes the Finert and Fext vectors.
Definition HHTSIM.C:36
SystemVector * Fext
External force vector of previous time step.
Definition HHTSIM.h:228
Vector incDis
Incremental displacement vector.
Definition HHTSIM.h:225
virtual bool isLinear() const
Returns whether this solution driver is linear or not.
Definition HHTSIM.h:204
unsigned short int pA
Index to predicted acceleration vector.
Definition HHTSIM.h:222
virtual void printProblem(bool stopInputTimer=false) const
Prints out problem-specific data to the log stream.
Definition HHTSIM.C:68
virtual bool predictStep(TimeStep &param)
Calculates predicted velocities and accelerations.
Definition HHTSIM.C:148
unsigned short int pV
Index to predicted velocity vector.
Definition HHTSIM.h:223
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition HHTSIM.C:43
virtual void initPrm()
Initializes time integration parameters for the integrand.
Definition HHTSIM.C:83
virtual void setSolution(const RealArray &newSol, int idx)
Modifies the current solution vector (used by sub-iterations only).
Definition HHTSIM.C:262
virtual bool deSerialize(const SerializeMap &data)
Set solution vectors from a serialized state.
Definition HHTSIM.C:299
virtual void initSol(size_t nSol, size_t nDof=0)
Initializes the primary solution vectors.
Definition HHTSIM.C:96
Newmark-based solution driver for dynamic isogeometric FEM simulators.
Definition NewmarkSIM.h:25
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition NewmarkSIM.C:68
Base class for NURBS-based FEM simulators.
Definition SIMbase.h:72
std::map< std::string, std::string > SerializeMap
Convenience type.
Definition SIMsolution.h:43
Base class for representing a system vector on different formats.
Definition SystemMatrix.h:32
Class for encapsulation of general time stepping parameters.
Definition TimeStep.h:31
A vector class with some added algebraic operations.
Definition matrix.h:64