https://mooseframework.inl.gov
ADComputeVariableIsotropicElasticityTensor.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 #include "Function.h"
12 
14 
17 {
19  params.addClassDescription("Compute an isotropic elasticity tensor for elastic constants that "
20  "change as a function of material properties");
21  params.addRequiredParam<MaterialPropertyName>(
22  "youngs_modulus", "Name of material property defining the Young's Modulus");
23  params.addRequiredParam<MaterialPropertyName>(
24  "poissons_ratio", "Name of material property defining the Poisson's Ratio");
25  return params;
26 }
27 
29  const InputParameters & parameters)
30  : ADComputeElasticityTensorBase(parameters),
31  _youngs_modulus(getADMaterialProperty<Real>("youngs_modulus")),
32  _poissons_ratio(getADMaterialProperty<Real>("poissons_ratio"))
33 {
34  // all tensors created by this class are always isotropic
36 }
37 
38 void
40 {
41  _elasticity_tensor[_qp].fillSymmetricIsotropicEandNu(_youngs_modulus[_qp], _poissons_ratio[_qp]);
42 }
ADComputeVariableIsotropicElasticityTensor defines an elasticity tensor material for isotropic materi...
const ADMaterialProperty< Real > & _poissons_ratio
Material defining the Poisson&#39;s Ratio.
ComputeElasticityTensorBase the base class for computing elasticity tensors.
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
GenericMaterialProperty< T, is_ad > & _elasticity_tensor
void addRequiredParam(const std::string &name, const std::string &doc_string)
const ADMaterialProperty< Real > & _youngs_modulus
Material defining the Young&#39;s Modulus.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ADComputeVariableIsotropicElasticityTensor(const InputParameters &parameters)
void addClassDescription(const std::string &doc_string)
registerMooseObject("SolidMechanicsApp", ADComputeVariableIsotropicElasticityTensor)