https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LineElementAction.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 "Action.h"
13
15{
16public:
18
19 LineElementAction(const InputParameters & params);
20
21 virtual void act();
22
25
26protected:
32
34 void actAddVariables();
35
37 void actAddMaterials();
38
43 void actAddKernels();
44
49 void actAddAuxVariables();
50
55 void actAddAuxKernels();
56
61 void actAddNodalKernels();
62
64 std::vector<VariableName> _displacements;
65
67 unsigned int _ndisp;
68
70 std::vector<VariableName> _rotations;
71
76 std::vector<VariableName> _velocities;
77
82 std::vector<VariableName> _accelerations;
83
88 std::vector<VariableName> _rot_velocities;
89
94 std::vector<VariableName> _rot_accelerations;
95
97 std::vector<AuxVariableName> _save_in;
98 std::vector<AuxVariableName> _diag_save_in;
100
105 std::vector<SubdomainName> _subdomain_names;
106
108 std::set<SubdomainID> _subdomain_ids;
109
114 std::set<SubdomainID> _subdomain_id_union;
115
117 enum class Strain
118 {
119 SMALL,
120 FINITE
122
124
127
134
140
146
152
154 bool _truss;
155};
void actAddMaterials()
Adds material objects required for beam and truss elements.
std::vector< SubdomainName > _subdomain_names
If this vector is not empty the variables, auxvariables, kernels, auxkernels, nodalkernels and materi...
void actAddAuxKernels()
Adds auxkernels corresponding to the translational and rotational velocity and acceleration aux varia...
Strain
strain formulation
static InputParameters validParams()
void actAddAuxVariables()
Adds translational and rotational velocity and acceleration aux variables for dynamic beam simulation...
unsigned int _ndisp
Number of displacement variables.
bool _add_dynamic_variables
Set to true to set up translational and acceleration AuxVariables and the corresponding AuxKernels us...
std::vector< VariableName > _rotations
Names of rotational variables for beam element.
void actGatherActionParameters()
Gather all the block ids from all the actions of this type to create variables spanning all the block...
static InputParameters beamParameters()
Add parameters required for a beam element.
std::vector< VariableName > _velocities
Names of translational velocity variables for dynamic simulation using beam element.
std::vector< AuxVariableName > _save_in
residual debugging
std::vector< AuxVariableName > _diag_save_in
bool _dynamic_nodal_rotational_inertia
Set to true to use nodal inertia matrix to calculate inertial torques in dynamic beam simulations.
bool _dynamic_nodal_translational_inertia
Set to true to use nodal mass matrix to calculate inertial forces in dynamic beam simulations.
std::set< SubdomainID > _subdomain_ids
set generated from the passed in vector of subdomain names
std::vector< VariableName > _rot_accelerations
Names of rotational acceleration variables for dynamic simulation beam element.
std::vector< VariableName > _accelerations
Names of translational acceleration variables for dynamic simulation beam element.
std::set< SubdomainID > _subdomain_id_union
set generated from the combined block restrictions of all LineElementAction action blocks
bool _truss
Set to true if line element is a truss.
bool _dynamic_consistent_inertia
Set to true to use consistent mass and inertia matrices to calculate inertial forces/torques in dynam...
void actAddNodalKernels()
Adds nodal kernels that calculate inertial force/torque due to mass/inertia assigned to nodes of the ...
void actAddVariables()
Adds displacement and rotation variables.
bool _use_displaced_mesh
use displaced mesh (true unless _strain is SMALL_STRAIN_AND_ROTATION)
enum LineElementAction::Strain _strain_type
std::vector< VariableName > _displacements
Names of displacement variables.
std::vector< VariableName > _rot_velocities
Names of rotational velocity variables for dynamic simulation using beam element.
void actAddKernels()
Adds StressDivergence kernels for beam and truss elements and inertia kernels for dynamic beam simula...