https://mooseframework.inl.gov
ComputeLagrangianObjectiveCustomStress.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 
11 
14 
15 template <bool symmetric>
18 {
20  params.addRequiredParam<MaterialPropertyName>("custom_small_stress",
21  "The name of the small stress.");
22  params.addRequiredParam<MaterialPropertyName>("custom_small_jacobian",
23  "The name of the small stress Jacobian.");
24  return params;
25 }
26 
27 template <bool symmetric>
29  const InputParameters & parameters)
31  _custom_stress(getMaterialProperty<StressType>("custom_small_stress")),
32  _custom_jacobian(getMaterialProperty<JacobianType>("custom_small_jacobian"))
33 {
34 }
35 
36 template <bool symmetric>
37 void
39 {
40  _small_stress[_qp] = RankTwoTensor(_custom_stress[_qp]);
41  _small_jacobian[_qp] = RankFourTensor(_custom_jacobian[_qp]);
42 }
ComputeLagrangianObjectiveCustomStressTmpl(const InputParameters &parameters)
void addRequiredParam(const std::string &name, const std::string &doc_string)
typename MandelConversion< RankTwoTensor, symmetric >::to StressType
Provide the Cauchy stress via an objective integration of a small stress.
virtual void computeQpSmallStress()
Method to implement to provide the small stress update.
registerMooseObject("SolidMechanicsApp", ComputeLagrangianObjectiveCustomStress)
typename MandelConversion< RankFourTensor, symmetric >::to JacobianType
Wrapper for custom (external) material models that compute small stress (and small Jacobian) ...