156 _lines.emplace_back(cse.node_ref(0), cse.node_ref(1),
id);
160 _lines.emplace_back(cse.node_ref(0), cse.node_ref(2),
id);
161 _lines.emplace_back(cse.node_ref(2), cse.node_ref(1),
id);
165 _lines.emplace_back(cse.node_ref(0), cse.node_ref(2),
id);
166 _lines.emplace_back(cse.node_ref(2), cse.node_ref(3),
id);
167 _lines.emplace_back(cse.node_ref(3), cse.node_ref(1),
id);
182 _triangles.emplace_back(cse.node_ref(0), cse.node_ref(1), cse.node_ref(2),
id);
187 _triangles.emplace_back(cse.node_ref(0), cse.node_ref(3), cse.node_ref(5),
id);
188 _triangles.emplace_back(cse.node_ref(3), cse.node_ref(1), cse.node_ref(4),
id);
189 _triangles.emplace_back(cse.node_ref(4), cse.node_ref(2), cse.node_ref(5),
id);
190 _triangles.emplace_back(cse.node_ref(3), cse.node_ref(4), cse.node_ref(5),
id);
194 _triangles.emplace_back(cse.node_ref(0), cse.node_ref(1), cse.node_ref(2),
id);
195 _triangles.emplace_back(cse.node_ref(2), cse.node_ref(3), cse.node_ref(0),
id);
199 _triangles.emplace_back(cse.node_ref(0), cse.node_ref(4), cse.node_ref(7),
id);
200 _triangles.emplace_back(cse.node_ref(4), cse.node_ref(1), cse.node_ref(5),
id);
201 _triangles.emplace_back(cse.node_ref(5), cse.node_ref(2), cse.node_ref(6),
id);
202 _triangles.emplace_back(cse.node_ref(6), cse.node_ref(3), cse.node_ref(7),
id);
203 _triangles.emplace_back(cse.node_ref(6), cse.node_ref(7), cse.node_ref(4),
id);
204 _triangles.emplace_back(cse.node_ref(4), cse.node_ref(5), cse.node_ref(6),
id);
208 _triangles.emplace_back(cse.node_ref(0), cse.node_ref(4), cse.node_ref(7),
id);
209 _triangles.emplace_back(cse.node_ref(4), cse.node_ref(1), cse.node_ref(5),
id);
210 _triangles.emplace_back(cse.node_ref(5), cse.node_ref(2), cse.node_ref(6),
id);
211 _triangles.emplace_back(cse.node_ref(6), cse.node_ref(3), cse.node_ref(7),
id);
212 _triangles.emplace_back(cse.node_ref(8), cse.node_ref(6), cse.node_ref(7),
id);
213 _triangles.emplace_back(cse.node_ref(8), cse.node_ref(5), cse.node_ref(6),
id);
214 _triangles.emplace_back(cse.node_ref(8), cse.node_ref(4), cse.node_ref(5),
id);
215 _triangles.emplace_back(cse.node_ref(8), cse.node_ref(7), cse.node_ref(4),
id);
226 const auto x = qp(0);
227 const auto y = qp(1);
230 for (
const auto & line :
_lines)
232 const auto & [p1, p2, line_id] = line;
238 const bool ordered = p1(1) <= p2(1);
240 const auto y1 = ordered ? p1(1) : p2(1);
241 const auto y2 = ordered ? p2(1) : p1(1);
243 if (
y >= y1 &&
y <= y2)
250 const auto x1 = ordered ? p1(0) : p2(0);
251 const auto x2 = ordered ? p2(0) : p1(0);
254 const auto xs = (x2 - x1) * (
y - y1) / (y2 - y1) + x1;
266 const auto x = qp(0);
267 const auto y = qp(1);
268 const auto z = qp(2);
273 const auto & [p1, p2, p3, triangle_id] = triangle;
276 if (triangle_id ==
id)
279 const auto x1 = p1(0);
280 const auto x2 = p2(0);
281 const auto x3 = p3(0);
283 const auto y1 = p1(1);
284 const auto y2 = p2(1);
285 const auto y3 = p3(1);
289 const auto denominator_term_1 = (y2 - y3) * (x1 - x3);
290 const auto denominator_term_2 = (x3 - x2) * (y1 - y3);
291 const auto denominator = denominator_term_1 + denominator_term_2;
292 const auto denominator_tolerance =
294 if (MooseUtils::absoluteFuzzyEqual(denominator, 0.0, denominator_tolerance))
298 const auto a = ((y2 - y3) * (
x - x3) + (x3 - x2) * (
y - y3)) / denominator;
299 const auto b = ((y3 - y1) * (
x - x3) + (x1 - x3) * (
y - y3)) / denominator;
300 const auto c = 1.0 -
a -
b;
313 const auto zs =
a * p1(2) +
b * p2(2) +
c * p3(2);
314 if (MooseUtils::absoluteFuzzyGreaterThan(z, zs))
const PostprocessorValue & getPostprocessorValue(const std::string ¶m_name, const unsigned int index=0) const