19 "This class computes the updated Euler angle for crystal plasticity simulations. This needs " 20 "to be used together with the ComputeMultipleCrystalPlasticityStress class, where the " 21 "updated rotation material property is computed. ");
23 "degree_to_radian",
false,
"Whether to convert euler angles from degree to radian.");
29 _updated_rotation(getMaterialProperty<
RankTwoTensor>(
"updated_rotation")),
30 _updated_euler_angle(declareProperty<
RealVectorValue>(
"updated_Euler_angle")),
31 _degree_to_radian(getParam<bool>(
"degree_to_radian"))
52 Eigen::Matrix<Real, 3, 3> rot_mat;
54 for (
unsigned int i = 0; i < 3; ++i)
55 for (
unsigned int j = 0;
j < 3; ++
j)
56 rot_mat(i,
j) = rot(i,
j);
59 Eigen::Quaternion<Real> q(rot_mat);
const MaterialProperty< RankTwoTensor > & _updated_rotation
void initQpStatefulProperties() override
MaterialProperty< RealVectorValue > & _updated_euler_angle
ComputeUpdatedEulerAngle(const InputParameters ¶meters)
registerMooseObject("SolidMechanicsApp", ComputeUpdatedEulerAngle)
static InputParameters validParams()
void computeQpProperties() override
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
void computeEulerAngleFromRotationMatrix(const RankTwoTensor &rot, RealVectorValue &euler_angle)
static InputParameters validParams()