www.mooseframework.org
SolidMechanicsApp.C
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 #include "SolidMechanicsApp.h"
8 #include "TensorMechanicsApp.h"
9 #include "Moose.h"
10 #include "AppFactory.h"
11 #include "MooseSyntax.h"
12 
13 #include "AbaqusCreepMaterial.h"
14 #include "AbaqusUmatMaterial.h"
15 #include "CLSHPlasticMaterial.h"
16 #include "CLSHPlasticModel.h"
18 #include "Elastic.h"
19 #include "ElasticModel.h"
20 #include "HomogenizationKernel.h"
22 #include "IsotropicPlasticity.h"
28 #include "LinearStrainHardening.h"
29 #include "MacroElastic.h"
30 #include "InteractionIntegralSM.h"
31 #include "MixedModeEquivalentK.h"
33 #include "MaterialTensorAux.h"
34 #include "PLC_LSH.h"
35 #include "PowerLawCreep.h"
36 #include "PowerLawCreepModel.h"
39 #include "SolidMechanicsAction.h"
40 #include "SolidMechImplicitEuler.h"
41 #include "SolidModel.h"
42 #include "StressDivergence.h"
43 #include "OutOfPlaneStress.h"
44 #include "StressDivergenceRZ.h"
46 #include "RateDepSmearCrackModel.h"
48 
49 template <>
50 InputParameters
52 {
53  InputParameters params = validParams<MooseApp>();
54  return params;
55 }
56 
57 SolidMechanicsApp::SolidMechanicsApp(const InputParameters & parameters) : MooseApp(parameters)
58 {
59  Moose::registerObjects(_factory);
62 
63  Moose::associateSyntax(_syntax, _action_factory);
64  SolidMechanicsApp::associateSyntaxDepends(_syntax, _action_factory);
65  SolidMechanicsApp::associateSyntax(_syntax, _action_factory);
66 }
67 
69 
70 // External entry point for dynamic application loading
71 extern "C" void
73 {
75 }
76 void
78 {
79  registerApp(SolidMechanicsApp);
80 }
81 
82 void
84 {
86 }
87 
88 // External entry point for dynamic object registration
89 extern "C" void
91 {
93 }
94 void
96 {
98  registerAux(MaterialTensorAux);
99 
100  registerMaterial(AbaqusCreepMaterial);
101  registerMaterial(AbaqusUmatMaterial);
102  registerMaterial(CLSHPlasticMaterial);
103  registerMaterial(CLSHPlasticModel);
104  registerMaterial(CombinedCreepPlasticity);
105  registerMaterial(Elastic);
106  registerMaterial(ElasticModel);
107  registerMaterial(IsotropicPlasticity);
108  registerMaterial(IsotropicPowerLawHardening);
109  registerMaterial(IsotropicTempDepHardening);
110  registerMaterial(LinearAnisotropicMaterial);
111  registerMaterial(LinearGeneralAnisotropicMaterial);
112  registerMaterial(LinearIsotropicMaterial);
113  registerMaterial(LinearStrainHardening);
114  registerMaterial(MacroElastic);
115  registerMaterial(PLC_LSH);
116  registerMaterial(PowerLawCreep);
117  registerMaterial(PowerLawCreepModel);
118  registerMaterial(SolidModel);
119  registerMaterial(RateDepSmearCrackModel);
120  registerMaterial(RateDepSmearIsoCrackModel);
121 
122  registerKernel(HomogenizationKernel);
123  registerKernel(SolidMechImplicitEuler);
124  registerKernel(StressDivergence);
125  registerKernel(OutOfPlaneStress);
126  registerKernel(StressDivergenceRZ);
127  registerKernel(StressDivergenceRSpherical);
128 
129  registerPostprocessor(HomogenizedElasticConstants);
130  registerPostprocessor(InteractionIntegralSM);
131  registerPostprocessor(MaterialTensorIntegralSM);
132 
133  registerVectorPostprocessor(LineMaterialSymmTensorSampler);
134 }
135 
136 void
137 SolidMechanicsApp::associateSyntaxDepends(Syntax & syntax, ActionFactory & action_factory)
138 {
139  TensorMechanicsApp::associateSyntax(syntax, action_factory);
140 }
141 
142 // External entry point for dynamic syntax association
143 extern "C" void
144 SolidMechanicsApp__associateSyntax(Syntax & syntax, ActionFactory & action_factory)
145 {
146  SolidMechanicsApp::associateSyntax(syntax, action_factory);
147 }
148 void
149 SolidMechanicsApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory)
150 {
151  registerSyntax("SolidMechanicsAction", "SolidMechanics/*");
152 
153  registerAction(SolidMechanicsAction, "add_kernel");
154 }
Combined power-law creep and linear strain hardening material Power law creep is specified by the tim...
Definition: PLC_LSH.h:24
In this class a rate dependent isotropic damage model is implemented.
This class samples SymmTensor material properties for the integration points in all elements that are...
Plastic material.
This postprocessor computes an element integral of a component of a material tensor.
virtual ~SolidMechanicsApp()
LinearIsotropic material for use in simple applications that don&#39;t need material properties.
static void associateSyntaxDepends(Syntax &syntax, ActionFactory &action_factory)
Plastic material.
static void registerApps()
static void registerObjects(Factory &factory)
static void registerObjectDepends(Factory &factory)
static void registerObjects(Factory &factory)
SolidModel is the base class for all this module&#39;s solid mechanics material models.
Definition: SolidModel.h:31
SolidMechanicsApp(const InputParameters &parameters)
RateDepSmearCrackModel is the base class for rate dependent continuum damage model.
void SolidMechanicsApp__registerObjects(Factory &factory)
One or more constitutive models coupled together.
InputParameters validParams< SolidMechanicsApp >()
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
void SolidMechanicsApp__registerApps()
static void associateSyntax(Syntax &syntax, ActionFactory &action_factory)
This postprocessor computes the average grain area in a polycrystal.
void SolidMechanicsApp__associateSyntax(Syntax &syntax, ActionFactory &action_factory)
Power-law creep material edot = A(sigma)**n * exp(-Q/(RT))
Definition: PowerLawCreep.h:23
This class creates an Isotropic power law hardening plasticity model.
LinearIsotropic material for use in simple applications that don&#39;t need material properties.
This postprocessor computes the Interaction Integral.