www.mooseframework.org
ComputeVariableBaseEigenStrain.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
13 
15 
16 InputParameters
18 {
19  InputParameters params = ComputeEigenstrainBase::validParams();
20  params.addClassDescription("Computes Eigenstrain based on material property tensor base");
21  params.addRequiredParam<MaterialPropertyName>("base_tensor_property_name",
22  "Name of base tensor property");
23  params.addParam<MaterialPropertyName>(
24  "prefactor", 1.0, "Name of material defining the variable dependence");
25  params.addParam<std::vector<Real>>(
26  "offset_tensor", "Vector of values defining the constant base tensor for the Eigenstrain");
27  return params;
28 }
29 
31  : ComputeEigenstrainBase(parameters),
32  _base_tensor(getMaterialProperty<RealTensorValue>("base_tensor_property_name")),
33  _prefactor(getMaterialProperty<Real>("prefactor"))
34 {
35  if (isParamValid("offset_tensor"))
36  _offset_tensor.fillFromInputVector(getParam<std::vector<Real>>("offset_tensor"));
37  else
38  _offset_tensor.zero();
39 }
40 
41 void
43 {
44  RankTwoTensor base_rank_two_tensor = _base_tensor[_qp];
45  _eigenstrain[_qp] = base_rank_two_tensor * _prefactor[_qp] + _offset_tensor;
46 }
ComputeVariableBaseEigenStrain::validParams
static InputParameters validParams()
Definition: ComputeVariableBaseEigenStrain.C:17
ComputeVariableBaseEigenStrain::_prefactor
const MaterialProperty< Real > & _prefactor
Definition: ComputeVariableBaseEigenStrain.h:38
ComputeEigenstrainBase::validParams
static InputParameters validParams()
Definition: ComputeEigenstrainBase.C:17
defineLegacyParams
defineLegacyParams(ComputeVariableBaseEigenStrain)
ComputeVariableBaseEigenStrain::_offset_tensor
RankTwoTensor _offset_tensor
Definition: ComputeVariableBaseEigenStrain.h:39
ComputeVariableBaseEigenStrain::ComputeVariableBaseEigenStrain
ComputeVariableBaseEigenStrain(const InputParameters &parameters)
Definition: ComputeVariableBaseEigenStrain.C:30
registerMooseObject
registerMooseObject("TensorMechanicsApp", ComputeVariableBaseEigenStrain)
ComputeVariableBaseEigenStrain::_base_tensor
const MaterialProperty< RealTensorValue > & _base_tensor
Definition: ComputeVariableBaseEigenStrain.h:37
ComputeVariableBaseEigenStrain::computeQpEigenstrain
virtual void computeQpEigenstrain()
Compute the eigenstrain and store in _eigenstrain.
Definition: ComputeVariableBaseEigenStrain.C:42
ComputeVariableBaseEigenStrain
ComputeVariableBaseEigenstrain computes an Eigenstrain based on a real tensor value material property...
Definition: ComputeVariableBaseEigenStrain.h:27
ComputeEigenstrainBase
ComputeEigenstrainBase is the base class for eigenstrain tensors.
Definition: ComputeEigenstrainBase.h:26
RankTwoTensorTempl< Real >
ComputeEigenstrainBase::_eigenstrain
MaterialProperty< RankTwoTensor > & _eigenstrain
Stores the current total eigenstrain.
Definition: ComputeEigenstrainBase.h:47
ComputeVariableBaseEigenStrain.h