Skip to content

Commit 4c0c495

Browse files
committed
Add unit tests for cell areas and volume
1 parent 6b66188 commit 4c0c495

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

tests/unit/mesh/test_coordinates.cxx

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,3 +271,74 @@ TEST_F(CoordinatesTest, NegativeB) {
271271

272272
EXPECT_THROW(Coordinates coords(mesh), BoutException);
273273
}
274+
275+
TEST_F(CoordinatesTest, CellAreas) {
276+
277+
static_cast<FakeMesh*>(bout::globals::mesh)
278+
->setGridDataSource(
279+
new FakeGridDataSource({{"g_11", 4.0}, {"g_22", 1.0}, {"g_33", 9}}));
280+
281+
Coordinates coords(mesh);
282+
283+
EXPECT_TRUE(IsFieldEqual(coords.dx, 1.0));
284+
EXPECT_TRUE(IsFieldEqual(coords.dy, 1.0));
285+
EXPECT_TRUE(IsFieldEqual(coords.dz, 1.0));
286+
287+
EXPECT_TRUE(IsFieldEqual(coords.g11, 4.0));
288+
EXPECT_TRUE(IsFieldEqual(coords.g22, 1.0));
289+
EXPECT_TRUE(IsFieldEqual(coords.g33, 9.0));
290+
EXPECT_TRUE(IsFieldEqual(coords.g12, 0.0));
291+
EXPECT_TRUE(IsFieldEqual(coords.g13, 0.0));
292+
EXPECT_TRUE(IsFieldEqual(coords.g23, 0.0));
293+
294+
EXPECT_TRUE(IsFieldEqual(coords.J, 6.0));
295+
EXPECT_TRUE(IsFieldEqual(coords.Bxy, 1.0));
296+
297+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_xlow(), 3.0));
298+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_xhigh(), 3.0));
299+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_ylow(), 6.0));
300+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_yhigh(), 6.0));
301+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_zlow(), 2.0));
302+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_zhigh(), 2.0));
303+
304+
EXPECT_TRUE(IsFieldEqual(coords.cell_volume(), 6.0));
305+
}
306+
307+
TEST_F(CoordinatesTest, CellAreasUpdate) {
308+
309+
static_cast<FakeMesh*>(bout::globals::mesh)
310+
->setGridDataSource(new FakeGridDataSource());
311+
312+
Coordinates coords(mesh);
313+
314+
EXPECT_TRUE(IsFieldEqual(coords.dx, 1.0));
315+
EXPECT_TRUE(IsFieldEqual(coords.dy, 1.0));
316+
EXPECT_TRUE(IsFieldEqual(coords.dz, 1.0));
317+
318+
EXPECT_TRUE(IsFieldEqual(coords.g11, 1.0));
319+
EXPECT_TRUE(IsFieldEqual(coords.g22, 1.0));
320+
EXPECT_TRUE(IsFieldEqual(coords.g33, 1.0));
321+
EXPECT_TRUE(IsFieldEqual(coords.g12, 0.0));
322+
EXPECT_TRUE(IsFieldEqual(coords.g13, 0.0));
323+
EXPECT_TRUE(IsFieldEqual(coords.g23, 0.0));
324+
325+
EXPECT_TRUE(IsFieldEqual(coords.J, 1.0));
326+
EXPECT_TRUE(IsFieldEqual(coords.Bxy, 1.0));
327+
328+
coords.cell_area_xlow() *= 2;
329+
coords.cell_area_xhigh() *= 3;
330+
coords.cell_area_ylow() *= 4;
331+
coords.cell_area_yhigh() *= 5;
332+
coords.cell_area_zlow() *= 6;
333+
coords.cell_area_zhigh() *= 7;
334+
coords.cell_volume() *= 8;
335+
336+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_xlow(), 2.0));
337+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_xhigh(), 3.0));
338+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_ylow(), 4.0));
339+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_yhigh(), 5.0));
340+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_zlow(), 6.0));
341+
EXPECT_TRUE(IsFieldEqual(coords.cell_area_zhigh(), 7.0));
342+
343+
EXPECT_TRUE(IsFieldEqual(coords.cell_volume(), 8.0));
344+
}

0 commit comments

Comments
 (0)