https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NodalRotationalInertia.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 "TimeNodalKernel.h"
13#include "RankTwoTensor.h"
14
15// Forward Declarations
16class TimeIntegrator;
17class AuxiliarySystem;
18
24{
25public:
27
29
30protected:
31 virtual Real computeQpResidual() override;
32
33 virtual Real computeQpJacobian() override;
34
35 virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
36
38 const bool _has_beta;
39 const bool _has_gamma;
44
47
49 unsigned int _nrot;
50
52 std::vector<const VariableValue *> _rot;
53
55 std::vector<const VariableValue *> _rot_old;
56
58 std::vector<unsigned int> _rot_vel_num;
59
61 std::vector<unsigned int> _rot_accel_num;
62
64 std::vector<unsigned int> _rot_variables;
65
67 std::vector<Real> _rot_accel;
68
70 std::vector<Real> _rot_vel;
71
73 std::vector<Real> _rot_vel_old;
74
76 const Real _beta;
77
79 const Real _gamma;
80
82 const Real & _eta;
83
85 const Real & _alpha;
86
88 const unsigned int _component;
89
92
94 std::vector<const VariableValue *> _rot_dot_residual;
95
97 std::vector<const VariableValue *> _rot_vel_old_value;
98
100 std::vector<const VariableValue *> _rot_dotdot_residual;
101
104
107
110};
const InputParameters & parameters() const
Calculates the inertial torque and inertia proportional damping for nodal rotational inertia.
std::vector< Real > _rot_vel_old
Old velocity of the node.
std::vector< const VariableValue * > _rot_dot_residual
Rotational udot residual.
const VariableValue * _du_dot_du
du_dot_du value
std::vector< unsigned int > _rot_variables
Variable numbers for rotational variables.
RankTwoTensor _inertia
Moment of inertia tensor in global coordinate system.
virtual Real computeQpJacobian() override
const Real _beta
Newmark time integration parameter.
std::vector< const VariableValue * > _rot_vel_old_value
Old velocity value.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const VariableValue * _du_dotdot_du
du_dotdot_du value
static InputParameters validParams()
std::vector< Real > _rot_vel
Current velocity of the node.
std::vector< unsigned int > _rot_vel_num
Variable numbers for rotational velocity aux variables.
const TimeIntegrator & _time_integrator
The TimeIntegrator.
const unsigned int _component
Component along which torque is applied.
std::vector< const VariableValue * > _rot_old
Old value of rotational displacements.
const Real & _eta
Mass proportional Rayliegh damping.
AuxiliarySystem * _aux_sys
Auxiliary system object.
const Real & _alpha
HHT time integration parameter.
const bool _has_beta
Booleans for validity of params.
std::vector< Real > _rot_accel
Current acceleration of the node.
virtual Real computeQpResidual() override
unsigned int _nrot
Number of coupled rotational variables.
std::vector< const VariableValue * > _rot_dotdot_residual
Rotational udotdot residual.
std::vector< const VariableValue * > _rot
Value of rotational displacements.
const Real _gamma
Newmark time integration parameter.
std::vector< unsigned int > _rot_accel_num
Variable numbers for rotational acceleration aux variables.
VariableValueTempl< false > VariableValue