OpenFOAM 14 — Guida 16: Mesh dinamiche e pareti mobili
OpenFOAM 14 — Guide 16: Dynamic meshes and moving walls
========================================================================

IT  Questo archivio contiene tutti gli script e i file di dati riportati o citati
    nell'articolo di giux-lab.it, con lo stesso contenuto pubblicato nei riquadri.
    scripts/, examples/, ... : file del pacchetto originale della guida;
    extra/                   : script e file aggiuntivi presentati nei riquadri di approfondimento.
    I file indicati come SYNTHETIC sono dati illustrativi, non risultati CFD.
EN  This archive contains every script and data file reproduced or cited in the
    giux-lab.it article, with the same content published in the boxes.
    scripts/, examples/, ... : files of the original guide package;
    extra/                   : additional scripts and files presented in the deep-dive boxes.
    Files marked SYNTHETIC are illustrative data, not CFD results.

IMPORTANTE: per eseguire i casi usare extra/run_case_fixed.sh al posto di scripts/run_case.sh (stessi argomenti):
la versione originale rifiuta anche un caso appena preparato. Per registrare portata su left, pressioni, forze,
sonde nel meato e Courant della mesh eseguire, dopo prepare_cases.py e PRIMA del calcolo,
  python3 extra/enable_monitors.py "$HOME/OpenFOAM/guide16_cases/baseline"
(e sulle altre copie). Nei 9,9 ms del movingCone gli eventi di rimappatura sono sei (extra/movingcone_schedule.py).

IMPORTANT: run the cases with extra/run_case_fixed.sh instead of scripts/run_case.sh (same arguments):
the original version also refuses a freshly prepared case. To record the flow rate on left, pressures, forces,
gap probes and mesh Courant number run, after prepare_cases.py and BEFORE the computation,
  python3 extra/enable_monitors.py "$HOME/OpenFOAM/guide16_cases/baseline"
(and on the other copies). Within the 9.9 ms of movingCone there are six remapping events (extra/movingcone_schedule.py).

Requisiti / Requirements: OpenFOAM Foundation 14 on Linux; Python 3 (standard library) unless stated in the script.
Line endings: LF. Se si modificano gli script su Windows, salvarli con fine riga LF (Notepad++: Modifica > Conversione fine riga).
Licenza / Licence: script GNU GPL v3 or later (COPYING_GPLv3.txt). I tutorial OpenFOAM non sono inclusi:
gli script li copiano dall'installazione locale. / OpenFOAM tutorials are not bundled: the scripts copy them from the local installation.

Contenuto / Contents
------------------------------------------------------------------------
examples/experiment_manifest.csv
    CSV data or template (4 lines)
examples/measurement_sheet.csv
    CSV data or template (4 lines)
examples/opposed_demo.csv
    geometric-only gap profiles written by scripts/peristaltic_gap_demo.py, not CFD results (304 lines)
examples/synthetic_log.txt
    SYNTHETIC solver log to test extract_log_metrics.py, not a CFD run
examples/upper_only_demo.csv
    geometric-only gap profiles written by scripts/peristaltic_gap_demo.py, not CFD results (304 lines)
extra/compare_probes.py
    Compare one probed quantity between two OpenFOAM runs at the same physical times (Guide 16, Exercise B).
extra/enable_monitors.py
    Add the Guide 16 monitors to a NEW, never-run copy of the movingCone tutorial.
extra/extract_log_metrics_plus.py
    Per-step diagnostics of an OpenFOAM 14 foamRun log with moving and mapped meshes, to CSV.
extra/functions_guide16
    system/functions for movingCone: tutorial cutPlane + Qleft, pCone/pWall, coneForces, gapProbes, checkMesh (installed by enable_monitors.py)
extra/g16_estimates.py
    Geometry, cell counts and order-of-magnitude estimates for the OpenFOAM 14 movingCone case.
extra/movingcone_schedule.py
    Motion and mesh-to-mesh mapping schedule of the OpenFOAM 14 movingCone tutorial.
extra/peristaltic_lubrication.py
    Long-wavelength, low-Reynolds peristaltic pumping of a 2-D channel (lubrication theory, Shapiro et al. 1969).
extra/run_case_fixed.sh
    corrected scripts/run_case.sh: same usage; accepts a freshly prepared case and refuses one whose meshes or results already exist
extra/volume_balance.py
    Volume balance of the movingCone case from the Qleft flow-rate monitor (Guide 16).
scripts/extract_log_metrics.py
    Extract optional time-step diagnostics from OpenFOAM solver logs to CSV.
scripts/peristaltic_gap_demo.py
    Generate purely geometric, non-CFD traveling-occlusion profiles as CSV.
scripts/prepare_cases.py
    Prepare independent OpenFOAM-14 movingCone teaching cases safely.
scripts/run_case.sh
    Execute a prepared OpenFOAM movingCone case, refusing any re-run.

SHA-256
------------------------------------------------------------------------
c1f321a6f022b9ccd2c0981e9a5850fad27b2720f5dd9d2f852a85221f109bd1  examples/experiment_manifest.csv
8b21cad5f0be7f5f779ab9b28e6f25a4507e309bbc7a11509bf1f40726b4789e  examples/measurement_sheet.csv
cb509974853c34f5f3a7d21735527fff8d9706815edd75c173eeeec3ef501b17  examples/opposed_demo.csv
00feb181afead99cc9fafee66384aedc35e570c09ce300d5f9a00c3148997c48  examples/synthetic_log.txt
f5737ebeefe39d3995cfe30f8763681be3850e528a1147611eb82c62a0cdb076  examples/upper_only_demo.csv
4e0e5410f7fb987147fc9c67a1fb218c9a5d40ddb3aa192dffe6d76be687a4c7  extra/compare_probes.py
f7a87e998050dd1f27bf321fedbd2c1f65b953dcee981e14e241f86743f8efc0  extra/enable_monitors.py
c4124c2965888282becca13f36a138d8a8a0cf9adbcb36f77eddd7a042893ade  extra/extract_log_metrics_plus.py
3f8068bbd8d074f2022355a7ef86bbaac5d267b02c7e5f9d758f8042aaeb092c  extra/functions_guide16
aa49e0861e1c72f86d500c5b559749f9e35571675228341545f411d1206161b9  extra/g16_estimates.py
de497253781c983e65c62552ac08cc01a1c2671110b70da8ba42bb998de446c0  extra/movingcone_schedule.py
cf4940bef60bc4d0c907fc322727e85884ac88270c89cc4505c41e95b247d571  extra/peristaltic_lubrication.py
c7c54eb11b2b2579cfa25d4362df0e74f418c78f371c2eb7d692e6708fa0c67d  extra/run_case_fixed.sh
b97a3ad6dfd61ae72b3f9ce7dc08f168c7132e58d08339b9e6f420f59093cef6  extra/volume_balance.py
218baf2fefa7a34ca93dee64839289e0cea84077b93db8fc23c245cdaec8cd4a  scripts/extract_log_metrics.py
2e9b49cf18dd4a03e42ce5827729deaefd6843190d9c81bba2e2bae7bd2caf6f  scripts/peristaltic_gap_demo.py
952a51c7b1f0eb9d38b0685a6ff693becbe0eb6988edf068f21907300e1a8ff9  scripts/prepare_cases.py
3955289bf33374264c8f13414e79ff46731d36e5440cba44d50f9be083fe6a80  scripts/run_case.sh
