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 
19 class SystemVector;
20 
21 
179 class HHTSIM : public NewmarkSIM
180 {
181 public:
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 
213 protected:
215  virtual bool predictStep(TimeStep& param);
217  virtual bool correctStep(TimeStep& param, bool converged);
219  virtual void finalizeRHSvector(bool predicting);
220 
221 private:
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:29
Newmark solution driver for isogeometric dynamic FEM simulators.
Newmark-based solution driver for dynamic isogeometric FEM simulators.
Definition: HHTSIM.h:180
HHTSIM(SIMbase &sim)
The constructor initializes default solution parameters.
Definition: HHTSIM.C:22
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 void initPrm()
Initializes time integration parameters for the integrand.
Definition: HHTSIM.C:83
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition: NewmarkSIM.C:68
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: MultiStepSIM.C:44
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