OpenFOAM 14 — Guida 15: Macchine rotanti, MRF e ventole
OpenFOAM 14 — Guide 15: Rotating machinery, MRF and fans
========================================================================

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 registrare coppia, potenza e portate eseguire, su una copia nuova e PRIMA dello script di lancio,
  python3 extra/add_monitors.py "$HOME/OpenFOAM/guide15_MRF/mrf_0060rpm" --rho 1000
  python3 extra/add_monitors.py "$HOME/OpenFOAM/guide15_fan_ref"
Per il grafico usare extra/plot_fan_curve_fixed.py (stesso uso di scripts/plot_fan_curve.py, senza intersezioni duplicate).
TJunctionFan è transitorio con rampa di pressione fino a t = 1 s: misurare dopo la rampa (extra/fan_balance.py).

IMPORTANT: to record torque, power and flow rates run, on a new copy and BEFORE the run script,
  python3 extra/add_monitors.py "$HOME/OpenFOAM/guide15_MRF/mrf_0060rpm" --rho 1000
  python3 extra/add_monitors.py "$HOME/OpenFOAM/guide15_fan_ref"
For the plot use extra/plot_fan_curve_fixed.py (same usage as scripts/plot_fan_curve.py, without duplicate intersections).
TJunctionFan is transient with a pressure ramp up to t = 1 s: measure after the ramp (extra/fan_balance.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
------------------------------------------------------------------------
extra/add_monitors.py
    Add Guide 15 monitoring function objects to a NEW, not yet run, case copy.
extra/fan_balance.py
    Flow balance and flow split of the TJunctionFan case (OpenFOAM 14).
extra/functions_guide15_fan_example
    example TJunctionFan system/functions after add_monitors.py (tutorial probes + Guide 15 monitors)
extra/functions_guide15_mrf_example
    example system/functions generated by add_monitors.py for an MRF case (rhoInf 1000)
extra/g15_estimates.py
    Order-of-magnitude checks for the two Guide 15 tutorials (OpenFOAM 14).
extra/mrf_scaling.py
    Similarity check of the MRF campaign from ParaView Plot Over Line exports.
extra/mrf_torque.py
    Torque, power and torque balance of an MRF mixer from OpenFOAM 14 forces files.
extra/operating_point.py
    Fan operating point with a quadratic system curve and affinity scaling.
extra/plot_fan_curve_fixed.py
    corrected scripts/plot_fan_curve.py: same usage and output, each intersection reported once
resources/fan_system_demo.png
    plot produced by plot_fan_curve.py on the SYNTHETIC CSV (not CFD results)
resources/fan_system_synthetic.csv
    SYNTHETIC / illustrative data, not CFD results (7 lines)
resources/measurements_template.csv
    CSV data or template (1 lines)
scripts/plot_fan_curve.py
    Plot fan/system pressure curves from CSV and find bracketed intersections.
scripts/prepare_fan_case.py
    Safely clone the unmodified OpenFOAM Foundation 14 TJunctionFan tutorial.
scripts/prepare_mrf_cases.py
    Create non-overwriting OpenFOAM 14 MRF training cases from the installed tutorial.
scripts/run_fan_case.sh
    Run one copy of the Foundation 14 TJunctionFan case without destructive cleanup.
scripts/run_mrf_case.sh
    Run one prepared MRF case. Existing results and logs are never overwritten.

SHA-256
------------------------------------------------------------------------
68083300230b97801c54918faa5035a50d9af5f34b4fc04eb9288a88248737f9  extra/add_monitors.py
9ea82b342d36d32d297ba838f8e899175e38032d5a224dd76209e54499cd2016  extra/fan_balance.py
bf8fbb6cf2fd35d46d53fd94d5a3eaddacf2eaf4f0995ce8c9ca5cfd1446f2be  extra/functions_guide15_fan_example
e582fe7d2dde9c6ba4d6809dc92f7f84863a1e2de9e9664b97817338e2c17c03  extra/functions_guide15_mrf_example
027c154e8017c4b74fc1989557c34efbbf2e5ecb3db7467521b477d5d5b4813a  extra/g15_estimates.py
9136936d58fc7fe881c480e27b8377b14ce632faf2ed54a6b32e05a0d9e0a1b4  extra/mrf_scaling.py
fc9a8597741bdd95fbf1f2f56caad1f4cc542cc504503b883ae0aaf38ae3c5e8  extra/mrf_torque.py
6e940ecd9c100b83eecb4b8019799e97cd15b7bc35d0274e350fddcb9a260c31  extra/operating_point.py
b21df6a69619cdf4fa2090ca127ba383e09319ab48c7db2f2f05598aa8113224  extra/plot_fan_curve_fixed.py
5de2f58b9cfaf3f1d8c06940b8483f3c259810cc4cfb781e66a8d7a87596d129  resources/fan_system_demo.png
fb2af0e2ff63d5f265bd4c7903952479a0f0d5218bddc22ae8d1551e8208ca18  resources/fan_system_synthetic.csv
0bc37052607d12ee72c6d1bf1e8b5b6c7dd19b9b6b70e00e697b16108301c624  resources/measurements_template.csv
c7026ca1e856a9b1379b55d5acdb0c68f3a24d19856f4232dddbc4ab6975059f  scripts/plot_fan_curve.py
a843cbf85a2cb1c13439930159d607eac11df3c36601fdd8422a44c187742bd2  scripts/prepare_fan_case.py
8fd46f44e35a7b4c2c17744062c04b871309aedf17818b1383116366f2790182  scripts/prepare_mrf_cases.py
24ee489787d096f393b6a38fb1b9190e20850d72ea8c52812d70d8205fb5621c  scripts/run_fan_case.sh
7e454487a52f10cfcf81b68f530bd69f97648f189e98ee2e26047b6edcd90a3a  scripts/run_mrf_case.sh
