13 #include "libmesh/vector_value.h" 14 #include "libmesh/tensor_value.h" 22 template <
bool is_ad = false>
37 if ((w(2) >= w(1) && w(1) >= w(0)) || (w(1) >= w(2) && w(2) >= w(0)))
40 else if ((w(2) >= w(0) && w(0) >= w(1)) || (w(0) >= w(2) && w(2) >= w(1)))
47 v1 -= (v1 * vec) * vec;
52 v0(0) = v1(1) * vec(2) - v1(2) * vec(1);
53 v0(1) = v1(2) * vec(0) - v1(0) * vec(2);
54 v0(2) = v1(0) * vec(1) - v1(1) * vec(0);
58 v0(0), v0(1), v0(2), v1(0), v1(1), v1(2), vec(0), vec(1), vec(2));
63 template <
bool is_ad = false>
70 return rot2_to_z.transpose() * rot1_to_z;
74 template <
bool is_ad = false>
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sin(_arg) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tan
GenericRealTensorValue< is_ad > rotVec2DToX(const GenericRealVectorValue< is_ad > &vec)
provides a rotation matrix that will rotate the vector vec1 to the [1,0,0], assuming vec1[2]==0 ...
Utility functions to return rotations matrics.
ADRealEigenVector< T, D, asd > sqrt(const ADRealEigenVector< T, D, asd > &)
ADRealEigenVector< T, D, asd > abs(const ADRealEigenVector< T, D, asd > &)
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template cos(_arg) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(cos
typename Moose::GenericType< RealTensorValue, is_ad > GenericRealTensorValue
GenericRealTensorValue< is_ad > rotVecToZ(GenericRealVectorValue< is_ad > vec)
provides a rotation matrix that will rotate the vector vec to the z axis (the "2" direction) ...
GenericRealTensorValue< is_ad > rotVec1ToVec2(GenericRealVectorValue< is_ad > vec1, GenericRealVectorValue< is_ad > vec2)
provides a rotation matrix that will rotate the vector vec1 to vec2
typename Moose::GenericType< Real, is_ad > GenericReal
typename Moose::GenericType< RealVectorValue, is_ad > GenericRealVectorValue