www.mooseframework.org
ADComputeVariableIsotropicElasticityTensor.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 #include "Function.h"
12 
14 
16 
17 template <ComputeStage compute_stage>
18 InputParameters
20 {
22  params.addClassDescription("Compute an isotropic elasticity tensor for elastic constants that "
23  "change as a function of material properties");
24  params.addRequiredParam<MaterialPropertyName>("youngs_modulus",
25  "Name of material defining the Young's Modulus");
26  params.addRequiredParam<MaterialPropertyName>("poissons_ratio",
27  "Name of material defining the Poisson's Ratio");
28  return params;
29 }
30 
31 template <ComputeStage compute_stage>
33  compute_stage>::ADComputeVariableIsotropicElasticityTensor(const InputParameters & parameters)
34  : ADComputeElasticityTensorBase<compute_stage>(parameters),
35  _youngs_modulus(getADMaterialProperty<Real>("youngs_modulus")),
36  _poissons_ratio(getADMaterialProperty<Real>("poissons_ratio"))
37 {
38  // all tensors created by this class are always isotropic
40 }
41 
42 template <ComputeStage compute_stage>
43 void
45 {
46  _elasticity_tensor[_qp].fillSymmetricIsotropicEandNu(_youngs_modulus[_qp], _poissons_ratio[_qp]);
47 }
ADComputeVariableIsotropicElasticityTensor::computeQpElasticityTensor
virtual void computeQpElasticityTensor() override
Definition: ADComputeVariableIsotropicElasticityTensor.C:44
defineADLegacyParams
defineADLegacyParams(ADComputeVariableIsotropicElasticityTensor)
ADComputeVariableIsotropicElasticityTensor
ADComputeVariableIsotropicElasticityTensor defines an elasticity tensor material for isotropic materi...
Definition: ADComputeVariableIsotropicElasticityTensor.h:15
ADComputeVariableIsotropicElasticityTensor::validParams
static InputParameters validParams()
Definition: ADComputeVariableIsotropicElasticityTensor.C:19
ADComputeElasticityTensorBase::validParams
static InputParameters validParams()
Definition: ADComputeElasticityTensorBase.C:17
GuaranteeProvider::issueGuarantee
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
Definition: GuaranteeProvider.C:27
registerADMooseObject
registerADMooseObject("TensorMechanicsApp", ADComputeVariableIsotropicElasticityTensor)
ADComputeElasticityTensorBase::_elasticity_tensor_name
std::string _elasticity_tensor_name
Definition: ADComputeElasticityTensorBase.h:49
ADComputeVariableIsotropicElasticityTensor.h
ADComputeElasticityTensorBase
ADComputeElasticityTensorBase is a the base class for computing elasticity tensors.
Definition: ADComputeElasticityTensorBase.h:24
Guarantee::ISOTROPIC