Skip to content

Commit 9f31363

Browse files
committed
Add a unit test for edge3 side vertex average
1 parent 4232476 commit 9f31363

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/geom/side_vertex_average_normal_test.C

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,37 @@ public:
7979
}
8080
}
8181

82+
void testEdge3()
83+
{
84+
LOG_UNIT_TEST;
85+
86+
{
87+
// Reference
88+
const Elem & edge3 = ReferenceElem::get(EDGE3);
89+
const Point n1 = edge3.side_vertex_average_normal(0);
90+
LIBMESH_ASSERT_FP_EQUAL(-1, n1(0), TOLERANCE*TOLERANCE);
91+
LIBMESH_ASSERT_FP_EQUAL(0, n1(1), TOLERANCE*TOLERANCE);
92+
LIBMESH_ASSERT_FP_EQUAL(0, n1(2), TOLERANCE*TOLERANCE);
93+
const Point n2 = edge3.side_vertex_average_normal(1);
94+
LIBMESH_ASSERT_FP_EQUAL(1, n2(0), TOLERANCE*TOLERANCE);
95+
LIBMESH_ASSERT_FP_EQUAL(0, n2(1), TOLERANCE*TOLERANCE);
96+
LIBMESH_ASSERT_FP_EQUAL(0, n2(2), TOLERANCE*TOLERANCE);
97+
}
98+
{
99+
// Oriented
100+
std::vector<Point> pts = {Point(1, 0, 0), Point(1, 3, 0), Point(2, 1, 0)};
101+
auto [edge3, nodes] = this->construct_elem(pts, EDGE3);
102+
const Point n1 = edge3->side_vertex_average_normal(0);
103+
LIBMESH_ASSERT_FP_EQUAL(-sqrt(2) / 2, n1(0), TOLERANCE*TOLERANCE);
104+
LIBMESH_ASSERT_FP_EQUAL(-sqrt(2) / 2, n1(1), TOLERANCE*TOLERANCE);
105+
LIBMESH_ASSERT_FP_EQUAL(0, n1(2), TOLERANCE*TOLERANCE);
106+
const Point n2 = edge3->side_vertex_average_normal(1);
107+
LIBMESH_ASSERT_FP_EQUAL(sqrt(3) / 2, n2(0), TOLERANCE*TOLERANCE);
108+
LIBMESH_ASSERT_FP_EQUAL(1. / 2, n2(1), TOLERANCE*TOLERANCE);
109+
LIBMESH_ASSERT_FP_EQUAL(0, n2(2), TOLERANCE*TOLERANCE);
110+
}
111+
}
112+
82113
void testTri3()
83114
{
84115
LOG_UNIT_TEST;

0 commit comments

Comments
 (0)