|
DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
|
Status: Skeleton — to be expanded as tutorials are written.
This guide covers running DNDSR simulations from mesh generation through to post-processing.
DNDSR is a compressible Navier-Stokes solver using high-order Compact Finite Volume (CFV) / Variational Reconstruction (VR) on unstructured meshes. It supports:
DNDSR reads CGNS format meshes. We currently use Pointwise for mesh generation.
TODO: Add recommended Pointwise export settings (CGNS version, zone organization, boundary condition naming).
| Dimension | Linear (O1) | Quadratic (O2) |
|---|---|---|
| 2D | Tri3, Quad4 | Tri6, Quad9 |
| 3D | Tet4, Hex8, Prism6, Pyramid5 | Tet10, Hex27, Prism18, Pyramid14 |
TODO: Notes on mesh quality requirements (skewness, aspect ratio, minimum cell size) for high-order VR.
TODO: Add notes on:
- Choosing the correct executable (
euler,euler3D,eulerSA,euler2EQ, ...)- MPI rank count vs. mesh size guidelines
- Setting
OMP_NUM_THREADSfor hybrid parallelism- Wall time and checkpoint restart
TODO: Add minimal Python script example using
DNDSR.EulerP.
DNDSR outputs VTK (.vtu / .pvtu) and Tecplot (.plt) formats.
.pvtu (parallel VTK) or .vtu (serial) filesTODO: Add screenshots or a brief ParaView pipeline description.
.plt files directlyTODO: Add step-by-step tutorials:
- Periodic Vortex — 2D inviscid, validation case
- NACA 0012 — 2D RANS, airfoil at angle of attack
- 3D Cylinder — laminar / turbulent cylinder flow
- Custom case — adapting an existing config to a new mesh
TODO: Collect practical advice:
- Starting from a lower-order solution
- CFL ramping for stiff cases
- Monitoring residuals and convergence
- When to use elevation + bisection vs. native O2 mesh
- Memory usage estimates