Skip to content

Commit d0ddc2d

Browse files
committed
Adapt unit test for comparison to FE
1 parent 3f79855 commit d0ddc2d

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

tests/geom/side_vertex_average_normal_test.C

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,18 +96,24 @@ public:
9696
LIBMESH_ASSERT_FP_EQUAL(0, n2(1), TOLERANCE*TOLERANCE);
9797
LIBMESH_ASSERT_FP_EQUAL(0, n2(2), TOLERANCE*TOLERANCE);
9898
}
99+
99100
{
100-
// Oriented
101-
std::vector<Point> pts = {Point(1, 0, 0), Point(1, 3, 0), Point(2, 1, 0)};
101+
// Oriented, checked with the FE construction
102+
std::vector<Point> pts = {Point(1, 0, 0), Point(1, 3, 0), Point(2.2344, 1.210293, 0)};
102103
auto [edge3, nodes] = this->construct_elem(pts, EDGE3);
103-
const Point n1 = edge3->side_vertex_average_normal(0);
104-
LIBMESH_ASSERT_FP_EQUAL(-sqrt(2) / 2, n1(0), TOLERANCE*TOLERANCE);
105-
LIBMESH_ASSERT_FP_EQUAL(-sqrt(2) / 2, n1(1), TOLERANCE*TOLERANCE);
106-
LIBMESH_ASSERT_FP_EQUAL(0, n1(2), TOLERANCE*TOLERANCE);
107-
const Point n2 = edge3->side_vertex_average_normal(1);
108-
LIBMESH_ASSERT_FP_EQUAL(-sqrt(5) / 5, n2(0), TOLERANCE*TOLERANCE);
109-
LIBMESH_ASSERT_FP_EQUAL(2 * sqrt(5) / 5, n2(1), TOLERANCE*TOLERANCE);
110-
LIBMESH_ASSERT_FP_EQUAL(0, n2(2), TOLERANCE*TOLERANCE);
104+
std::unique_ptr<libMesh::FEBase> fe(libMesh::FEBase::build(1, libMesh::FEType(1)));
105+
libMesh::QGauss qface(0, libMesh::CONSTANT);
106+
const std::vector<Point> & normals = fe->get_normals();
107+
for (const auto s : make_range(edge3->n_sides()))
108+
{
109+
const std::unique_ptr<const Elem> face = edge3->build_side_ptr(s);
110+
fe->attach_quadrature_rule(&qface);
111+
fe->reinit(edge3.get(), s, TOLERANCE);
112+
const Point n1 = edge3->side_vertex_average_normal(s);
113+
LIBMESH_ASSERT_FP_EQUAL(normals[0](0), n1(0), TOLERANCE*TOLERANCE);
114+
LIBMESH_ASSERT_FP_EQUAL(normals[0](1), n1(1), TOLERANCE*TOLERANCE);
115+
LIBMESH_ASSERT_FP_EQUAL(normals[0](2), n1(2), TOLERANCE*TOLERANCE);
116+
}
111117
}
112118
}
113119

0 commit comments

Comments
 (0)