www.mooseframework.org
TensorMechanicsAction.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef TENSORMECHANICSACTION_H
8 #define TENSORMECHANICSACTION_H
9 
11 
13 
14 template <>
15 InputParameters validParams<TensorMechanicsAction>();
16 
18 {
19 public:
20  TensorMechanicsAction(const InputParameters & params);
21 
22  virtual void act();
23 
24 protected:
25  void actSubdomainChecks();
26  void actOutputGeneration();
28 
29  virtual std::string getKernelType();
30  virtual InputParameters getKernelParameters(std::string type);
31 
33  std::vector<NonlinearVariableName> _displacements;
34  unsigned int _ndisp;
35  std::vector<VariableName> _coupled_displacements;
37 
39  std::vector<AuxVariableName> _save_in;
40  std::vector<AuxVariableName> _diag_save_in;
42 
43  Moose::CoordinateSystemType _coord_system;
44 
46  std::vector<SubdomainName> _subdomain_names;
47 
49  std::set<SubdomainID> _subdomain_ids;
50 
52  std::set<SubdomainID> _subdomain_id_union;
53 
55  enum class Strain
56  {
57  Small,
58  Finite
59  } _strain;
60 
62  enum class StrainAndIncrement
63  {
64  SmallTotal,
65  FiniteTotal,
66  SmallIncremental,
67  FiniteIncremental
69 
71  enum class PlanarFormulation
72  {
73  None,
74  PlaneStrain,
76  /* PlaneStress */
78 
81 
83  std::vector<std::string> _generate_output;
84 };
85 
86 #endif // TENSORMECHANICSACTION_H
enum TensorMechanicsAction::Strain _strain
virtual std::string getKernelType()
std::set< SubdomainID > _subdomain_ids
set generated from the passed in vector of subdomain names
std::vector< VariableName > _coupled_displacements
virtual InputParameters getKernelParameters(std::string type)
StrainAndIncrement
strain formulation
std::vector< NonlinearVariableName > _displacements
displacement variables
enum TensorMechanicsAction::StrainAndIncrement _strain_and_increment
std::set< SubdomainID > _subdomain_id_union
set generated from the combined block restrictions of all TensorMechanics/Master action blocks ...
std::vector< std::string > _generate_output
output aux variables to generate for sclar stress/strain tensor quantities
std::vector< AuxVariableName > _save_in
residual debugging
InputParameters validParams< TensorMechanicsAction >()
TensorMechanicsAction(const InputParameters &params)
std::vector< AuxVariableName > _diag_save_in
bool _use_displaced_mesh
use displaced mesh (true unless _strain is SMALL)
Strain
strain formulation
std::vector< SubdomainName > _subdomain_names
if this vector is not empty the variables, kernels and materials are restricted to these subdomains ...
enum TensorMechanicsAction::PlanarFormulation _planar_formulation
PlanarFormulation
use an out of plane stress/strain formulation
Moose::CoordinateSystemType _coord_system