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