|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Tests for ReadSerializeAndDistribute: write mesh to H5, then read it back with even-split + ParMetis repartition and verify the rebuilt mesh matches the original. More...
#include "doctest.h"#include "Geom/Mesh.hpp"#include "DNDS/SerializerH5.hpp"#include <string>#include <filesystem>#include <algorithm>#include <numeric>Go to the source code of this file.
Classes | |
| struct | MeshConfig |
| struct | RefCounts |
Macros | |
| #define | DOCTEST_CONFIG_IMPLEMENT |
| #define | FOR_EACH_CONFIG(body) |
| #define | FOR_EACH_CROSS_CONFIG(body) |
Functions | |
| int | main (int argc, char **argv) |
| TEST_CASE ("SameNp: global cell count") | |
| TEST_CASE ("SameNp: global node count") | |
| TEST_CASE ("SameNp: global bnd count") | |
| TEST_CASE ("SameNp: global face count") | |
| TEST_CASE ("SameNp: expected counts from config") | |
| TEST_CASE ("SameNp: every rank has cells") | |
| TEST_CASE ("SameNp: face2cell valid") | |
| TEST_CASE ("SameNp: node2cell non-empty") | |
| TEST_CASE ("SameNp: cell2cellOrig globally unique") | |
| TEST_CASE ("SameNp: coordinate bounding box is sane") | |
| TEST_CASE ("CrossNp: global cell count") | |
| TEST_CASE ("CrossNp: global node count") | |
| TEST_CASE ("CrossNp: global bnd count") | |
| TEST_CASE ("CrossNp: global face count") | |
| TEST_CASE ("CrossNp: every rank has cells") | |
| TEST_CASE ("CrossNp: face2cell valid") | |
| TEST_CASE ("CrossNp: cell2cellOrig globally unique") | |
| TEST_CASE ("CrossNp: node2cell non-empty") | |
Tests for ReadSerializeAndDistribute: write mesh to H5, then read it back with even-split + ParMetis repartition and verify the rebuilt mesh matches the original.
GoToPath("..") appends ".." literally in the H5 serializer instead of navigating up. Fixed by saving/restoring absolute paths via GetCurrentPath().bnd2cell(iBnd, 0) can reference a ghost cell in the even-split partition. A ghost pull of the cell partition array is needed to resolve the target partition for bnds whose owner cell is on another rank.search_indexAppend returns father_size + ghost_local_idx, but the bnd partition code used this directly as an index into cellPartArrGhost (which is 0-indexed). Fixed by subtracting cellPartArr->Size().Definition in file test_MeshDistributedRead.cpp.
| #define DOCTEST_CONFIG_IMPLEMENT |
Definition at line 86 of file test_MeshDistributedRead.cpp.
| #define FOR_EACH_CONFIG | ( | body | ) |
Definition at line 416 of file test_MeshDistributedRead.cpp.
| #define FOR_EACH_CROSS_CONFIG | ( | body | ) |
Definition at line 519 of file test_MeshDistributedRead.cpp.
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 351 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: cell2cellOrig globally unique" | ) |
Definition at line 584 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: every rank has cells" | ) |
Definition at line 557 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: face2cell valid" | ) |
Definition at line 565 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: global bnd count" | ) |
Definition at line 543 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: global cell count" | ) |
Definition at line 529 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: global face count" | ) |
Definition at line 550 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: global node count" | ) |
Definition at line 536 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "CrossNp: node2cell non-empty" | ) |
Definition at line 591 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: cell2cellOrig globally unique" | ) |
Definition at line 499 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: coordinate bounding box is sane" | ) |
Definition at line 506 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: every rank has cells" | ) |
Definition at line 462 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: expected counts from config" | ) |
Definition at line 452 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: face2cell valid" | ) |
Definition at line 471 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: global bnd count" | ) |
Definition at line 438 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: global cell count" | ) |
Definition at line 424 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: global face count" | ) |
Definition at line 445 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: global node count" | ) |
Definition at line 431 of file test_MeshDistributedRead.cpp.
| TEST_CASE | ( | "SameNp: node2cell non-empty" | ) |
Definition at line 490 of file test_MeshDistributedRead.cpp.