Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
๐ DNDSR v0.1.0
Major milestone release โ 701 files changed, ~110k insertions across 241 commits.
๐ Documentation : cfdlab-thu.github.io/DNDSR
โ๏ธ New Solver Features
๐ p-Multigrid (pMG) : HM3 revamp with MG support, tpMG, incFScale for MG lower levels, positivity-preserving limiters in LimiterUGrad
๐ SA-IDDES : DES โ DDES โ IDDES progression, psi term fixes, rotation correction variants, ft2 toggle
๐งฎ k-omega RANS : two-equation model with euler2EQ / euler2EQ3D executables
โฑ๏ธ ODE integrators : ESDIRK2, ESDIRK3, Trapezoidal; HM3 U2R2/U2R1/U3R1 modes
๐ Axisymmetric flow with wedge-shaped metric in reconstruction
๐ง Isothermal wall BC (BCWallIsothermal)
๐ incFScale (incremental flux scaling) integrated into entropy fix
โก Roe_M8 flux ; HLLE+ (experimental)
๐๏ธ source2nd, mergeMultiResidual, normOrd, restartOutAtInit, resBaseType options
๐ธ๏ธ Overset grid exploration : hole creation, distance map, cell-cell connectivity (2D demo)
๐ Python Modules (new)
๐ฆ pybind11 bindings for DNDS , Geom , CFV , EulerP modules
๐ Python ModelEvaluator for CFV โ Fourier dissipation-dispersion analysis
๐บ๏ธ create_mesh_from_CGNS, boundary mesh extraction, VTK output
๐ ArrayPair, ArrayEigenMatrix/Vector/Batch exports
๐ก๏ธ py::classh holder for safe PythonโC++ ownership
๐งฉ Auto stubgen on install; DNDSR.XXX import structure
๐๏ธ Build & Packaging
๐ง Modular CMake with presets (release-test, debug, cuda)
๐ท๏ธ Centralized version from VERSION file + git describe (PEP 440)
๐ฆ Python package via scikit-build-core with editable installs
๐ JSON Schema generation and config validation (--emit-schema CLI)
โ๏ธ DNDS_DECLARE_CONFIG registry for typed config sections
๐งต OMP support in ILU; DNDS_PYBIND11_NO_LTO option
๐ macOS compilation fixes (fmtlib workaround)
๐ฌ CFD Module Refactoring
Euler : RANSModelTraits, BC strategy pattern, shared gas physics, centralized Roe preamble / magic numbers / model constants
CFV : 8-phase refactoring โ safety, dedup, boundaries, functionals, data decomposition, DeviceTransferable, DOF factory, cleanup
Geom : modular element traits with codegen shape functions, distributed mesh read with ParMetis repartition, extracted helpers (CGNS read, face interpolation, cell reorder, VTK output)
โ๏ธ Core Infrastructure
๐พ Redistributable Array serialization with HDF5 checkpoint/restart
๐งฐ ObjectNaming, make_ssp, ArrayPair helpers
๐ฎ CUDA: device storage, device views for all derived array types, block-sparse MatVec benchmark, SoA layout tests
๐ EulerP module with CUDA-optimized evaluator
๐๏ธ Mesh: cell2cellOrig / node2nodeOrig / bnd2bndOrig index tracking, node wall distance, boundary ghost via node2bnd
โ
Testing (new)
๐งช C++ (doctest) : CFV limiters/reconstruction (43 tests), Euler gas/thermo/Riemann/RANS (59 tests), Solver ODE/linear/direct (24 tests), Geom elements/quadrature/mesh pipeline
๐ Python (pytest) : FV/VR correctness (32 tests), MPI communication
๐ CTest registration at np=1, 2, 4 for all MPI-aware tests
๐ Documentation System (new)
๐ Sphinx + Breathe site with Doxygen HTML embedded at /doxygen/
๐ Shared Markdown for both Doxygen and Sphinx (doxygen_compat.py translator)
โก Incremental builds โ no-op <1s, md-only ~10s, full ~2.5min
๐ Guides: building, style, arrays, serialization, geometry, examples, doc authoring
๐๏ธ Architecture pages, theory pages, test documentation
๐ C++ API with class diagrams (Breathe + Graphviz); Python API via autodoc
๐ค GitHub Actions workflow for manual Pages deployment with 3-layer caching
๐จ sphinxawesome-theme with colorful syntax highlighting
๐ Notable Bug Fixes
๐ MPI deadlock from collective globalSize() โ made non-collective
๐ Serializer false shared-ptr dedup from address reuse
๐ InterpolateFace wrong face identity on double-periodic BCs
๐ฅ Inner partitioning segfault in Metis reordering
๐ ArrayTransformer clone error
๐ Periodic boundary RecoverCell2CellAndBnd2Cell on arbitrary partitions
๐พ CSR pRowStart not written in serialization
โฑ๏ธ Multigrid fdtau/frhs ordering corrupting lambda estimates
๐ฎ EulerP accidental to_device in face buffer creation
๐ง CUDA thrust call fixes with CMAKE_CUDA_ARCHITECTURE=native
You canโt perform that action at this time.