https://mooseframework.inl.gov
SolidMechanicsApp.C
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 #include "SolidMechanicsApp.h"
11 #include "Moose.h"
12 #include "AppFactory.h"
13 #include "MooseSyntax.h"
14 
17 {
18  auto params = MooseApp::validParams();
19  params.set<bool>("automatic_automatic_scaling") = false;
20  params.set<bool>("use_legacy_material_output") = false;
21  params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
22  return params;
23 }
24 
25 registerKnownLabel("SolidMechanicsApp");
26 
28 {
30 }
31 
33 
34 void
36 {
37  Registry::registerObjectsTo(f, {"SolidMechanicsApp"});
38  Registry::registerActionsTo(af, {"SolidMechanicsApp"});
39  registerAppDataFilePath("solid_mechanics");
40 
41  registerSyntax("EmptyAction", "BCs/CavityPressure");
42  registerSyntax("CavityPressureAction", "BCs/CavityPressure/*");
43  registerSyntax("CavityPressurePPAction", "BCs/CavityPressure/*");
44  registerSyntax("CavityPressureUOAction", "BCs/CavityPressure/*");
45 
46  registerDeprecatedSyntax("LegacyTensorMechanicsAction",
47  "Kernels/TensorMechanics",
48  "The 'Kernels/TensorMechanics' syntax is deprecated. Please use "
49  "'Physics/SolidMechanics/QuasiStatic' instead.");
50  registerDeprecatedSyntax("LegacyDynamicTensorMechanicsAction",
51  "Kernels/DynamicTensorMechanics",
52  "The 'Kernels/DynamicTensorMechanics' syntax is deprecated. Please use "
53  "'Physics/SolidMechanics/Dynamic' instead.");
54  // For convenience, since the Kernels/XYZMechanics syntax is still around
55  registerDeprecatedSyntax("LegacyTensorMechanicsAction",
56  "Kernels/SolidMechanics",
57  "The 'Kernels/SolidMechanics' syntax is deprecated. Please use "
58  "'Physics/SolidMechanics/QuasiStatic' instead.");
59  registerDeprecatedSyntax("LegacyDynamicTensorMechanicsAction",
60  "Kernels/DynamicSolidMechanics",
61  "The 'Kernels/DynamicSolidMechanics' syntax is deprecated. Please use "
62  "'Physics/SolidMechanics/Dynamic' instead.");
63  registerSyntax("PoroMechanicsAction", "Kernels/PoroMechanics");
64 
65  registerSyntax("EmptyAction", "BCs/Pressure");
66  registerSyntax("PressureAction", "BCs/Pressure/*");
67  registerSyntax("EmptyAction", "BCs/InclinedNoDisplacementBC");
68  registerSyntax("InclinedNoDisplacementBCAction", "BCs/InclinedNoDisplacementBC/*");
69  registerSyntax("EmptyAction", "BCs/CoupledPressure");
70  registerSyntax("CoupledPressureAction", "BCs/CoupledPressure/*");
71 
72  // Deprecated Modules/TensorMechanics syntax
73  registerDeprecatedSyntax("GeneralizedPlaneStrainAction",
74  "Modules/TensorMechanics/GeneralizedPlaneStrain/*",
75  "The 'Modules/TensorMechanics' syntax is deprecated. Please use "
76  "'Physics/SolidMechanics' instead.");
77  registerDeprecatedSyntax("GlobalStrainAction",
78  "Modules/TensorMechanics/GlobalStrain/*",
79  "The 'Modules/TensorMechanics' syntax is deprecated. Please use "
80  "'Physics/SolidMechanics' instead.");
81  registerDeprecatedSyntax("CommonSolidMechanicsAction",
82  "Modules/TensorMechanics/Master",
83  "The 'Modules/TensorMechanics/Master' syntax is deprecated. Please use "
84  "'Physics/SolidMechanics/QuasiStatic' instead.");
85  registerDeprecatedSyntax(
86  "CommonSolidMechanicsAction",
87  "Modules/TensorMechanics/DynamicMaster",
88  "The 'Modules/TensorMechanics/DynamicMaster' syntax is deprecated. Please use "
89  "'Physics/SolidMechanics/Dynamic' instead.");
90  registerDeprecatedSyntax("QuasiStaticSolidMechanicsPhysics",
91  "Modules/TensorMechanics/Master/*",
92  "The 'Modules/TensorMechanics/Master' syntax is deprecated. Please use "
93  "'Physics/SolidMechanics/QuasiStatic' instead.");
94  registerDeprecatedSyntax(
95  "DynamicSolidMechanicsPhysics",
96  "Modules/TensorMechanics/DynamicMaster/*",
97  "The 'Modules/TensorMechanics/DynamicMaster' syntax is deprecated. Please use "
98  "'Physics/SolidMechanics/Dynamic' instead.");
99 
100  registerDeprecatedSyntax(
101  "CommonLineElementAction",
102  "Modules/TensorMechanics/LineElementMaster",
103  "The 'Modules/TensorMechanics/LineElementMaster' syntax is deprecated. Please use "
104  "'Physics/SolidMechanics/LineElement/QuasiStatic' instead.");
105  registerDeprecatedSyntax(
106  "LineElementAction",
107  "Modules/TensorMechanics/LineElementMaster/*",
108  "The 'Modules/TensorMechanics/LineElementMaster' syntax is deprecated. Please use "
109  "'Physics/SolidMechanics/LineElement/QuasiStatic' instead.");
110 
111  registerDeprecatedSyntax(
112  "CommonCohesiveZoneAction",
113  "Modules/TensorMechanics/CohesiveZoneMaster",
114  "The 'Modules/TensorMechanics/CohesiveZoneMaster' syntax is deprecated. Please use "
115  "'Physics/SolidMechanics/CohesiveZone' instead.");
116  registerDeprecatedSyntax(
117  "CohesiveZoneAction",
118  "Modules/TensorMechanics/CohesiveZoneMaster/*",
119  "The 'Modules/TensorMechanics/CohesiveZoneMaster' syntax is deprecated. Please use "
120  "'Physics/SolidMechanics/CohesiveZone' instead.");
121 
122  registerDeprecatedSyntax("EmptyAction",
123  "Modules/TensorMechanics/MaterialVectorBodyForce",
124  "The 'Modules/TensorMechanics' syntax is deprecated. Please use "
125  "'Physics/SolidMechanics' instead.");
126  registerDeprecatedSyntax("MaterialVectorBodyForceAction",
127  "Modules/TensorMechanics/MaterialVectorBodyForce/*",
128  "The 'Modules/TensorMechanics' syntax is deprecated. Please use "
129  "'Physics/SolidMechanics' instead.");
130 
131  // New Physics syntax
132  registerSyntax("GeneralizedPlaneStrainAction", "Physics/SolidMechanics/GeneralizedPlaneStrain/*");
133  registerSyntax("GlobalStrainAction", "Physics/SolidMechanics/GlobalStrain/*");
134  registerSyntax("CommonSolidMechanicsAction", "Physics/SolidMechanics/QuasiStatic");
135  registerSyntax("CommonSolidMechanicsAction", "Physics/SolidMechanics/Dynamic");
136  registerSyntax("QuasiStaticSolidMechanicsPhysics", "Physics/SolidMechanics/QuasiStatic/*");
137  registerSyntax("DynamicSolidMechanicsPhysics", "Physics/SolidMechanics/Dynamic/*");
138 
139  registerSyntax("CommonLineElementAction", "Physics/SolidMechanics/LineElement/QuasiStatic");
140  registerSyntax("LineElementAction", "Physics/SolidMechanics/LineElement/QuasiStatic/*");
141 
142  registerSyntax("CommonCohesiveZoneAction", "Physics/SolidMechanics/CohesiveZone");
143  registerSyntax("CohesiveZoneAction", "Physics/SolidMechanics/CohesiveZone/*");
144 
145  registerSyntax("EmptyAction", "Physics/SolidMechanics/MaterialVectorBodyForce");
146  registerSyntax("MaterialVectorBodyForceAction",
147  "Physics/SolidMechanics/MaterialVectorBodyForce/*");
148 
149  registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_user_object");
150  registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_aux_variable");
151  registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_aux_kernel");
152  registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_postprocessor");
153  registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_vector_postprocessor");
154  registerSyntaxTask("DomainIntegralAction", "DomainIntegral", "add_material");
155 
156  registerTask("validate_coordinate_systems", /*is_required=*/false);
157  addTaskDependency("validate_coordinate_systems", "create_problem_complete");
158  addTaskDependency("setup_postprocessor_data", "validate_coordinate_systems");
159 }
160 
161 void
163 {
164  registerApp(SolidMechanicsApp);
165 }
166 
167 extern "C" void
169 {
171 }
172 extern "C" void
174 {
176 }
registerKnownLabel("SolidMechanicsApp")
virtual ~SolidMechanicsApp()
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
static void registerObjectsTo(Factory &f, const std::set< std::string > &labels)
static void registerApps()
Syntax _syntax
static InputParameters validParams()
SolidMechanicsApp(const InputParameters &parameters)
static InputParameters validParams()
static void registerActionsTo(ActionFactory &f, const std::set< std::string > &labels)
Real f(Real x)
Test function for Brents method.
ActionFactory _action_factory
void SolidMechanicsApp_registerApps()
Factory _factory
void SolidMechanicsApp__registerAll(Factory &f, ActionFactory &af, Syntax &s)