https://mooseframework.inl.gov
InertialTorque.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
24 class InertialTorque : public TimeKernel
25 {
26 public:
28 
30 
31 protected:
32  virtual Real computeQpResidual() override;
33  virtual Real computeQpJacobian() override;
34  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
35 
36 private:
39 
41  const Real _beta;
42 
44  const Real _gamma;
45 
48 
50  const Real _alpha;
51 
57  const unsigned _component;
58 
60  const unsigned _ndisp;
61 
63  const std::vector<unsigned> _disp_num;
64 
66  const std::vector<const VariableValue *> _disp;
67 
69  const std::vector<const VariableValue *> _disp_old;
70 
72  const std::vector<const VariableValue *> _vel_old;
73 
75  const 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 };
std::vector< Real > _dvel
Derivative of velocity with respect to displacement.
static InputParameters validParams()
const MaterialProperty< Real > & _eta
Rayleigh-damping eta parameter.
const std::vector< const VariableValue * > _disp
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
virtual Real computeQpResidual() override
const std::vector< unsigned > _disp_num
MOOSE internal variable numbers corresponding to the displacments.
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.
const std::vector< const VariableValue * > _disp_old
Old value of displacements.
const MaterialProperty< Real > & _density
density
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::vector< const VariableValue * > _vel_old
Old value of velocities.
const InputParameters & parameters() const
Computes the inertial torque, which is density * displacement x acceleration (a cross-product is used...
std::vector< Real > _vel
Velocity (instantiating this vector avoids re-creating a new vector every residual calculation) ...
const std::vector< const VariableValue * > _accel_old
Old value of accelerations.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override