Examples
Runnable notebooks spanning flow, combustion, acoustics, and thermoacoustics.
The examples live as notebooks under examples/ in the repository. A selection is executed at build time and shown here as full pages; the rest link out to their source (marked ↗) so you can run them yourself. Each notebook declares its own title, description, and a render flag in its metadata.nefes block, so this gallery is generated straight from the notebooks with no separate list to maintain.
Getting started
| Example | What it shows |
|---|---|
| Converging nozzle from a UI-exported case | Load a network and its boundary conditions from a UI-produced YAML file and solve the mean flow. |
| Saving and loading cases ↗ | Write a solved network back to the native YAML (case plus results) and read it in again. |
Flow
| Example | What it shows |
|---|---|
| Composite elements: one element, many atoms | A composite element presents as one element but expands at build time into a small graph of atomic elements joined by internal edges. |
| Gas-turbine secondary-air system ↗ | Solve a large showcase network loaded from YAML (gas_turbine_large.yaml). |
| Huge flow network: 1000+ elements ↗ | A stress test solving a programmatically generated network with over a thousand elements. |
| Parameter studies ↗ | The named-parameter API: the addressable inventory, validated writes, the pristine-base with_params idiom, and nefes.parameter_study sweeps. |
Combustion
| Example | What it shows |
|---|---|
| Reacting-flow fundamentals | The building blocks behind the combustor examples: fuel injection, a heat-release flame, and the frozen and equilibrium gas states. |
| Species libraries: automatic, explicit, and Cantera mechanisms | Build the same hydrogen/air flame three ways: an automatic product slate, an explicit species pool, and a Cantera-format mechanism. |
| Gas-turbine combustor (reacting mean flow) ↗ | A complete combustor as a network: compressor-discharge air, fuel injection, a flame, and dilution to the outlet. |
| Multi-fuel combustion manifold ↗ | Burn three different fuels in three parallel branches off one air supply, then remix the products into a single outlet. |
| Multiple fuels: octane primary and hydrogen reheat ↗ | Two very different fuels injected at different positions and burned in sequence. |
| Rich-quench-lean (RQL) combustor ↗ | Stage combustion rich, quench with air, then burn lean, the classic low-NOx arrangement. |
| The burnt marker: an orientation-proof reacting closure ↗ | How each edge is labelled frozen (unburnt) or equilibrium (burnt) so a reacting network stays consistent regardless of edge orientation. |
Acoustics
| Example | What it shows |
|---|---|
| Helmholtz resonator | Build a Helmholtz resonator and see how the storage block M enters the acoustic operator A(omega). |
| Acoustic refinement ↗ | When discretization matters for acoustics: a horn’s scattering matrix converges as O(1/N) with segment count. |
| Analytic continuation of tabulated transfer functions ↗ | Turn tabulated complex data known only on a real frequency grid (a flame transfer function or a boundary reflection coefficient) into an analytic model usable off the real axis. |
| Animated mode shapes ↗ | Visualize the continuous, spatially-resolved perturbation field of a network mode as an animation. |
| Compositional (indirect) noise at a choked nozzle ↗ | A composition inhomogeneity accelerated through a compact choked nozzle radiates sound, mirroring entropy-spot noise. |
| Eigenmode analysis ↗ | Linear stability: a network’s free acoustic oscillations as the roots of det A(omega)=0 by contour integration. |
| Frequency-dependent reflection ↗ | A terminal’s reflection coefficient as a constant, a frequency table, or a callable frequency-domain model. |
| Inertance and end corrections ↗ | How inertance and end corrections on the jump elements populate the storage block M of the acoustic operator. |
| Outflow boundaries and acoustic power ↗ | Compare flow-fixing outflow boundaries (choked nozzle and metered bleed) and their acoustic-power balance. |
| Perturbation boundary conditions ↗ | The PerturbationBC acoustic closure carried by every single-port terminal, and how to set it. |
Thermoacoustics
| Example | What it shows |
|---|---|
| Cavity modes and intrinsic (ITA) modes | A Rijke tube carrying both cavity resonances and intrinsic thermoacoustic modes, and three ways to tell them apart: anechoic ends, eigenvalue continuation in the flame gain, and a Nyquist stability map. |
| Self-excited Rijke tube | The fundamental thermoacoustic oscillator: a duct with a heat source that, under the right phase, self-excites an acoustic instability. |
| Entropy noise: generation at a flame, conversion at a nozzle ↗ | A fluctuating flame both radiates sound directly and sheds entropy spots that convert to sound at a downstream nozzle. |
| Equivalence-ratio instability ↗ | Fuel-supply combustion instability: a chamber fluctuation modulates fuel flow -> equivalence ratio -> unsteady heat release. |
| Identifying a flame’s dynamic response ↗ | Extract a flame transfer function inside a multi-element gas-turbine combustor by system identification. |
| Indirect-noise thermoacoustic instability ↗ | A compact flame in a duct ending in a choked nozzle goes unstable through the entropy (indirect-noise) path. |
| TUM BRS swirl burner ↗ | Benchmark against Emmert et al.: a mixed acoustic and intrinsic (ITA) spectrum rebuilt from a digitized flame response. |
| The EM2C combustor: a cross-code check against OSCILOS ↗ | Reproduces the published eigenvalue of the stable EM2C swirl combustor (OSCILOS technical report, Sec. 5.4.1) from a solved mean flow. |
Validation
| Example | What it shows |
|---|---|
| Validation: Greyvenstein and Laurie (1994) | Verify the mean-flow solver against Example 3 of Greyvenstein and Laurie (1994), a segregated CFD pipe-network benchmark. |
| Validation: entropy generator (De Domenico et al. 2019) ↗ | Validate the perturbation network for lossy nozzles against De Domenico et al. (2019). |