https://mooseframework.inl.gov
ComputeLagrangianStressBase.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 {
16 
17  params.addParam<bool>("large_kinematics", false, "Use a large displacement stress update.");
18 
19  params.addParam<std::string>("base_name", "Material property base name");
20 
21  return params;
22 }
23 
25  : Material(parameters),
26  _large_kinematics(getParam<bool>("large_kinematics")),
27  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
28  _cauchy_stress(declareProperty<RankTwoTensor>(_base_name + "cauchy_stress")),
29  _cauchy_jacobian(declareProperty<RankFourTensor>(_base_name + "cauchy_jacobian")),
30  _pk1_stress(declareProperty<RankTwoTensor>(_base_name + "pk1_stress")),
31  _pk1_jacobian(declareProperty<RankFourTensor>(_base_name + "pk1_jacobian"))
32 {
33 }
34 
35 void
37 {
38  // Actually no need to zero out the stresses as they aren't stateful (yet)
39 }
40 
41 void
43 {
45 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
virtual void initQpStatefulProperties() override
Initialize everything with zeros.
static InputParameters validParams()
static InputParameters validParams()
virtual void computeQpProperties() override
Update all properties (here just the stress/derivatives)
ComputeLagrangianStressBase(const InputParameters &parameters)
virtual void computeQpStressUpdate()=0
Provide for the actual stress updates.