Tutorials¶
Six step-by-step tutorials. The first four build on each other and use the files in docs/tutorials/files/;
tutorials 5 and 6 use the files of examples 22 and 30. Every file is ready to run.
| what you learn | files | |
|---|---|---|
| 1. Your first simulation | write a system file (.ufs) and a run spec (run.json), run them with the CLI, read the results, plot them |
plate.ufs, run.json |
| 2. Diagnostics | put instruments where you would put them on the table; probes; spatial models; near/far field and apertures (sampling) |
run-diagnostics.json |
| 3. Larger systems | stretcher, amplifier, compressor and SHG; probes and overrides; the same system from Python, with a parameter scan | cpa.ufs, run-cpa.json, cpa.py |
| 4. Your own measured data | load CSV / NPZ / JSON recordings, compare them with the model, calibrate unknown parameters with error bars, predict what you did not measure | make_data.py, data/, run-measured.json, run-fit.json |
| 5. Contrast of an amplifier chain | ghosts, pedestals and a third-order cross-correlator; how a post-pulse becomes a pre-pulse; scanning a parameter with a study | ../22-contrast-chain/ |
| 6. Diffraction by an iris | Gaussian, flat-top, uniform and square beams through an iris, imaged at several distances; choosing a grid for a hard aperture; checking against the Fresnel integral; the same from Python | ../30-iris-diffraction/ |
Before you start: build the engine once (see Getting started):
dotnet build UltrafastEngine.sln -c Release
pip install -e "python[hosted,plot]" # for ultrafast-plot and the Python parts
python python/tools/build_engine.py
In these tutorials, ultrafast means the command-line tool. From a checkout without installing anything:
alias ultrafast="dotnet $PWD/src/UltrafastEngine.Cli/bin/Release/net10.0/ultrafast.dll" # macOS / Linux
On Windows, use dotnet run --project src\UltrafastEngine.Cli -c Release -- or publish the CLI (see
Getting started). Run the commands from docs/tutorials/files/.