www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ADComputeVariableIsotropicElasticityTensor< compute_stage > Class Template Reference

ADComputeVariableIsotropicElasticityTensor defines an elasticity tensor material for isotropic materials in which the elastic constants (Young's modulus and Poisson's ratio) vary as defined by material properties. More...

#include <ADComputeVariableIsotropicElasticityTensor.h>

Inheritance diagram for ADComputeVariableIsotropicElasticityTensor< compute_stage >:
[legend]

Public Member Functions

 ADComputeVariableIsotropicElasticityTensor (const InputParameters &parameters)
 
bool hasGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee)
 

Protected Member Functions

virtual void computeQpElasticityTensor () override
 
const ADMaterialProperty (Real) &_youngs_modulus
 Material defining the Young's Modulus. More...
 
const ADMaterialProperty (Real) &_poissons_ratio
 Material defining the Poisson's Ratio. More...
 
virtual void computeQpProperties ()
 
 ADMaterialProperty (RankFourTensor) &_elasticity_tensor
 
void issueGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee)
 
void revokeGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee)
 

Protected Attributes

 usingComputeElasticityTensorBaseMembers
 
std::string _base_name
 
std::string _elasticity_tensor_name
 
Function *const _prefactor_function
 prefactor function to multiply the elasticity tensor with More...
 
 usingMaterialMembers
 

Detailed Description

template<ComputeStage compute_stage>
class ADComputeVariableIsotropicElasticityTensor< compute_stage >

ADComputeVariableIsotropicElasticityTensor defines an elasticity tensor material for isotropic materials in which the elastic constants (Young's modulus and Poisson's ratio) vary as defined by material properties.

Definition at line 15 of file ADComputeVariableIsotropicElasticityTensor.h.

Constructor & Destructor Documentation

◆ ADComputeVariableIsotropicElasticityTensor()

template<ComputeStage compute_stage>
ADComputeVariableIsotropicElasticityTensor< compute_stage >::ADComputeVariableIsotropicElasticityTensor ( const InputParameters &  parameters)

Definition at line 27 of file ADComputeVariableIsotropicElasticityTensor.C.

29  _youngs_modulus(adGetADMaterialProperty<Real>("youngs_modulus")),
30  _poissons_ratio(adGetADMaterialProperty<Real>("poissons_ratio"))
31 {
32  // all tensors created by this class are always isotropic
34 }
void issueGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
ADComputeElasticityTensorBase is a the base class for computing elasticity tensors.

Member Function Documentation

◆ ADMaterialProperty() [1/3]

template<ComputeStage compute_stage>
const ADComputeVariableIsotropicElasticityTensor< compute_stage >::ADMaterialProperty ( Real  ) &
protected

Material defining the Young's Modulus.

◆ ADMaterialProperty() [2/3]

template<ComputeStage compute_stage>
const ADComputeVariableIsotropicElasticityTensor< compute_stage >::ADMaterialProperty ( Real  ) &
protected

Material defining the Poisson's Ratio.

◆ ADMaterialProperty() [3/3]

template<ComputeStage compute_stage>
ADComputeElasticityTensorBase< compute_stage >::ADMaterialProperty ( RankFourTensor  ) &
protectedinherited

◆ computeQpElasticityTensor()

template<ComputeStage compute_stage>
void ADComputeVariableIsotropicElasticityTensor< compute_stage >::computeQpElasticityTensor ( )
overrideprotectedvirtual

Implements ADComputeElasticityTensorBase< compute_stage >.

Definition at line 38 of file ADComputeVariableIsotropicElasticityTensor.C.

39 {
40  _elasticity_tensor[_qp].fillSymmetricIsotropicEandNu(_youngs_modulus[_qp], _poissons_ratio[_qp]);
41 }

◆ computeQpProperties()

template<ComputeStage compute_stage>
void ADComputeElasticityTensorBase< compute_stage >::computeQpProperties ( )
protectedvirtualinherited

Definition at line 39 of file ADComputeElasticityTensorBase.C.

40 {
42 
43  // Multiply by prefactor
45  _elasticity_tensor[_qp] *= _prefactor_function->value(_t, _q_point[_qp]);
46 }
virtual void computeQpElasticityTensor()=0
Function *const _prefactor_function
prefactor function to multiply the elasticity tensor with

◆ hasGuarantee()

bool GuaranteeProvider::hasGuarantee ( const MaterialPropertyName &  prop_name,
Guarantee  guarantee 
)
inherited

Definition at line 16 of file GuaranteeProvider.C.

17 {
18  auto it = _guarantees.find(prop_name);
19  if (it == _guarantees.end())
20  return false;
21 
22  auto it2 = it->second.find(guarantee);
23  return it2 != it->second.end();
24 }
std::map< MaterialPropertyName, std::set< Guarantee > > _guarantees

◆ issueGuarantee()

void GuaranteeProvider::issueGuarantee ( const MaterialPropertyName &  prop_name,
Guarantee  guarantee 
)
protectedinherited

◆ revokeGuarantee()

void GuaranteeProvider::revokeGuarantee ( const MaterialPropertyName &  prop_name,
Guarantee  guarantee 
)
protectedinherited

Definition at line 34 of file GuaranteeProvider.C.

Referenced by ComputeElasticityTensorCP::ComputeElasticityTensorCP().

35 {
36  auto it = _guarantees.find(prop_name);
37  if (it != _guarantees.end())
38  it->second.erase(guarantee);
39 }
std::map< MaterialPropertyName, std::set< Guarantee > > _guarantees

Member Data Documentation

◆ _base_name

template<ComputeStage compute_stage>
std::string ADComputeElasticityTensorBase< compute_stage >::_base_name
protectedinherited

Definition at line 46 of file ADComputeElasticityTensorBase.h.

◆ _elasticity_tensor_name

template<ComputeStage compute_stage>
std::string ADComputeElasticityTensorBase< compute_stage >::_elasticity_tensor_name
protectedinherited

◆ _prefactor_function

template<ComputeStage compute_stage>
Function* const ADComputeElasticityTensorBase< compute_stage >::_prefactor_function
protectedinherited

prefactor function to multiply the elasticity tensor with

Definition at line 52 of file ADComputeElasticityTensorBase.h.

◆ usingComputeElasticityTensorBaseMembers

template<ComputeStage compute_stage>
ADComputeVariableIsotropicElasticityTensor< compute_stage >::usingComputeElasticityTensorBaseMembers
protected

Definition at line 40 of file ADComputeVariableIsotropicElasticityTensor.h.

◆ usingMaterialMembers

template<ComputeStage compute_stage>
ADComputeElasticityTensorBase< compute_stage >::usingMaterialMembers
protectedinherited

Definition at line 54 of file ADComputeElasticityTensorBase.h.


The documentation for this class was generated from the following files: