13 #include "MooseError.h"
28 params.addRequiredParam<std::vector<Real>>(
"cut_data",
29 "Vector of Real values providing cut information");
31 params.addClassDescription(
"Creates a UserObject for planar cuts on 3D meshes for XFEM");
40 const int cut_data_len = 12;
41 const int num_vertices = 4;
45 mooseError(
"Length of RectangleCutUserObject cut_data must be 12");
53 for (
unsigned int i = 0; i < num_vertices; ++i)
57 for (
unsigned int i = 0; i < num_vertices; ++i)
59 unsigned int iplus1(i < 3 ? i + 1 : 0);
60 std::pair<Point, Point> rays =
62 _normal += rays.first.cross(rays.second);
71 const int num_vertices = 4;
75 for (
unsigned int i = 0; i < num_vertices; ++i)
77 unsigned int iplus1 = (i < 3 ? i + 1 : 0);
80 Point side_norm = side_tang.cross(
_normal);
83 if (middle2p * side_norm <= 0.0)
91 const std::vector<Point>
94 mooseError(
"getCrackFrontPoints() is not implemented for this object.");