20 params.
addParam<UserObjectName>(
"read_prop_user_object",
21 "The ElementReadPropertyFile "
22 "GeneralUserObject to read element "
23 "specific property values from file");
25 "Vector of coupled variables representing the Euler angles' components.");
31 _read_prop_user_object(isParamValid(
"read_prop_user_object")
34 _Euler_angles_mat_prop(declareProperty<RealVectorValue>(
"Euler_angles")),
35 _crysrot(declareProperty<
RankTwoTensor>(_base_name +
"crysrot")),
37 _n_euler_angle_vars(coupledComponents(
"euler_angle_variables")),
38 _euler_angle_vars(coupledValues(
"euler_angle_variables"))
61 mooseError(
"Bunge Euler angle information and the rotation_matrix cannot both be specified. "
62 "Provide only one type of orientation information in the input file.");
66 paramError(
"euler_angle_variables",
67 "Euler angles cannot be supplied from both coupled variables and auxiliary input "
68 "file in the option `read_prop_user_object`.");
71 paramError(
"euler_angle_variables",
"The Euler angles should have three components.");
registerMooseObject("SolidMechanicsApp", ComputeElasticityTensorCP)
void mooseError(Args &&... args)
std::string _elasticity_tensor_name
GenericMaterialProperty< T, is_ad > & _elasticity_tensor
ComputeElasticityTensorCP defines an elasticity tensor material object for crystal plasticity models.
MaterialProperty< RankTwoTensor > & _crysrot
Crystal Rotation Matrix used to rotate the slip system direction and normal.
virtual void computeQpElasticityTensor() override
Defines the constant rotation matrix from the user specified Bunge Euler Angles or user-supplied rota...
const std::vector< const VariableValue * > _euler_angle_vars
unsigned int _n_euler_angle_vars
static InputParameters validParams()
const PropertyReadFile *const _read_prop_user_object
Element property read user object used to read in Euler angles.
ComputeElasticityTensorCP(const InputParameters ¶meters)
bool _user_provided_rotation_matrix
flag for user-defined rotation matrix, supplied in input file
virtual void assignEulerAngles()
MaterialProperty< RealVectorValue > & _Euler_angles_mat_prop
Material property that stores the values of the Euler Angles for postprocessing.
RotationTensor _R
Rotation matrix.
ComputeElasticityTensor defines an elasticity tensor material object with a given base name.
RankFourTensor _Cijkl
Individual material information.
static InputParameters validParams()
RealVectorValue _Euler_angles
const RealTensorValue _rotation_matrix
void revokeGuarantee(const MaterialPropertyName &prop_name, Guarantee guarantee)
Real getData(const Elem *const elem, const unsigned int prop_num) const
void rotate(const TypeTensor< T > &R)
void update(Axis axis, Real angle)
reforms the rotation matrix according to axis and angle.