|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Comprehensive doctest-based unit tests for DNDS::ArrayDof (degree-of-freedom array) vector-space operations. More...
Go to the source code of this file.
Classes | |
| struct | DofTag< M > |
Macros | |
| #define | DOCTEST_CONFIG_IMPLEMENT |
Functions | |
| int | main (int argc, char **argv) |
| TEST_CASE ("ArrayDOF setup and setConstant") | |
| TEST_CASE ("ArrayDOF operator+= scalar and array") | |
| TEST_CASE ("ArrayDOF addTo") | |
| TEST_CASE ("ArrayDOF norm2") | |
| TEST_CASE ("ArrayDOF dot") | |
| TEST_CASE ("ArrayDOF min and max") | |
| TEST_CASE ("ArrayDOF sum") | |
| TEST_CASE ("ArrayDOF componentWiseNorm1") | |
| TEST_CASE ("ArrayDOF componentWiseNorm1 difference") | |
| TEST_CASE ("ArrayDOF element-wise multiply and divide") | |
| dof2 | clone (dof1) |
| for (DNDS::index i=0;i< dof2.father->Size();i++) | |
| dof1 | setConstant (0.0) |
| CHECK (dof2[0](0, 0)==doctest::Approx(7.0)) | |
| TEST_CASE ("ArrayDOF scalar array multiply") | |
| TEST_CASE ("ArrayDOF norm2 zero array") | |
| TEST_CASE ("ArrayDOF dot self equals norm2 squared") | |
| TYPE_TO_STRING (DofTag< 1 >) | |
| TYPE_TO_STRING (DofTag< 3 >) | |
| TYPE_TO_STRING (DofTag< 5 >) | |
| TYPE_TO_STRING (DofTag< DNDS::DynamicSize >) | |
| TEST_CASE_TEMPLATE ("ArrayDOF parametric over nVars", T, DofTag< 1 >, DofTag< 3 >, DofTag< 5 >, DofTag< DNDS::DynamicSize >) | |
Variables | |
| constexpr DNDS::index | N = 40 |
| auto | dof1 = makeDof<5, 1>(mpi, N) |
| auto | dof2 = makeDof<5, 1>(mpi, N) |
| Eigen::Matrix< real, 5, 1 > | v = Scalar::BisectSolveLower(F, 0.0, 1.0, 0.75, 100) |
Comprehensive doctest-based unit tests for DNDS::ArrayDof (degree-of-freedom array) vector-space operations.
Run under mpirun with 1, 2, and 4 ranks. All MPI-global reductions (norm2, dot, min, max, sum, componentWiseNorm1) are tested with rank-aware expected values that scale correctly at any process count.
Definition in file test_ArrayDOF.cpp.
| #define DOCTEST_CONFIG_IMPLEMENT |
Definition at line 17 of file test_ArrayDOF.cpp.
| CHECK | ( | dof2(0, 0) | [0] = =doctest::Approx(7.0) | ) |
| for | ( | DNDS::index | i = 0; i < dof2.father->Size(); i++ | ) |
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 24 of file test_ArrayDOF.cpp.
| dof1 setConstant | ( | 0. | 0 | ) |
| TEST_CASE | ( | "ArrayDOF addTo" | ) |
| TEST_CASE | ( | "ArrayDOF componentWiseNorm1 difference" | ) |
| TEST_CASE | ( | "ArrayDOF componentWiseNorm1" | ) |
| TEST_CASE | ( | "ArrayDOF dot self equals norm2 squared" | ) |
| TEST_CASE | ( | "ArrayDOF dot" | ) |
| TEST_CASE | ( | "ArrayDOF element-wise multiply and divide" | ) |
| TEST_CASE | ( | "ArrayDOF min and max" | ) |
| TEST_CASE | ( | "ArrayDOF norm2 zero array" | ) |
| TEST_CASE | ( | "ArrayDOF norm2" | ) |
| TEST_CASE | ( | ) |
| TEST_CASE | ( | "ArrayDOF scalar array multiply" | ) |
| TEST_CASE | ( | "ArrayDOF setup and setConstant" | ) |
| TEST_CASE | ( | "ArrayDOF sum" | ) |
| TEST_CASE_TEMPLATE | ( | "ArrayDOF parametric over nVars" | , |
| T | , | ||
| DofTag< 1 > | , | ||
| DofTag< 3 > | , | ||
| DofTag< 5 > | , | ||
| DofTag< DNDS::DynamicSize > | |||
| ) |
| TYPE_TO_STRING | ( | DofTag< 1 > | ) |
| TYPE_TO_STRING | ( | DofTag< 3 > | ) |
| TYPE_TO_STRING | ( | DofTag< 5 > | ) |
| TYPE_TO_STRING | ( | DofTag< DNDS::DynamicSize > | ) |
Definition at line 465 of file test_ArrayDOF.cpp.
| v<< 7.0, 8.0, 9.0; dof1.setConstant(v); ArrayDof<3, 1> dof2 = makeDof<5, 1>(mpi, N) |
Definition at line 466 of file test_ArrayDOF.cpp.
|
constexpr |
Definition at line 463 of file test_ArrayDOF.cpp.
| double v = Scalar::BisectSolveLower(F, 0.0, 1.0, 0.75, 100) |
Definition at line 468 of file test_ArrayDOF.cpp.