www.mooseframework.org
NodalTranslationalInertia.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 "TimeNodalKernel.h"
13 
14 // Forward Declarations
16 
17 template <>
19 
23 class NodalTranslationalInertia : public TimeNodalKernel
24 {
25 public:
26  static InputParameters validParams();
27 
28  NodalTranslationalInertia(const InputParameters & parameters);
29 
30 protected:
31  virtual Real computeQpResidual() override;
32 
33  virtual Real computeQpJacobian() override;
34 
36  const bool _has_mass;
37  const bool _has_beta;
38  const bool _has_gamma;
39  const bool _has_velocity;
40  const bool _has_acceleration;
42 
44  const Real _mass;
45 
47  const VariableValue * _u_old;
48 
50  const Real _beta;
51 
53  const Real _gamma;
54 
56  const Real & _eta;
57 
59  const Real & _alpha;
60 
62  AuxiliarySystem * _aux_sys;
63 
65  unsigned int _vel_num;
66 
68  unsigned int _accel_num;
69 
71  std::map<dof_id_type, Real> _node_id_to_mass;
72 
74  const MooseArray<Number> * _vel;
75 
77  const MooseArray<Number> * _vel_old;
78 
80  const MooseArray<Number> * _accel;
81 
83  const MooseArray<Number> * _du_dot_du;
84 
86  const MooseArray<Number> * _du_dotdot_du;
87 };
NodalTranslationalInertia::_mass
const Real _mass
Mass associated with the node.
Definition: NodalTranslationalInertia.h:44
NodalTranslationalInertia::computeQpResidual
virtual Real computeQpResidual() override
Definition: NodalTranslationalInertia.C:138
validParams< NodalTranslationalInertia >
InputParameters validParams< NodalTranslationalInertia >()
NodalTranslationalInertia::_has_gamma
const bool _has_gamma
Definition: NodalTranslationalInertia.h:38
NodalTranslationalInertia::_u_old
const VariableValue * _u_old
Old value of displacement.
Definition: NodalTranslationalInertia.h:47
NodalTranslationalInertia
Calculates the inertial force and mass proportional damping for a nodal mass.
Definition: NodalTranslationalInertia.h:23
NodalTranslationalInertia::_has_nodal_mass_file
const bool _has_nodal_mass_file
Definition: NodalTranslationalInertia.h:41
NodalTranslationalInertia::_alpha
const Real & _alpha
HHT time integration parameter.
Definition: NodalTranslationalInertia.h:59
NodalTranslationalInertia::_has_velocity
const bool _has_velocity
Definition: NodalTranslationalInertia.h:39
NodalTranslationalInertia::_accel
const MooseArray< Number > * _accel
Acceleration variable value.
Definition: NodalTranslationalInertia.h:80
NodalTranslationalInertia::_du_dot_du
const MooseArray< Number > * _du_dot_du
du_dot_du variable value
Definition: NodalTranslationalInertia.h:83
NodalTranslationalInertia::_vel
const MooseArray< Number > * _vel
Velocity variable value.
Definition: NodalTranslationalInertia.h:74
NodalTranslationalInertia::_eta
const Real & _eta
Mass proportional Rayliegh damping.
Definition: NodalTranslationalInertia.h:56
NodalTranslationalInertia::computeQpJacobian
virtual Real computeQpJacobian() override
Definition: NodalTranslationalInertia.C:178
NodalTranslationalInertia::_du_dotdot_du
const MooseArray< Number > * _du_dotdot_du
du_dotdot_du variable value
Definition: NodalTranslationalInertia.h:86
NodalTranslationalInertia::_has_beta
const bool _has_beta
Definition: NodalTranslationalInertia.h:37
NodalTranslationalInertia::NodalTranslationalInertia
NodalTranslationalInertia(const InputParameters &parameters)
Definition: NodalTranslationalInertia.C:49
NodalTranslationalInertia::_gamma
const Real _gamma
Newmark time integration parameter.
Definition: NodalTranslationalInertia.h:53
NodalTranslationalInertia::validParams
static InputParameters validParams()
Definition: NodalTranslationalInertia.C:21
NodalTranslationalInertia::_beta
const Real _beta
Newmark time integration parameter.
Definition: NodalTranslationalInertia.h:50
NodalTranslationalInertia::_node_id_to_mass
std::map< dof_id_type, Real > _node_id_to_mass
Map between boundary nodes and nodal mass.
Definition: NodalTranslationalInertia.h:71
NodalTranslationalInertia::_aux_sys
AuxiliarySystem * _aux_sys
Auxiliary system object.
Definition: NodalTranslationalInertia.h:62
NodalTranslationalInertia::_vel_old
const MooseArray< Number > * _vel_old
Old velocity variable value.
Definition: NodalTranslationalInertia.h:77
NodalTranslationalInertia::_has_acceleration
const bool _has_acceleration
Definition: NodalTranslationalInertia.h:40
NodalTranslationalInertia::_accel_num
unsigned int _accel_num
Variable number corresponding to the acceleration aux variable.
Definition: NodalTranslationalInertia.h:68
NodalTranslationalInertia::_has_mass
const bool _has_mass
Booleans for validity of params.
Definition: NodalTranslationalInertia.h:36
NodalTranslationalInertia::_vel_num
unsigned int _vel_num
Variable number corresponding to the velocity aux variable.
Definition: NodalTranslationalInertia.h:65