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 "radian_to_degree",
true,
"Whether to convert euler angles from radian to degree.");
29 _updated_rotation(getMaterialProperty<
RankTwoTensor>(
"updated_rotation")),
30 _updated_euler_angle(declareProperty<
RealVectorValue>(
"updated_Euler_angle"))
51 Eigen::Matrix<Real, 3, 3> rot_mat;
53 for (
unsigned int i = 0; i < 3; ++i)
54 for (
unsigned int j = 0;
j < 3; ++
j)
55 rot_mat(i,
j) = rot(i,
j);
58 Eigen::Quaternion<Real> q(rot_mat);
64 if (!getParam<bool>(
"radian_to_degree"))
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()