www.mooseframework.org
TensorMechanicsAction.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 
13 
15 
16 template <>
17 InputParameters validParams<TensorMechanicsAction>();
18 
20 {
21 public:
22  static InputParameters validParams();
23 
24  TensorMechanicsAction(const InputParameters & params);
25 
26  virtual void act();
27 
28 protected:
29  void actSubdomainChecks();
30  void actOutputGeneration();
32 
33  virtual std::string getKernelType();
34  virtual InputParameters getKernelParameters(std::string type);
35 
37  std::vector<VariableName> _displacements;
38  unsigned int _ndisp;
39  std::vector<VariableName> _coupled_displacements;
41 
43  std::vector<AuxVariableName> _save_in;
44  std::vector<AuxVariableName> _diag_save_in;
46 
47  Moose::CoordinateSystemType _coord_system;
48 
50  std::vector<SubdomainName> _subdomain_names;
51 
53  std::set<SubdomainID> _subdomain_ids;
54 
56  std::set<SubdomainID> _subdomain_id_union;
57 
59  enum class Strain
60  {
61  Small,
62  Finite
63  } _strain;
64 
66  enum class StrainAndIncrement
67  {
68  SmallTotal,
73 
75  enum class PlanarFormulation
76  {
77  None,
82 
84  {
85  x,
86  y,
87  z
88  };
89 
91 
93  const std::string _base_name;
94 
97 
99  std::vector<std::string> _generate_output;
100 };
TensorMechanicsAction::PlanarFormulation::None
TensorMechanicsAction::actSubdomainChecks
void actSubdomainChecks()
Definition: TensorMechanicsAction.C:382
TensorMechanicsAction::_save_in
std::vector< AuxVariableName > _save_in
residual debugging
Definition: TensorMechanicsAction.h:43
TensorMechanicsAction::StrainAndIncrement::SmallTotal
TensorMechanicsAction::_planar_formulation
enum TensorMechanicsAction::PlanarFormulation _planar_formulation
TensorMechanicsAction::_ndisp
unsigned int _ndisp
Definition: TensorMechanicsAction.h:38
TensorMechanicsAction::OutOfPlaneDirection::x
TensorMechanicsAction::PlanarFormulation::GeneralizedPlaneStrain
TensorMechanicsAction::StrainAndIncrement::FiniteTotal
TensorMechanicsAction
Definition: TensorMechanicsAction.h:19
TensorMechanicsAction::Strain
Strain
strain formulation
Definition: TensorMechanicsAction.h:59
TensorMechanicsAction::getKernelType
virtual std::string getKernelType()
Definition: TensorMechanicsAction.C:528
TensorMechanicsAction::Strain::Small
TensorMechanicsAction::actOutputGeneration
void actOutputGeneration()
Definition: TensorMechanicsAction.C:427
TensorMechanicsAction::PlanarFormulation
PlanarFormulation
use an out of plane stress/strain formulation
Definition: TensorMechanicsAction.h:75
TensorMechanicsAction::OutOfPlaneDirection::z
TensorMechanicsActionBase
Definition: TensorMechanicsActionBase.h:19
validParams< TensorMechanicsAction >
InputParameters validParams< TensorMechanicsAction >()
TensorMechanicsAction::_use_displaced_mesh
bool _use_displaced_mesh
use displaced mesh (true unless _strain is SMALL)
Definition: TensorMechanicsAction.h:96
TensorMechanicsAction::_base_name
const std::string _base_name
base name for the current master action block
Definition: TensorMechanicsAction.h:93
TensorMechanicsAction::_strain
enum TensorMechanicsAction::Strain _strain
TensorMechanicsAction::PlanarFormulation::PlaneStrain
TensorMechanicsAction::StrainAndIncrement::SmallIncremental
TensorMechanicsAction::StrainAndIncrement::FiniteIncremental
TensorMechanicsAction::_coupled_displacements
std::vector< VariableName > _coupled_displacements
Definition: TensorMechanicsAction.h:39
TensorMechanicsActionBase.h
TensorMechanicsAction::_subdomain_names
std::vector< SubdomainName > _subdomain_names
if this vector is not empty the variables, kernels and materials are restricted to these subdomains
Definition: TensorMechanicsAction.h:50
TensorMechanicsAction::Strain::Finite
TensorMechanicsAction::actGatherActionParameters
void actGatherActionParameters()
Definition: TensorMechanicsAction.C:501
TensorMechanicsAction::_subdomain_id_union
std::set< SubdomainID > _subdomain_id_union
set generated from the combined block restrictions of all TensorMechanics/Master action blocks
Definition: TensorMechanicsAction.h:56
TensorMechanicsAction::_generate_output
std::vector< std::string > _generate_output
output aux variables to generate for sclar stress/strain tensor quantities
Definition: TensorMechanicsAction.h:99
TensorMechanicsAction::_strain_and_increment
enum TensorMechanicsAction::StrainAndIncrement _strain_and_increment
TensorMechanicsAction::_displacements
std::vector< VariableName > _displacements
displacement variables
Definition: TensorMechanicsAction.h:37
TensorMechanicsAction::_subdomain_ids
std::set< SubdomainID > _subdomain_ids
set generated from the passed in vector of subdomain names
Definition: TensorMechanicsAction.h:53
TensorMechanicsAction::_diag_save_in
std::vector< AuxVariableName > _diag_save_in
Definition: TensorMechanicsAction.h:44
TensorMechanicsAction::OutOfPlaneDirection
OutOfPlaneDirection
Definition: TensorMechanicsAction.h:83
TensorMechanicsAction::PlanarFormulation::WeakPlaneStress
TensorMechanicsAction::act
virtual void act()
Definition: TensorMechanicsAction.C:156
TensorMechanicsAction::OutOfPlaneDirection::y
TensorMechanicsAction::StrainAndIncrement
StrainAndIncrement
strain formulation
Definition: TensorMechanicsAction.h:66
TensorMechanicsAction::TensorMechanicsAction
TensorMechanicsAction(const InputParameters &params)
Definition: TensorMechanicsAction.C:67
TensorMechanicsAction::getKernelParameters
virtual InputParameters getKernelParameters(std::string type)
Definition: TensorMechanicsAction.C:544
TensorMechanicsAction::validParams
static InputParameters validParams()
Definition: TensorMechanicsAction.C:39
TensorMechanicsAction::_out_of_plane_direction
const OutOfPlaneDirection _out_of_plane_direction
Definition: TensorMechanicsAction.h:90
TensorMechanicsAction::_coord_system
Moose::CoordinateSystemType _coord_system
Definition: TensorMechanicsAction.h:47