# Start here - E001 learning files 1.0

Film: https://www.youtube.com/watch?v=EF1tBTFdy5g
Author: Carsten Püttbach / CFD Field Notes. Release: 6 November 2026.

## Choose your path

1. Read `PDF/E001_Companion_Workbook_EN_v0.6.pdf` for the baseline workflow.
2. Read `PDF/E001_Visual_Explanation_Notes_EN_v0.7.pdf` for the revised film's
   equation examples, moving sampling line, continuity and water similarity.
3. Open `data/eight-meshes.csv` to inspect all eight measured mesh responses.
4. Use `cases/BEGIN_HERE.md` to calculate your own fields. Start with N10/N20.
5. Consult `References_EN.md`, `data/sources.json` and the evidence JSON files
   for provenance, criteria and the limits of each comparison.

The PDF version numbers describe retained documents, not different videos.
They accompany the published film v0.7. This 1.0 bundle adds a single entry
point, clean runnable templates, the measured data and corrected Mac commands.
The command instructions below take precedence over the older workbook.

## Reproduce the baseline

Tested target: OpenCFD OpenFOAM v2606, native Mac application at the location
shown in `cases/run_on_mac.sh`. Other distributions/releases require checking.
No installation or automatic download is performed. Run from `cases/`:

    zsh run_on_mac.sh
    /usr/bin/python3 analyse_demo.py

The runner uses the Python standard library. Analysis requires NumPy. On the
production Mac, `/usr/bin/python3` has NumPy; the unqualified `python3` points
to a different environment. On your own computer, use a Python interpreter
with NumPy and check it first: `python3 -c "import numpy; print(numpy.__version__)"`.
The `/usr/bin/python3` path is Mac-specific, not a universal dependency promise.

In another configured OpenFOAM terminal: `python3 run_demo.py --meshes 10 20`,
then `python3 analyse_demo.py` with NumPy available. New timestamped folders
retain inputs, logs and fields. A failed command stops and preserves evidence.

## Experiments (inside the OpenFOAM environment)

    python3 run_demo.py --meshes 10 20 30 40 60 80 120 160
    python3 run_demo.py --meshes 80 --nu 0.004
    python3 run_demo.py --meshes 160 --dt 0.000125
    python3 run_demo.py --meshes 40 80 160 --end 3
    python3 run_demo.py --meshes 80 --nu 0.000001 --lid-speed 0.001 --dt 0.25 --end 1000

After each experiment, run the analysis command to read the most recent run.
Copy `probe-results.csv` before analysing a later run if you want to retain it;
the timestamped case results themselves remain available. An N160 or longer
run costs considerably more time. The film's long study continued retained t1
fields; the portable `--end 3` command starts from rest. These are different
run histories. The water command is a rounded constant-property similarity
example, not a temperature, phase-change or experimental water model.

## What the measurements mean

Baseline: L=0.1 m, lid U=1 m/s, nu=0.001 m2/s, Re=100, t=1 s,
t*=tU/L=10, dt=0.00025 s; N is the number of cells per side. The square has
one empty spanwise cell. The probe is horizontal velocity at (0.5L,0.75L),
interpolated at the same physical location on every mesh and normalised by U.
`x_zero_over_L` and `y_zero_over_L` locate the primary bilinear-interpolant
velocity zero. They do not identify a physical attractor or exact centre.

The eight-mesh comparison is finite-time sensitivity. A finest-grid difference
is not an exact error; numerical reference agreement is not experimental
validation. Ghia and Botella/Peyret use different metrics and conventions:
retain the transformations and qualifications in the workbook/evidence.
The water command keeps Re=100, t*=10 and 4000 steps by changing U, nu, dt and t
together; changing only nu would define a different problem. Neither this
bundle nor the film claims formal ASME conformity or a complete uncertainty estimate.

## Files, integrity and rights

`FILE_MANIFEST.json` records included file hashes. `verify_download.py` checks
them without third-party dependencies. It does not perform a CFD validation.
The download excludes old run directories, private account data, the OpenFOAM
application, TTS weights and third-party paper PDFs. Upstream OpenFOAM notices
are retained; its supplied licence text is in `OpenFOAM_LICENSE.md`. See
`RIGHTS_AND_CREDITS.md` for the scope of the original and project material.
