19 return MooseEnum(
"VonMisesStress EffectiveStrain Hydrostatic L2norm MaxPrincipal "
20 "MidPrincipal MinPrincipal VolumetricStrain FirstInvariant SecondInvariant "
21 "ThirdInvariant AxialStress HoopStress RadialStress TriaxialityStress "
22 "Direction MaxShear StressIntensity");
28 return MooseEnum(
"VonMisesStress EffectiveStrain Hydrostatic L2norm VolumetricStrain "
29 "FirstInvariant SecondInvariant "
30 "ThirdInvariant TriaxialityStress MaxShear StressIntensity EffectiveStrain");
36 return MooseEnum(
"AxialStress HoopStress RadialStress");
42 return MooseEnum(
"HoopStress RadialStress");
48 const Point & curr_point,
49 Point & normalPosition)
54 Point axis_rotation = point2 - point1;
55 Point positionWRTpoint1 = point1 - curr_point;
56 Real projection = (axis_rotation * positionWRTpoint1) / axis_rotation.norm_sq();
57 Point normal = point1 - projection * axis_rotation;
61 normalPosition = curr_point - normal;
62 normalPosition /= normalPosition.norm();
67 const RealVectorValue & axialVector,
71 RealVectorValue radial_vector(outwardnormal);
72 RealVectorValue azimuthal_vector(0, 0, 0);
73 RealVectorValue polar_vector(axialVector);
75 Real rv_norm = radial_vector.norm();
77 radial_vector /= rv_norm;
79 mooseError(
"The outward normal vector cannot be a zero vector");
81 azimuthal_vector = polar_vector.cross(radial_vector);
82 azimuthal_vector /= azimuthal_vector.norm();
91 rotationMatrix.
fillColumn(1, azimuthal_vector);
96 rotationMatrix.
fillRow(0, radial_vector);
97 rotationMatrix.
fillRow(1, azimuthal_vector);
98 rotationMatrix.
fillRow(2, polar_vector);
void mooseError(Args &&... args)
void fillRow(unsigned int r, const libMesh::TypeVector< T > &v)
void fillColumn(unsigned int c, const libMesh::TypeVector< T > &v)