www.mooseframework.org
InertialTorque.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "TimeKernel.h"
13 #include "Material.h"
14 
15 // Forward Declarations
16 class InertialTorque;
17 
18 template <>
19 InputParameters validParams<InertialTorque>();
20 
28 class InertialTorque : public TimeKernel
29 {
30 public:
31  static InputParameters validParams();
32 
33  InertialTorque(const InputParameters & parameters);
34 
35 protected:
36  virtual Real computeQpResidual() override;
37  virtual Real computeQpJacobian() override;
38  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
39 
40 private:
42  const MaterialProperty<Real> & _density;
43 
45  const Real _beta;
46 
48  const Real _gamma;
49 
51  const MaterialProperty<Real> & _eta;
52 
54  const Real _alpha;
55 
61  const unsigned _component;
62 
64  const unsigned _ndisp;
65 
67  std::vector<unsigned> _disp_num;
68 
70  std::vector<const VariableValue *> _disp;
71 
73  std::vector<const VariableValue *> _disp_old;
74 
76  std::vector<const VariableValue *> _vel_old;
77 
79  std::vector<const VariableValue *> _accel_old;
80 
82  std::vector<Real> _accel;
83 
85  std::vector<Real> _vel;
86 
88  std::vector<Real> _daccel;
89 
91  std::vector<Real> _dvel;
92 };
InertialTorque::_eta
const MaterialProperty< Real > & _eta
Rayleigh-damping eta parameter.
Definition: InertialTorque.h:51
InertialTorque::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Definition: InertialTorque.C:112
InertialTorque::_dvel
std::vector< Real > _dvel
Derivative of velocity with respect to displacement.
Definition: InertialTorque.h:91
InertialTorque::_ndisp
const unsigned _ndisp
Number of displacement variables. This must be 3.
Definition: InertialTorque.h:64
InertialTorque::_accel
std::vector< Real > _accel
Acceleration (instantiating this vector avoids re-creating a new vector every residual calculation)
Definition: InertialTorque.h:82
InertialTorque
Computes the inertial torque, which is density * displacement x acceleration (a cross-product is used...
Definition: InertialTorque.h:28
InertialTorque::validParams
static InputParameters validParams()
Definition: InertialTorque.C:20
InertialTorque::InertialTorque
InertialTorque(const InputParameters &parameters)
Definition: InertialTorque.C:49
InertialTorque::_alpha
const Real _alpha
HHT alpha parameter.
Definition: InertialTorque.h:54
InertialTorque::_beta
const Real _beta
Newmark beta parameter.
Definition: InertialTorque.h:45
InertialTorque::computeQpResidual
virtual Real computeQpResidual() override
Definition: InertialTorque.C:84
InertialTorque::_disp_old
std::vector< const VariableValue * > _disp_old
Old value of displacements.
Definition: InertialTorque.h:73
InertialTorque::_component
const unsigned _component
Component of the cross-product desired.
Definition: InertialTorque.h:61
InertialTorque::computeQpJacobian
virtual Real computeQpJacobian() override
Definition: InertialTorque.C:106
InertialTorque::_gamma
const Real _gamma
Newmark gamma parameter.
Definition: InertialTorque.h:48
InertialTorque::_accel_old
std::vector< const VariableValue * > _accel_old
Old value of accelerations.
Definition: InertialTorque.h:79
InertialTorque::_disp_num
std::vector< unsigned > _disp_num
MOOSE internal variable numbers corresponding to the displacments.
Definition: InertialTorque.h:67
InertialTorque::_daccel
std::vector< Real > _daccel
Derivative of acceleration with respect to displacement.
Definition: InertialTorque.h:88
InertialTorque::_vel
std::vector< Real > _vel
Velocity (instantiating this vector avoids re-creating a new vector every residual calculation)
Definition: InertialTorque.h:85
InertialTorque::_disp
std::vector< const VariableValue * > _disp
Displacements.
Definition: InertialTorque.h:70
InertialTorque::_density
const MaterialProperty< Real > & _density
density
Definition: InertialTorque.h:42
validParams< InertialTorque >
InputParameters validParams< InertialTorque >()
InertialTorque::_vel_old
std::vector< const VariableValue * > _vel_old
Old value of velocities.
Definition: InertialTorque.h:76