https://mooseframework.inl.gov
Loading...
Searching...
No Matches
InertialForceBeam.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#include "RankTwoTensor.h"
15
16// Forward Declarations
17
19{
20public:
22
24
25 virtual void computeResidual() override;
26
27 virtual void computeJacobian() override;
28
29 virtual void computeOffDiagJacobian(unsigned int jvar) override;
30
31protected:
32 virtual Real computeQpResidual() override { return 0.0; };
33
34private:
36 const bool _has_beta;
37 const bool _has_gamma;
38 const bool _has_velocities;
42 const bool _has_Ix;
43
46
48 unsigned int _nrot;
49
51 unsigned int _ndisp;
52
54 std::vector<unsigned int> _rot_num;
55
57 std::vector<unsigned int> _disp_num;
58
60 std::vector<unsigned int> _vel_num;
61
63 std::vector<unsigned int> _accel_num;
64
66 std::vector<unsigned int> _rot_vel_num;
67
69 std::vector<unsigned int> _rot_accel_num;
70
73
79
85
91
97
103
105 const Real _beta;
106
108 const Real _gamma;
109
112
114 const Real _alpha;
115
121
124
126 const unsigned int _component;
127
133
138 RealVectorValue _vel_0, _vel_1, _rot_vel_0, _rot_vel_1;
139
145
151
157
163
168 std::vector<RealVectorValue> _local_force, _local_moment;
169
175
180
185};
std::vector< unsigned int > _rot_num
Variable numbers corresponding to rotational variables.
RealVectorValue _local_rot_accel_1
RealVectorValue _local_accel_0
Current translational and rotational accelerations at the two nodes of the beam in the initial beam l...
const VariableValue & _Az
Coupled variable for first moment of area of beam in z direction, i.e., integral of z*dA over the cro...
RealVectorValue _local_rot_vel_old_1
RealVectorValue _local_rot_vel_1
RealVectorValue _accel_0
Current translational and rotational accelerations at the two nodes of the beam in the global coordin...
const Real _gamma
Newmark time integraion parameter.
virtual void computeJacobian() override
RealVectorValue _rot_vel_0
RealVectorValue _local_rot_accel_0
RealVectorValue _vel_old_1
RealVectorValue _vel_0
Current translational and rotational velocities at the two nodes of the beam in the global coordinate...
RealVectorValue _local_accel_1
const Real _beta
Newmark time integration parameter.
const bool _has_beta
Booleans for validity of params.
std::vector< unsigned int > _accel_num
Variable numbers corresponding to acceleraion aux variables.
static InputParameters validParams()
RealVectorValue _global_moment_1
const unsigned int _component
Direction along which residual is calculated.
RealVectorValue _local_vel_1
virtual void computeResidual() override
RealVectorValue _rot_vel_1
std::vector< unsigned int > _rot_vel_num
Variable numbers corresponding to rotational velocity aux variables.
std::vector< unsigned int > _disp_num
Variable numbers corresponding to displacement variables.
const bool _has_rot_accelerations
std::vector< RealVectorValue > _local_moment
unsigned int _nrot
Number of coupled rotational variables.
std::vector< unsigned int > _vel_num
Variable numbers corresponding to velocity aux variables.
const MaterialProperty< Real > & _original_length
Initial length of beam.
const MaterialProperty< Real > & _eta
Mass proportional Rayleigh damping parameter.
RealVectorValue _rot_vel_old_0
RealVectorValue _local_vel_0
Current translational and rotational velocities at the two nodes of the beam in the initial beam loca...
const bool _has_accelerations
const VariableValue & _Iz
Coupled variable for second momemnt of area of beam in z direction, i.e., integral of z^2*dA over the...
RealVectorValue _local_vel_old_0
Old translational and rotational velocities at the two nodes of the beam in the initial beam local co...
virtual void computeOffDiagJacobian(unsigned int jvar) override
const VariableValue * _du_dot_du
Coupled variable for du_dot_du calculated by time integrator.
RealVectorValue _global_force_0
Forces and moments at the two end nodes of the beam in the global coordinate system.
unsigned int _ndisp
Number of coupled displacement variables.
const VariableValue & _area
Coupled variable for beam cross-sectional area.
RealVectorValue _rot_accel_0
RealVectorValue _local_rot_vel_0
virtual Real computeQpResidual() override
RealVectorValue _global_force_1
const VariableValue & _Iy
Coupled variable for second moment of area of beam in y direction, i.e., integral of y^2*dA over the ...
RealVectorValue _local_vel_old_1
const MaterialProperty< Real > & _density
Density of the beam.
RealVectorValue _accel_1
RealVectorValue _local_rot_vel_old_0
RealVectorValue _vel_old_0
Old translational and rotational velocities at the two nodes of the beam in the global coordinate sys...
const VariableValue & _Ix
Coupled variable for second moment of area of beam in x direction, i.e., integral of (y^2+z^2)*dA ove...
const bool _has_rot_velocities
RealVectorValue _rot_accel_1
const VariableValue & _Ay
Coupled variable for first moment of area of beam in y direction, i.e., integral of y*dA over the cro...
const Real _alpha
HHT time integration parameter.
const MaterialProperty< RankTwoTensor > & _original_local_config
Rotational transformation from global to initial beam local coordinate system.
std::vector< RealVectorValue > _local_force
Forces and moments at the two end nodes of the beam in the initial beam local configuration.
std::vector< unsigned int > _rot_accel_num
Variable numbers corresponding to rotational acceleration aux variables.
RealVectorValue _global_moment_0
RealVectorValue _rot_vel_old_1
RealVectorValue _vel_1
const VariableValue * _du_dotdot_du
Coupled variable for du_dotdot_du calculated by time integrator.
const InputParameters & parameters() const
VariableValueTempl< false > VariableValue