40 MooseEnum direction_method(
"CrackDirectionVector CrackMouth CurvedCrackFront");
41 MooseEnum end_direction_method(
"NoSpecialTreatment CrackDirectionVector",
"NoSpecialTreatment");
42 params.addParam<std::vector<Point>>(
"crack_front_points",
"Set of points to define crack front");
43 params.addParam<
bool>(
"closed_loop",
false,
"Set of points forms forms a closed loop");
44 params.addRequiredParam<MooseEnum>(
45 "crack_direction_method",
47 "Method to determine direction of crack propagation. Choices are: " +
48 direction_method.getRawNames());
49 params.addParam<MooseEnum>(
50 "crack_end_direction_method",
52 "Method to determine direction of crack propagation at ends of crack. Choices are: " +
53 end_direction_method.getRawNames());
54 params.addParam<RealVectorValue>(
"crack_direction_vector",
"Direction of crack propagation");
55 params.addParam<RealVectorValue>(
56 "crack_direction_vector_end_1",
57 "Direction of crack propagation for the node at end 1 of the crack");
58 params.addParam<RealVectorValue>(
59 "crack_direction_vector_end_2",
60 "Direction of crack propagation for the node at end 2 of the crack");
61 params.addParam<std::vector<BoundaryName>>(
62 "crack_mouth_boundary",
"Boundaries whose average coordinate defines the crack mouth");
63 params.addParam<std::vector<BoundaryName>>(
"intersecting_boundary",
64 "Boundaries intersected by ends of crack");
65 params.addParam<
bool>(
"2d",
false,
"Treat body as two-dimensional");
66 params.addRangeCheckedParam<
unsigned int>(
69 "axis_2d>=0 & axis_2d<=2",
70 "Out of plane axis for models treated as two-dimensional (0=x, 1=y, 2=z)");
71 params.addParam<
unsigned int>(
"symmetry_plane",
72 "Account for a symmetry plane passing through "
73 "the plane of the crack, normal to the specified "
74 "axis (0=x, 1=y, 2=z)");
75 params.addParam<
bool>(
"t_stress",
false,
"Calculate T-stress");
76 params.addParam<
bool>(
"q_function_rings",
false,
"Generate rings of nodes for q-function");
77 params.addParam<
unsigned int>(
"last_ring",
"The number of rings of nodes to generate");
78 params.addParam<
unsigned int>(
"first_ring",
"The number of rings of nodes to generate");
79 params.addParam<
unsigned int>(
"nrings",
"The number of rings of nodes to generate");
80 params.addParam<VariableName>(
"disp_x",
"Variable containing the x displacement");
81 params.addParam<VariableName>(
"disp_y",
"Variable containing the y displacement");
82 params.addParam<VariableName>(
"disp_z",
"Variable containing the z displacement");
83 params.addParam<std::vector<Real>>(
"j_integral_radius_inner",
84 "Radius for J-Integral calculation");
85 params.addParam<std::vector<Real>>(
"j_integral_radius_outer",
86 "Radius for J-Integral calculation");
87 MooseEnum q_function_type(
"Geometry Topology",
"Geometry");
88 params.addParam<MooseEnum>(
"q_function_type",
90 "The method used to define the integration domain. Options are: " +
91 q_function_type.getRawNames());
92 params.addParam<UserObjectName>(
93 "crack_front_points_provider",
94 "The UserObject provides the crack front points from XFEM GeometricCutObject");
95 params.addParam<
unsigned int>(
96 "number_points_from_provider",
97 "The number of crack front points, only needed if crack_front_points_provider is used.");