www.mooseframework.org
ADComputeEigenstrain.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 
10 #include "ADComputeEigenstrain.h"
11 
12 #include "RankTwoTensor.h"
13 
14 registerADMooseObject("TensorMechanicsApp", ADComputeEigenstrain);
15 
17 
18 template <ComputeStage compute_stage>
19 InputParameters
21 {
23  params.addClassDescription("Computes a constant Eigenstrain");
24  params.addRequiredParam<std::vector<Real>>(
25  "eigen_base", "Vector of values defining the constant base tensor for the Eigenstrain");
26  params.addParam<MaterialPropertyName>(
27  "prefactor", 1.0, "Name of material defining the variable dependence");
28  return params;
29 }
30 
31 template <ComputeStage compute_stage>
33  : ADComputeEigenstrainBase<compute_stage>(parameters),
34  _prefactor(getADMaterialProperty<Real>("prefactor"))
35 {
36  _eigen_base_tensor.fillFromInputVector(getParam<std::vector<Real>>("eigen_base"));
37 }
38 
39 template <ComputeStage compute_stage>
40 void
42 {
43  // Define Eigenstrain
44  _eigenstrain[_qp] = _eigen_base_tensor * _prefactor[_qp];
45 }
ADComputeEigenstrain::_eigen_base_tensor
RankTwoTensor _eigen_base_tensor
Definition: ADComputeEigenstrain.h:38
ADComputeEigenstrain::validParams
static InputParameters validParams()
Definition: ADComputeEigenstrain.C:20
ADComputeEigenstrainBase
ADComputeEigenstrainBase is the base class for eigenstrain tensors.
Definition: ADComputeEigenstrainBase.h:21
registerADMooseObject
registerADMooseObject("TensorMechanicsApp", ADComputeEigenstrain)
defineADLegacyParams
defineADLegacyParams(ADComputeEigenstrain)
ADComputeEigenstrain
ComputeEigenstrain computes an Eigenstrain that is a function of a single variable defined by a base ...
Definition: ADComputeEigenstrain.h:17
ADComputeEigenstrainBase::validParams
static InputParameters validParams()
Definition: ADComputeEigenstrainBase.C:18
ADComputeEigenstrain::ADComputeEigenstrain
ADComputeEigenstrain(const InputParameters &parameters)
Definition: ADComputeEigenstrain.C:32
ADComputeEigenstrain::computeQpEigenstrain
virtual void computeQpEigenstrain() override
Compute the eigenstrain and store in _eigenstrain.
Definition: ADComputeEigenstrain.C:41
ADComputeEigenstrain.h