DOI: 10.5281/zenodo.18229731
title: Supplementary Materials for paper "On convective terms approximation approach that corresponds to pure convection" (DStreaM C++ source code and dataset)

description: This item contains the complete set of source codes, datasets, and post-processing materials supporting the results reported in the paper:

Kiril S. Shterev, “On convective terms approximation approach that corresponds to pure convection”.

The archive includes:• C++ implementation of DStreaM for structured Cartesian meshes (folder: DStreaM_code).• C++ implementation of DStreaM for unstructured triangular meshes (folder: DStreaM_code_unstuctured_mesh).• Reference C++ implementation of a TVD scheme for the 2D convection problem (folder: 2D_convection_problem_TVD_code).• Reproducibility folders for each benchmark test case (advection of step/double-step/sinusoidal profiles and the Smith–Hutton problem), including input data, representative outputs, and log files with iteration counts and timings.• Post-processing scripts (MATLAB, Python, Bash) used to generate figures/tables.• Mesh-convergence datasets (L1/L2 log–log plot data) for the Smith–Hutton case.• Wolfram Mathematica notebook (.nb) and PDF export with the derivation of the DStreaM nodal relation using barycentric (area) coordinates.

Compilation/testing: the C++ codes were compiled and tested on Linux (Debian 12) using a GNU toolchain.

Suggested citation: please cite this Zenodo item (10.5281/zenodo.18229732) and the associated journal article.

Paper abstract

In recent decades, considerable effort has been devoted to developing higher-order schemes for the discretization of convective terms that are both stable and reliable. In this work, the central idea is that the approximation should be made to reflect the physics of pure convection: the transported quantity is advected along streamlines, and information is propagated only in the upwind direction, i.e., the transported property is determined by previous values along the streamline but not by downstream values. In the proposed approach, streamlines on the computational mesh are represented by discrete streamlines, and the method is called the Discrete Streamline Method (DStreaM). A discrete streamline is constructed as a narrow triangle with one vertex at the node where the approximation is sought and two vertices at upstream neighbouring nodes. Discrete streamlines are oriented according to the local flow direction, in a manner similar to skew-upwind schemes, so that consistency with pure convection is ensured for DStreaM. The method is conservative only for uniform meshes with a constant velocity field; for general meshes and non-uniform velocity fields it is non-conservative, and a non-zero local conservation error remains. The performance of DStreaM is assessed on standard test problems: convection of a step profile, a double-step profile, a sinusoidal profile, and the Smith--Hutton problem. DStreaM solutions are compared with those obtained using the first-order upwind scheme and second-order total variation diminishing (TVD) schemes with Minmod, QUICK, and SUPERBEE limiters. Across these benchmarks, high-resolution solution profiles and $L_1/L_2$ error levels comparable to those of the considered TVD schemes are produced by DStreaM. In the DStreaM construction, only local node coordinates and mesh connectivity are used; in this work, implementation is performed on both uniform Cartesian meshes and unstructured triangular meshes generated by a Delaunay triangulation. Representative results are reported with a focus on accuracy, iterative convergence, and conservation limitations.