遇见数据集

Heat Transfer in Incompressible Magnetohydrodynamic Pipe Flows: Database and Derivation Pipeline. Supplementary material for the article.

收藏
Zenodo2026-07-23 更新2026-08-01 收录
官方服务:

资源简介:

# Heat Transfer in Incompressible Magnetohydrodynamic Pipe Flows: Database and Derivation Pipeline Supplementary material for the article > L. Melchiorri, S. Siriano, S. Pignatiello, G. Caruso, A. Tassone,> *Heat Transfer in Incompressible Magnetohydrodynamic Pipe Flows: A Data-Driven> Modelling Framework*, International Journal of Heat and Mass Transfer (under review). Department of Astronautical, Electrical and Energy Engineering, Sapienza University of Rome. This repository contains the complete computational chain behind the article: theverified experimental database, the scripts that derive the correlations from it, andthe full unedited output of every regression campaign — including the candidateexpressions that were **discarded**, and the reasons why. It is released so that thederivation can be repeated, audited, or re-run under different selection criteria. --- ## 1. What this material is for The article derives four Nusselt-number correlations for liquid-metal MHD pipe flow bysymbolic regression, under a fixed four-stage protocol: 1. **Multi-run campaigns** — ten independent runs per regression node, with declared random seeds, retaining the complete Pareto front of each run.2. **Structural recurrence** — each expression is reduced to a skeleton (fitted constants replaced by a placeholder, numerical exponents preserved) and grouped, to distinguish reproducible structures from single fortunate draws.3. **Physical admissibility** — screening on limiting behaviour, monotonicity, positivity, and continuity at the partition thresholds.4. **Frozen-structure cross-validation** — leave-one-facility-out (LOFO) and leave-one-campaign-out (LOCO): the functional structure is frozen, its constants are refitted on the remaining data, and the prediction is evaluated only on the removed points. Model selection is delegated entirely to this protocol. The internal selectionheuristic of `PySR` is never used: the regressor is queried for the complete Paretofront and every candidate is passed to stages 2–4. ## 2. The database `Nu_Correlation_Data_Circular.xlsx`, sheet **`Totale`** — 353 measurements fromliquid-metal MHD heat-transfer campaigns in circular ducts. | Sources | Points | Facility | Fluid ||---|---|---|---|| Gardner & Lykoudis (1971) | 80 | Purdue | Mercury || Takahashi et al. (1998) | 56 | Tokyo | Lithium || Sviridov et al. (2003), three heating conditions | 40 + 34 + 37 | MPEI | Mercury || Beznosov et al. (2013) | 22 | NNSTU | Lead–bismuth || Melnikov et al. (2016) | 30 | MPEI | Mercury || Belyaev et al. (2018) | 3 | MPEI | Mercury || Razuvanov et al. (2019) | 25 | MPEI | Mercury || Luchinkin et al. (2022) | 25 | MPEI | Mercury || Genin et al. (2011) | 1 | MPEI | Mercury | All entries are referred to a single target quantity: the Nusselt number built on the**perimeter-averaged wall temperature**, Nu = q_w · d / [ λ · ( T̄_w − T_b ) ], T̄_w = (1/2π) ∮ T_w(θ) dθ Because the local Nusselt number is inversely proportional to the local wall-to-bulktemperature difference, this definition is equivalent to the **harmonic** mean of thelocal Nusselt numbers around the perimeter, not to their arithmetic mean. Sourcesreporting only local angular values (Gardner, Takahashi) were therefore combinedharmonically, with quadrature weights matching each source's angular sampling. AppendixA of the article documents the reconstruction source by source. `Flag_Benchmark = TRUE` marks the 40-point held-out configuration (Sviridov, horizontal,uniform heating), which takes no part in any stage of the derivation. ### ⚠ Before running anything: refresh the formula cache `mhd_data.py` reads the file with `openpyxl`, which returns the **cached** value offormula cells. Several columns (notably `Ri` and `Rh`) are Excel formulas. If theworkbook was last written by a Python library rather than by Excel, those caches areempty and the columns silently become `NaN` — the pipeline will run and produce wrongsubset sizes without raising an error. **Open the workbook in Excel and save it once before running the scripts.** Then verify: ```pythonimport mhd_data as mddf = md.load_master()tr = md.training_set(df)assert len(df) == 353 and len(tr) == 313assert (tr.N_int >= 30).sum() == 48 # laminarised plateau subsetassert (tr.Ri <= 0.1).sum() == 255 # forced convectionassert ((tr.Ri > 0.1) & (tr.Ri <= 6)).sum() == 58 # mixed convection``` If any assertion fails, the formula caches are stale. ## 3. Directory map Each regression node corresponds to one correlation of the article. | Directory | Regression node | Training points | Correlation ||---|---|---|---|| `multirun_node_13/` | (Ri, N), all orientations, N < 30 | 265 | Eq. (13) || `multirun_node_14/` | (Ri, N), horizontal only, N < 30 | 163 | Eq. (14) || `multirun_node_15/` | (Rh, Pe), forced convection, Rh > 70 | 180 | Eq. (15) || `multirun_node_16/` | (Pe, Ha), forced convection — **first campaign** | 255 | Eq. (16) || `multirun_node_16_1/` | (Pe, Ha) — **extended campaign**, new seeds | 255 | Eq. (16) | The two `node_16` directories are not redundant. In the first campaign every one of the24 distinct skeletons returned by the ten runs failed the admissibility screening —several violated the required monotonic trends inside the training domain, and fourdrove the Nusselt number negative at a domain corner. In accordance with the protocol,the campaign was extended by ten further runs with new declared seeds, which discoveredthe bounded rational family from which Eq. (16) is drawn. **The failed campaign isreleased deliberately**: it is the evidence that the screening is not decorative, sincea purely accuracy-driven selection would have retained one of those 24 expressions. Files inside each `multirun_node_*/`: - `environment.json` — software versions, base seed, node identity, full `PySR` keyword arguments, UTC timestamp.- `hof_runNN.csv` — the complete Pareto front ("hall of fame") of run *NN*: columns `complexity`, `loss`, `score`, `equation`, `run`, `seed`.- `hof_all.csv` — the ten fronts concatenated.- `ricorrenza_strutture.csv` — skeleton frequency across runs, computed on the three best expressions per run: how many independent runs produced each structure.- `ricorrenza_per_complessita.csv` — the same, resolved at each complexity level along the Pareto front. Post-processing directories carry the analyses that produced the article's tables: | Directory | Correlation ||---|---|| `Ri_N_total_post_proc/` | Eq. (13) || `Ri_N_horizontal_post_proc/` | Eq. (14) || `Rh_Pe_forced_post_proc/` | Eq. (15) || `Pe_Ha_forced_post_proc/` | Eq. (16), first campaign || `Pe_Ha_forced_post_proc_1/` | Eq. (16), extended campaign | Each contains: - `regression_statistics.txt` — fit indicators on the training subset: mean relative error, RMS relative error, fractions within ±10% and ±20%, Huber loss (δ = 0.2).- `admissibility.txt` — for every candidate: real-valuedness over the domain box, minimum Nusselt number, monotonicity in each variable, predictions at the four corners of the box (labelled *data-supported* or *extrapolated*, with the extent of extrapolation in decades), joint asymptotic limits, and the departure from the laminarised plateau along the partition boundary.- `lofo_loco.txt` — fold-resolved cross-validation: refitted constants, their drift from the full-data fit, and out-of-fold error metrics, for every facility and every campaign removed in turn. ## 4. Scripts | File | Purpose ||---|---|| `mhd_data.py` | Single source of truth: loads the workbook, normalises the categorical columns, maps each source to its facility, defines a campaign as *source × heating condition × flow orientation*, and exposes the physical filters as functions (`training_set`, `forced_convection`, `mixed_convection`, `laminarised_N`, `turbulent_mhd`, …). Every other script imports from here. || `pysr_multirun.py` | Runs one multi-run campaign on one node: logs the environment, executes the ten seeded runs, writes each hall of fame, and performs the skeleton-recurrence analysis. The node and baseline are set at the top of the file. || `mms.py` | Post-processing manager. Uses a node registry and writes one output folder per node containing the three `.txt` reports above. || `plateau_sensitivity.py` | Estimates the laminarised plateau under several outcome-blind estimators (median, sample mean, 10% and 20% trimmed means) with bootstrap confidence intervals, on both the N ≥ 30 and the Rh ≤ 70 subsets. | ### Reproducing a campaign ```bashpip install pysr pandas numpy sympy openpyxlpython -c "import pysr; pysr.install()" # first use only: builds the Julia backend # edit NODE and BASELINE at the top of pysr_multirun.py, thenpython pysr_multirun.py``` A ten-run campaign takes several hours on six cores. **Bit-for-bit reproduction is notexpected**: the declared seeds fix each run's initialisation, but inter-populationmigrations are asynchronous under parallel evaluation, so results are reproducible indistribution rather than exactly. This is consistent with the purpose of the campaigns,which is to establish which structures survive resampling of the search rather than toreproduce one trajectory. ## 5. Mapping to the article | Article item | Material ||---|---|| §7.1, laminarised plateau and its sensitivity | `plateau_sensitivity.py` || §7.1, Eq. (13) — recurrence, admissibility, LOFO/LOCO | `multirun_node_13/`, `Ri_N_total_post_proc/` || §7.1, Eq. (14) | `multirun_node_14/`, `Ri_N_horizontal_post_proc/` || §7.2.1, Eq. (15) | `multirun_node_15/`, `Rh_Pe_forced_post_proc/` || §7.2.2, Eq. (16) and the failed first campaign | `multirun_node_16/`, `multirun_node_16_1/`, `Pe_Ha_forced_post_proc*/` || §8, out-of-sample assessment | `Flag_Benchmark = TRUE` rows of the workbook || Appendix A, source-by-source reconstruction | article text; the workbook holds the result || Appendix B, regression configuration | `environment.json` in any campaign folder | ## 6. Known limitations - **Wall conductance** is not a regression variable. It takes a single nominal value per facility and is therefore perfectly collinear with facility identity; any fitted dependence would be indistinguishable from the configuration effects already bounded by the LOFO analysis. In `mhd_data.py` a missing `c_wall` is filled with zero for convenience; for the Beznosov campaign the wall state is set by an oxide coating and is **not quantified by the source**, so that zero is a placeholder, not a measurement.- **Buoyancy parameters are inferred** for the Gardner and Takahashi campaigns, which together supply 136 of the 353 points. Neither source reports a Grashof or Rayleigh number; both were reconstructed from the authors' own free-convection indicator. The regime classification of these points therefore rests on reconstruction.- **Mixed convection is not correlated.** The 58 mixed-convection points come from a single facility, and the departure from the plateau changes sign with flow orientation. No leave-one-facility-out fold exists for that regime, so the protocol cannot be satisfied; the data are documented and discussed but no formula is proposed.- The correlations are bounded to the validity domains stated in the article. Extrapolation towards strongly conducting ducts, or towards the ordinary-hydrodynamic limit for the formulations that diverge there, lies outside their scope. ## 7. Citation and licence If you use this material, please cite both the article and this deposit: ```bibtex@dataset{melchiorri_mhd_dataset, author = {Melchiorri, Lorenzo and Siriano, Simone and Pignatiello, Sonia and Caruso, Gianfranco and Tassone, Alessandro}, title = {Heat Transfer in Incompressible Magnetohydrodynamic Pipe Flows: Database and Derivation Pipeline}, year = {2026}, publisher = {Zenodo}, doi = {[DOI]}}``` The database and documentation are released under CC BY 4.0; the scripts under the MITlicence. The underlying experimental measurements remain the intellectual product ofthe cited original publications, which should be credited alongside this deposit. Funded by Sapienza University of Rome, *Progetti per Avvio alla Ricerca – Tipo 2*,protocol AR225199BE92F3DB.

提供机构:
Zenodo
创建时间:
2026-07-23
二维码
社区交流群
二维码
科研交流群
商业服务