https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeGeneralStressBase.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
12#include "Function.h"
13
16{
18 params.addParam<std::string>("base_name",
19 "Optional parameter that allows the user to define "
20 "multiple mechanics material systems on the same "
21 "block, i.e. for multiple phases");
22 return params;
23}
24
27 _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
28 _mechanical_strain(getMaterialPropertyByName<RankTwoTensor>(_base_name + "mechanical_strain")),
29 _stress(declareProperty<RankTwoTensor>(_base_name + "stress")),
30 _elastic_strain(declareProperty<RankTwoTensor>(_base_name + "elastic_strain")),
31 _extra_stress(getDefaultMaterialProperty<RankTwoTensor>(_base_name + "extra_stress")),
32 _Jacobian_mult(declareProperty<RankFourTensor>(_base_name + "Jacobian_mult"))
33{
34}
35
36void
42
43void
45{
47
48 // Add in extra stress
49 _stress[_qp] += _extra_stress[_qp];
50}
virtual void initQpStatefulProperties() override
static InputParameters validParams()
ComputeGeneralStressBase(const InputParameters &parameters)
const MaterialProperty< RankTwoTensor > & _extra_stress
Extra stress tensor.
MaterialProperty< RankTwoTensor > & _elastic_strain
Elastic strain material property.
virtual void computeQpStress()=0
Compute the stress and store it in the _stress material property for the current quadrature point.
virtual void computeQpProperties() override
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
static InputParameters validParams()