www.mooseframework.org
InertialTorque.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef INERTIALTORQUE_H
8 #define INERTIALTORQUE_H
9 
10 #include "TimeKernel.h"
11 #include "Material.h"
12 
13 // Forward Declarations
14 class InertialTorque;
15 
16 template <>
17 InputParameters validParams<InertialTorque>();
18 
26 class InertialTorque : public TimeKernel
27 {
28 public:
29  InertialTorque(const InputParameters & parameters);
30 
31 protected:
32  virtual Real computeQpResidual() override;
33  virtual Real computeQpJacobian() override;
34  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
35 
36 private:
38  const MaterialProperty<Real> & _density;
39 
41  const Real _beta;
42 
44  const Real _gamma;
45 
47  const MaterialProperty<Real> & _eta;
48 
50  const Real _alpha;
51 
57  const unsigned _component;
58 
60  const unsigned _ndisp;
61 
63  std::vector<unsigned> _disp_num;
64 
66  std::vector<const VariableValue *> _disp;
67 
69  std::vector<const VariableValue *> _disp_old;
70 
72  std::vector<const VariableValue *> _vel_old;
73 
75  std::vector<const VariableValue *> _accel_old;
76 
78  std::vector<Real> _accel;
79 
81  std::vector<Real> _vel;
82 
84  std::vector<Real> _daccel;
85 
87  std::vector<Real> _dvel;
88 };
89 
90 #endif // INERTIALTORQUE_H
std::vector< Real > _dvel
Derivative of velocity with respect to displacement.
const MaterialProperty< Real > & _eta
Rayleigh-damping eta parameter.
std::vector< const VariableValue * > _disp_old
Old value of displacements.
InertialTorque(const InputParameters &parameters)
const unsigned _ndisp
Number of displacement variables. This must be 3.
const Real _beta
Newmark beta parameter.
std::vector< Real > _accel
Acceleration (instantiating this vector avoids re-creating a new vector every residual calculation) ...
const Real _alpha
HHT alpha parameter.
virtual Real computeQpJacobian() override
std::vector< const VariableValue * > _accel_old
Old value of accelerations.
virtual Real computeQpResidual() override
const unsigned _component
Component of the cross-product desired.
std::vector< Real > _daccel
Derivative of acceleration with respect to displacement.
const Real _gamma
Newmark gamma parameter.
InputParameters validParams< InertialTorque >()
const MaterialProperty< Real > & _density
density
std::vector< const VariableValue * > _disp
Displacements.
std::vector< unsigned > _disp_num
MOOSE internal variable numbers corresponding to the displacments.
Computes the inertial torque, which is density * displacement x acceleration (a cross-product is used...
std::vector< const VariableValue * > _vel_old
Old value of velocities.
std::vector< Real > _vel
Velocity (instantiating this vector avoids re-creating a new vector every residual calculation) ...
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override