ComputeVariableIsotropicElasticityTensor 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 <ComputeVariableIsotropicElasticityTensor.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
| ComputeVariableIsotropicElasticityTensor (const InputParameters ¶meters) | |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
| void | validateDerivativeMaterialPropertyBase (const std::string &base) |
| const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| bool | hasGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee) |
Static Public Member Functions | |
| static InputParameters | validParams () |
Protected Member Functions | |
| virtual void | initialSetup () override |
| virtual void | initQpStatefulProperties () override |
| virtual void | computeQpElasticityTensor () override |
| virtual void | computeQpProperties () |
| void | issueGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee) |
| void | revokeGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee) |
Protected Attributes | |
| const MaterialProperty< Real > & | _youngs_modulus |
| Material defining the Young's Modulus. | |
| const MaterialProperty< Real > & | _poissons_ratio |
| Material defining the Poisson's Ratio. | |
| const unsigned int | _num_args |
| number of variables the moduli depend on | |
| std::vector< const MaterialProperty< Real > * > | _dyoungs_modulus |
| first derivatives of the Young's Modulus with respect to the args | |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _d2youngs_modulus |
| second derivatives of the Young's Modulus with respect to the args | |
| std::vector< const MaterialProperty< Real > * > | _dpoissons_ratio |
| first derivatives of the Poisson's Ratio with respect to the args | |
| std::vector< std::vector< const MaterialProperty< Real > * > > | _d2poissons_ratio |
| second derivatives of the Poisson's Ratio with respect to the args | |
| std::vector< MaterialProperty< RankFourTensor > * > | _delasticity_tensor |
| first derivatives of the elasticity tensor with respect to the args | |
| std::vector< std::vector< MaterialProperty< RankFourTensor > * > > | _d2elasticity_tensor |
| second derivatives of the elasticity tensor with respect to the args | |
| std::vector< Real > | _isotropic_elastic_constants |
| Vector of elastic constants to create the elasticity tensor (member to avoid memory churn) | |
| const std::string | _base_name |
| Base name of the material system. | |
| std::string | _elasticity_tensor_name |
| GenericMaterialProperty< T, is_ad > & | _elasticity_tensor |
| GenericMaterialProperty< Real, is_ad > & | _effective_stiffness |
| const Function *const | _prefactor_function |
| prefactor function to multiply the elasticity tensor with | |
Private Member Functions | |
| bool | haveMaterialProperty (const std::string &prop_name) |
| std::vector< VariableName > | buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3) |
| void | validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing) |
| bool | isNotObjectVariable (const VariableName &name) |
Private Attributes | |
| FEProblemBase & | _dmi_fe_problem |
| std::map< MaterialPropertyName, std::set< Guarantee > > | _guarantees |
ComputeVariableIsotropicElasticityTensor 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 19 of file ComputeVariableIsotropicElasticityTensor.h.
| ComputeVariableIsotropicElasticityTensor::ComputeVariableIsotropicElasticityTensor | ( | const InputParameters & | parameters | ) |
Definition at line 29 of file ComputeVariableIsotropicElasticityTensor.C.
|
overrideprotectedvirtual |
Implements ComputeElasticityTensorBaseTempl< is_ad, T >.
Definition at line 102 of file ComputeVariableIsotropicElasticityTensor.C.
|
protectedvirtualinherited |
|
inherited |
Definition at line 16 of file GuaranteeProvider.C.
|
overrideprotectedvirtual |
Definition at line 74 of file ComputeVariableIsotropicElasticityTensor.C.
|
overrideprotectedvirtual |
Definition at line 97 of file ComputeVariableIsotropicElasticityTensor.C.
|
protectedinherited |
Definition at line 27 of file GuaranteeProvider.C.
Referenced by ADComputeVariableIsotropicElasticityTensor::ADComputeVariableIsotropicElasticityTensor(), ComputeCosseratElasticityTensor::ComputeCosseratElasticityTensor(), ComputeElasticityTensorTempl< is_ad >::ComputeElasticityTensorTempl(), ComputeIsotropicElasticityTensorTempl< is_ad, T >::ComputeIsotropicElasticityTensorTempl(), ComputeLagrangianStrainBase< G >::ComputeLagrangianStrainBase(), ComputeLayeredCosseratElasticityTensor::ComputeLayeredCosseratElasticityTensor(), ComputeVariableIsotropicElasticityTensor(), GeneralizedKelvinVoigtModel::GeneralizedKelvinVoigtModel(), and GeneralizedMaxwellModel::GeneralizedMaxwellModel().
|
protectedinherited |
Definition at line 34 of file GuaranteeProvider.C.
Referenced by ComputeElasticityTensorCP::ComputeElasticityTensorCP().
|
static |
Definition at line 15 of file ComputeVariableIsotropicElasticityTensor.C.
|
protectedinherited |
Base name of the material system.
Definition at line 35 of file ComputeElasticityTensorBase.h.
Referenced by LinearViscoelasticityBase::declareViscoelasticProperties(), GeneralizedKelvinVoigtBase::declareViscoelasticProperties(), and LinearViscoelasticityBase::LinearViscoelasticityBase().
|
protected |
second derivatives of the elasticity tensor with respect to the args
Definition at line 53 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), ComputeVariableIsotropicElasticityTensor(), and initialSetup().
|
protected |
second derivatives of the Poisson's Ratio with respect to the args
Definition at line 48 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), and ComputeVariableIsotropicElasticityTensor().
|
protected |
second derivatives of the Young's Modulus with respect to the args
Definition at line 43 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), and ComputeVariableIsotropicElasticityTensor().
|
protected |
first derivatives of the elasticity tensor with respect to the args
Definition at line 51 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), ComputeVariableIsotropicElasticityTensor(), and initialSetup().
|
protected |
first derivatives of the Poisson's Ratio with respect to the args
Definition at line 46 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), and ComputeVariableIsotropicElasticityTensor().
|
protected |
first derivatives of the Young's Modulus with respect to the args
Definition at line 41 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), and ComputeVariableIsotropicElasticityTensor().
|
protectedinherited |
Definition at line 40 of file ComputeElasticityTensorBase.h.
|
protectedinherited |
Definition at line 39 of file ComputeElasticityTensorBase.h.
Referenced by GeneralizedKelvinVoigtBase::computeQpApparentCreepStrain(), GeneralizedMaxwellBase::computeQpApparentCreepStrain(), GeneralizedKelvinVoigtBase::computeQpApparentElasticityTensors(), GeneralizedMaxwellBase::computeQpApparentElasticityTensors(), ComputePolycrystalElasticityTensor::computeQpElasticityTensor(), ComputeConcentrationDependentElasticityTensor::computeQpElasticityTensor(), ComputeCosseratElasticityTensor::computeQpElasticityTensor(), ComputeLayeredCosseratElasticityTensor::computeQpElasticityTensor(), computeQpElasticityTensor(), and ComputeElasticityTensorCP::computeQpElasticityTensor().
|
protectedinherited |
Definition at line 37 of file ComputeElasticityTensorBase.h.
Referenced by ADComputeVariableIsotropicElasticityTensor::ADComputeVariableIsotropicElasticityTensor(), ComputeCosseratElasticityTensor::ComputeCosseratElasticityTensor(), ComputeElasticityTensorCP::ComputeElasticityTensorCP(), ComputeElasticityTensorTempl< is_ad >::ComputeElasticityTensorTempl(), ComputeLayeredCosseratElasticityTensor::ComputeLayeredCosseratElasticityTensor(), ComputePolycrystalElasticityTensor::ComputePolycrystalElasticityTensor(), ComputeVariableIsotropicElasticityTensor(), GeneralizedKelvinVoigtModel::GeneralizedKelvinVoigtModel(), GeneralizedMaxwellModel::GeneralizedMaxwellModel(), initialSetup(), and LinearViscoelasticityBase::LinearViscoelasticityBase().
|
privateinherited |
Definition at line 37 of file GuaranteeProvider.h.
Referenced by GuaranteeProvider::hasGuarantee(), GuaranteeProvider::issueGuarantee(), and GuaranteeProvider::revokeGuarantee().
|
protected |
Vector of elastic constants to create the elasticity tensor (member to avoid memory churn)
Definition at line 56 of file ComputeVariableIsotropicElasticityTensor.h.
|
protected |
number of variables the moduli depend on
Definition at line 38 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor(), ComputeVariableIsotropicElasticityTensor(), and initialSetup().
|
protected |
Material defining the Poisson's Ratio.
Definition at line 35 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor().
|
protectedinherited |
prefactor function to multiply the elasticity tensor with
Definition at line 43 of file ComputeElasticityTensorBase.h.
Referenced by ComputeLayeredCosseratElasticityTensor::computeQpElasticityTensor().
|
protected |
Material defining the Young's Modulus.
Definition at line 32 of file ComputeVariableIsotropicElasticityTensor.h.
Referenced by computeQpElasticityTensor().