Line data Source code
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 "ComputeLagrangianObjectiveCustomStress.h" 11 : 12 : registerMooseObject("SolidMechanicsApp", ComputeLagrangianObjectiveCustomStress); 13 : registerMooseObject("SolidMechanicsApp", ComputeLagrangianObjectiveCustomSymmetricStress); 14 : 15 : template <bool symmetric> 16 : InputParameters 17 0 : ComputeLagrangianObjectiveCustomStressTmpl<symmetric>::validParams() 18 : { 19 0 : InputParameters params = ComputeLagrangianObjectiveStress::validParams(); 20 0 : params.addRequiredParam<MaterialPropertyName>("custom_small_stress", 21 : "The name of the small stress."); 22 0 : params.addRequiredParam<MaterialPropertyName>("custom_small_jacobian", 23 : "The name of the small stress Jacobian."); 24 0 : return params; 25 0 : } 26 : 27 : template <bool symmetric> 28 0 : ComputeLagrangianObjectiveCustomStressTmpl<symmetric>::ComputeLagrangianObjectiveCustomStressTmpl( 29 : const InputParameters & parameters) 30 : : ComputeLagrangianObjectiveStress(parameters), 31 0 : _custom_stress(getMaterialProperty<StressType>("custom_small_stress")), 32 0 : _custom_jacobian(getMaterialProperty<JacobianType>("custom_small_jacobian")) 33 : { 34 0 : } 35 : 36 : template <bool symmetric> 37 : void 38 0 : ComputeLagrangianObjectiveCustomStressTmpl<symmetric>::computeQpSmallStress() 39 : { 40 0 : _small_stress[_qp] = RankTwoTensor(_custom_stress[_qp]); 41 0 : _small_jacobian[_qp] = RankFourTensor(_custom_jacobian[_qp]); 42 0 : }