IFEM  90A354
GenAlphaSIM.h
Go to the documentation of this file.
1 // $Id$
2 //==============================================================================
12 //==============================================================================
13 
14 #ifndef _GEN_ALPHA_SIM_H
15 #define _GEN_ALPHA_SIM_H
16 
17 #include "NewmarkSIM.h"
18 
19 
24 class GenAlphaSIM : public NewmarkSIM
25 {
26 public:
28  explicit GenAlphaSIM(SIMbase& s);
30  virtual ~GenAlphaSIM() {}
31 
32  using NewmarkSIM::parse;
34  virtual bool parse(const tinyxml2::XMLElement* elem);
35 
37  virtual void initPrm();
39  virtual void initSol(size_t nSol, size_t nDof = 0);
40 
44  virtual bool advanceStep(TimeStep& param, bool updateTime = true);
45 
47  virtual void setSolution(const RealArray& newSol, int idx);
48 
49 protected:
51  virtual bool predictStep(TimeStep& param);
53  virtual bool correctStep(TimeStep& param, bool converged);
54 
55 private:
56  double alpha_m;
57  double alpha_f;
60 };
61 
62 #endif
std::vector< Real > RealArray
A real-valued array without algebraic operations.
Definition: ImmersedBoundaries.h:29
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition: MatVec.h:37
Newmark solution driver for isogeometric dynamic FEM simulators.
Generalized-alpha driver for dynamic isogeometric FEM simulators.
Definition: GenAlphaSIM.h:25
virtual bool advanceStep(TimeStep &param, bool updateTime=true)
Advances the time step one step forward.
Definition: GenAlphaSIM.C:84
Vectors tempSol
Intermediate solution.
Definition: GenAlphaSIM.h:59
virtual bool correctStep(TimeStep &param, bool converged)
Updates configuration variables (solution vector) in an iteration.
Definition: GenAlphaSIM.C:112
virtual void initPrm()
Initializes time integration parameters for the integrand.
Definition: GenAlphaSIM.C:59
virtual bool predictStep(TimeStep &param)
Calculates predicted velocities and accelerations.
Definition: GenAlphaSIM.C:94
virtual ~GenAlphaSIM()
Empty destructor.
Definition: GenAlphaSIM.h:30
GenAlphaSIM(SIMbase &s)
The constructor initializes default solution parameters.
Definition: GenAlphaSIM.C:20
double alpha_m
Generalized-alpha parameter.
Definition: GenAlphaSIM.h:56
virtual void initSol(size_t nSol, size_t nDof=0)
Initializes primary solution vectors.
Definition: GenAlphaSIM.C:70
virtual void setSolution(const RealArray &newSol, int idx)
Modifies the current solution vector (used by sub-iterations only).
Definition: GenAlphaSIM.C:161
double alpha_f
Generalized-alpha parameter.
Definition: GenAlphaSIM.h:57
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition: NewmarkSIM.C:68
Vectors prevSol
Solution of last converged time step.
Definition: GenAlphaSIM.h:58
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
Class for encapsulation of general time stepping parameters.
Definition: TimeStep.h:31