|
DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
|
Each module under src/ contains:
*.hpp / *.cpp — C++ headers and implementation files.*_pybind.cpp / *_bind.cpp — Pybind11 binding definitions._explicit_instantiation/ — Explicit template instantiation files (one per model variant, compiled as separate translation units).CMakeLists.txt — Module-level build rules.Each module depends on those above it:
The Python package is separate from C++ sources. Compiled pybind11 extension modules (.so / .pyd) are installed into _ext/ subdirectories by cmake --install.
Before pybind11 extensions can be imported, their shared library dependencies must be loaded. _loader.py provides a single preload(module) function that:
python/DNDSR/_lib/ or legacy paths).ctypes.CDLL with RTLD_GLOBAL.| Directory | Framework | Runner | What it tests |
|---|---|---|---|
test/cpp/DNDS/ | doctest | CTest (np=1,2,4,8) | DNDS core C++ classes |
test/cpp/Geom/ | doctest | CTest (np=1,2,4,8) | Geom mesh C++ classes |
test/cpp/CFV/ | doctest | CTest (np=1,2,4,8) | CFV reconstruction |
test/cpp/Euler/ | doctest | CTest (np=1,2,4,8) | Euler evaluator |
test/cpp/Solver/ | doctest | CTest (np=1,2,4,8) | ODE, linear, direct |
test/DNDS/ | pytest | pytest | DNDS Python bindings |
test/Geom/ | pytest | pytest | Geom Python bindings |
test/CFV/ | pytest | pytest | CFV Python bindings |
test/EulerP/ | pytest | pytest | EulerP Python bindings |
See DNDS Core Unit Tests for the full C++ test suite documentation.
| Target | Description |
|---|---|
euler | Euler N-S solver (2D) |
euler3D | Euler N-S solver (3D) |
eulerSA | Spalart-Allmaras RANS solver (2D) |
eulerSA3D | Spalart-Allmaras RANS solver (3D) |
euler2EQ | k-omega RANS solver (2D) |
euler2EQ3D | k-omega RANS solver (3D) |
dnds_pybind11 | DNDS Python binding module |
geom_pybind11 | Geom Python binding module |
cfv_pybind11 | CFV Python binding module |
eulerP_pybind11 | EulerP Python binding module |
all_unit_tests | All C++ unit test executables (aggregate) |
dnds_unit_tests | DNDS C++ unit tests (aggregate) |
geom_unit_tests | Geom C++ unit tests (aggregate) |
cfv_unit_tests | CFV C++ unit tests (aggregate) |
euler_unit_tests | Euler C++ unit tests (aggregate) |
solver_unit_tests | Solver C++ unit tests (aggregate) |
docs | Build all documentation (Doxygen + Sphinx) |
sphinx | Build Sphinx documentation only |
doxygen | Build Doxygen XML + HTML only |
See also: Building DNDSR for full build instructions, CMake preset descriptions, and troubleshooting.