ComputeElasticityTensorCP defines an elasticity tensor material object for crystal plasticity models. More...
#include <ComputeElasticityTensorCP.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
| ComputeElasticityTensorCP (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 | computeQpElasticityTensor () override |
| Defines the constant rotation matrix from the user specified Bunge Euler Angles or user-supplied rotation matrix. | |
| virtual void | assignEulerAngles () |
| virtual void | computeQpProperties () |
| void | issueGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee) |
| void | revokeGuarantee (const MaterialPropertyName &prop_name, Guarantee guarantee) |
Protected Attributes | |
| const PropertyReadFile *const | _read_prop_user_object |
| Element property read user object used to read in Euler angles. | |
| MaterialProperty< RealVectorValue > & | _Euler_angles_mat_prop |
| Material property that stores the values of the Euler Angles for postprocessing. | |
| MaterialProperty< RankTwoTensor > & | _crysrot |
| Crystal Rotation Matrix used to rotate the slip system direction and normal. | |
| RotationTensor | _R |
| Rotation matrix. | |
| bool | _user_provided_rotation_matrix |
| flag for user-defined rotation matrix, supplied in input file | |
| unsigned int | _n_euler_angle_vars |
| const std::vector< const VariableValue * > | _euler_angle_vars |
| RankFourTensor | _Cijkl |
| Individual material information. | |
| RealVectorValue | _Euler_angles |
| const RealTensorValue | _rotation_matrix |
| 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 |
ComputeElasticityTensorCP defines an elasticity tensor material object for crystal plasticity models.
This class accepts either Bunge Euler angles or a 3x3 rotation matrix, from which the 'passive' rotation matrix is generated. This rotation matrix is used by the crystal plasticity models to rotate the crystal slip system direction and plane normals into the user-specified orientation.
Definition at line 25 of file ComputeElasticityTensorCP.h.
| ComputeElasticityTensorCP::ComputeElasticityTensorCP | ( | const InputParameters & | parameters | ) |
Definition at line 29 of file ComputeElasticityTensorCP.C.
|
protectedvirtual |
Definition at line 75 of file ComputeElasticityTensorCP.C.
Referenced by computeQpElasticityTensor().
|
overrideprotectedvirtual |
Defines the constant rotation matrix from the user specified Bunge Euler Angles or user-supplied rotation matrix.
Reimplemented from ComputeElasticityTensorTempl< is_ad >.
Definition at line 96 of file ComputeElasticityTensorCP.C.
|
protectedvirtualinherited |
|
inherited |
Definition at line 16 of file GuaranteeProvider.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::ComputeVariableIsotropicElasticityTensor(), GeneralizedKelvinVoigtModel::GeneralizedKelvinVoigtModel(), and GeneralizedMaxwellModel::GeneralizedMaxwellModel().
|
protectedinherited |
Definition at line 34 of file GuaranteeProvider.C.
Referenced by ComputeElasticityTensorCP().
|
static |
Definition at line 16 of file ComputeElasticityTensorCP.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().
|
protectedinherited |
Individual material information.
Definition at line 29 of file ComputeElasticityTensor.h.
Referenced by ComputeElasticityTensorCP(), ComputeElasticityTensorTempl< is_ad >::ComputeElasticityTensorTempl(), and computeQpElasticityTensor().
|
protected |
Crystal Rotation Matrix used to rotate the slip system direction and normal.
Definition at line 48 of file ComputeElasticityTensorCP.h.
Referenced by computeQpElasticityTensor().
|
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(), ComputeVariableIsotropicElasticityTensor::computeQpElasticityTensor(), and computeQpElasticityTensor().
|
protectedinherited |
Definition at line 37 of file ComputeElasticityTensorBase.h.
Referenced by ADComputeVariableIsotropicElasticityTensor::ADComputeVariableIsotropicElasticityTensor(), ComputeCosseratElasticityTensor::ComputeCosseratElasticityTensor(), ComputeElasticityTensorCP(), ComputeElasticityTensorTempl< is_ad >::ComputeElasticityTensorTempl(), ComputeLayeredCosseratElasticityTensor::ComputeLayeredCosseratElasticityTensor(), ComputePolycrystalElasticityTensor::ComputePolycrystalElasticityTensor(), ComputeVariableIsotropicElasticityTensor::ComputeVariableIsotropicElasticityTensor(), GeneralizedKelvinVoigtModel::GeneralizedKelvinVoigtModel(), GeneralizedMaxwellModel::GeneralizedMaxwellModel(), ComputeVariableIsotropicElasticityTensor::initialSetup(), and LinearViscoelasticityBase::LinearViscoelasticityBase().
|
protected |
Definition at line 58 of file ComputeElasticityTensorCP.h.
Referenced by assignEulerAngles().
|
protectedinherited |
|
protected |
Material property that stores the values of the Euler Angles for postprocessing.
Definition at line 45 of file ComputeElasticityTensorCP.h.
Referenced by assignEulerAngles().
|
privateinherited |
Definition at line 37 of file GuaranteeProvider.h.
Referenced by GuaranteeProvider::hasGuarantee(), GuaranteeProvider::issueGuarantee(), and GuaranteeProvider::revokeGuarantee().
|
protected |
Definition at line 57 of file ComputeElasticityTensorCP.h.
Referenced by assignEulerAngles(), and ComputeElasticityTensorCP().
|
protectedinherited |
prefactor function to multiply the elasticity tensor with
Definition at line 43 of file ComputeElasticityTensorBase.h.
Referenced by ComputeLayeredCosseratElasticityTensor::computeQpElasticityTensor().
|
protected |
Rotation matrix.
Definition at line 51 of file ComputeElasticityTensorCP.h.
Referenced by assignEulerAngles(), ComputeElasticityTensorCP(), and computeQpElasticityTensor().
|
protected |
Element property read user object used to read in Euler angles.
Definition at line 42 of file ComputeElasticityTensorCP.h.
Referenced by assignEulerAngles(), and ComputeElasticityTensorCP().
|
protectedinherited |
Definition at line 28 of file ComputeRotatedElasticityTensorBase.h.
Referenced by ComputeElasticityTensorCP(), ComputeElasticityTensorTempl< is_ad >::ComputeElasticityTensorTempl(), and computeQpElasticityTensor().
|
protected |
flag for user-defined rotation matrix, supplied in input file
Definition at line 54 of file ComputeElasticityTensorCP.h.
Referenced by ComputeElasticityTensorCP(), and computeQpElasticityTensor().