Component index — model · theory · example · tutorial¶
This is the single cross-reference for every component aeolus1d models. Each row links the four things you usually want together but that otherwise live on separate pages:
- Model used — the physics/numerics, named, with the key reference. Full citations are in the linked theory section.
- Theory — the equations, in Theory.
- Prose / fields — the narrative closure write-up in
Closures, and the field-level dispatch table in
Closures — reference (lists the exact TOML
keys each
kindconsumes). - Example — a self-contained runnable
examples/*.toml(run withaeolus1d run examples/<file>); plot scripts mirror each by index inexamples/plots/. - Tutorial — a guided walkthrough, where one exists.
If you are new, read the Tutorials first — they walk the pipeline end-to-end. This page is the lookup you come back to when you need "where is component X documented, and what's a working case I can copy?".
How the columns map to the solver pipeline
The sections below follow the order data flows through a run: initial/geometry → spatial scheme → EOS → source closures → species & reactions → boundary conditions → network coupling → engine components → controllers → vehicle system → learned seams. The same order the runtime uses in Runtime data flow.
1. Initial conditions & geometry¶
| Component (kind) | Model used | Theory | Example |
|---|---|---|---|
Initial field — uniform / riemann / regional / mode |
Direct primitive-state init; Riemann = left/right discontinuity at x0 |
§1.1 Quasi-1D Euler | 01_single_pipe_sod.toml |
Area profile — parabolic / tanh_step / tabulated |
Quasi-1D area-source term A(x) |
§2.1 Finite-volume discretisation | 02_cd_nozzle.toml |
→ Tutorial: Sod shock tube.
2. Spatial scheme & flux (core numerics)¶
| Component | Model used | Theory | Example |
|---|---|---|---|
| Reconstruction — 1st-order / MUSCL / MP5 | MUSCL-Hancock slope-limited; MP5 (Suresh-Huynh) 5th-order | §2.2 Spatial reconstruction | 23_mp5_sod.toml |
| Riemann flux — HLLC / HLLC-LM | HLLC (Toro); HLLC-LM low-Mach fix (Thornber) | §2.3 Riemann solver | 24_hllc_lm_pulse.toml |
| Time integration — SSP-RK / implicit-Euler / BDF2 / Radau | Explicit SSP-RK2/3; implicit block-Thomas Newton with Phase I-Y Picard outer loop (adaptive_picard) |
§2.4 Time integration, Numerics, Implicit-solver reference | 40_implicit_adaptive_pipe.toml, 54_adaptive_picard_turbo.toml, 57_picard_stiffness_step.toml |
3. Equation of state¶
| Component (kind) | Model used | Theory & prose | Example |
|---|---|---|---|
EOS — ideal |
Ideal gas p = ρRT |
§1.2 EOS · Closures: Gas EOS | most examples |
EOS — redlich_kwong / peng_robinson |
Cubic real-gas with closed-form analytic Jacobians | §1.2 EOS · Closures: real-gas Jacobians | 09_real_gas_shock_tube.toml, 17_real_gas_nozzle.toml, 18_real_gas_catalyst.toml, 19_real_gas_plenum.toml |
EOS — tabulated |
CoolProp-tabulated (T, ρ)→(p, e, ∂p/∂T, ∂p/∂ρ) panel, built at build_network time |
§1.2 EOS | 58_tabulated_eos_implicit.toml |
Notes: EOS is per-pipe — [pipe.eos] R_gas overrides [gas] R_gas so
each pipe can carry a different working fluid. Real-gas/tabulated sound speed
uses the local cv_real = ∂e/∂T|_ρ (ideal cv plus the departure term), not
the scalar reference cv.
4. Source-term closures¶
| Family (kinds) | Model used | Theory · prose · fields | Example |
|---|---|---|---|
Friction — darcy_const / colebrook / minor_loss |
Darcy-Weisbach; Colebrook-White ε/D; bend & minor-loss K | §3.1 Friction · prose · fields | 77_pipe_flow_heat.toml, 78_pipe_bend_loss.toml, 79_orifice_plate.toml, 81_bend_geometric.toml |
Wall heat — constant_twall / egr_cooler / charge_air_cooler / flow_nu |
Fixed-h; ε-NTU heat-exchanger; Nusselt-correlation convective |
§3.2 Wall heat transfer · prose · fields | 44_egr_cooler.toml, 75_coolant_pipe.toml, 80_pipe_wall_warmup.toml, 82_multilayer_wall.toml |
Porous — darcy_forchheimer / _kc |
Darcy-Forchheimer (α/β or K/C_F) + Sutherland μ | §3.3 Porous media · prose · fields | 05_catalyst_plug.toml (substrate) |
Catalyst — two_phase_heat / _var_nu / mechanism |
Two-phase solid/gas energy, h·a_v·(T_s−T_g), var-Nusselt |
§3.4 Two-phase catalyst · fields | 05_catalyst_plug.toml, 07_catalyst_thermal_front.toml, 18_real_gas_catalyst.toml |
Particulate filter — diesel_particulate_filter |
Cake Δp (Konstandopoulos), soot load, NO₂/active regen | Closures: Aftertreatment · fields | 41_dpf_regen.toml, 49_dpf_no_inhibition.toml, 50_dpf_active_regen.toml, 55_dpf_regen_hrr.toml, 56_dpf_regen_lowmach.toml, 84_dpf_substrate_inertia.toml |
DPF solid thermal mass — [pipe.filter.thermal] |
Per-cell cake T_cake, substrate-wall thermal inertia, canning loss to ambient |
fields | 84_dpf_substrate_inertia.toml, 55_dpf_regen_hrr.toml |
Catalysed soot filter — [pipe.filter.csf] |
Arrhenius CO + C₃H₆ oxidation on the washcoat, with mass-transfer-limited rate caps | fields | 41_dpf_regen.toml (passive by default) |
Coolant coupling — [[coolant_coupling]] |
Cell-aligned gas-pipe ↔ coolant-pipe exchange through a dynamic wall | fields | 75_coolant_pipe.toml, 44_egr_cooler.toml |
→ Tutorial: Aftertreatment chain. ADRs: ADR-0005 catalyst energy coupling.
5. Species transport & reactions¶
Operator-split (Strang) chemistry — see §7 Strang-split chemistry,
§3.5 Species transport, and
ADR-0001 operator-split stiff chemistry.
Field-level table: Closures — reference: family reaction.
| Reaction kind | Model used | Example |
|---|---|---|
arrhenius_scr_demo / _multi_demo |
Single/multi-species Arrhenius demo | 08_reactive_pipe.toml, 21_multi_species_kinetics.toml |
nh3_ads_des |
NH₃ adsorption/desorption storage (Temkin α_des) | 42_scr_urea_injector.toml |
nh3_scr_kinetics |
Standard + fast SCR + NH₃ oxidation kinetics | 42_scr_urea_injector.toml, 45_two_stage_scr.toml, 38_engine_turbo_scr.toml |
nh3_slip_catalyst |
Ammonia-slip catalyst (SCR + selective ox) | 43_scrf.toml |
hc_oxidation / doc_oxidation / doc_oxidation_voltz |
HC/CO oxidation; Voltz self-inhibition kinetics | 46_doc.toml |
doc_oxidation_S |
DOC + sulfur poisoning coverage θ_S | 61_doc_sulfur_poisoning.toml |
twc / twc_brinkmeier |
Three-way catalyst; Brinkmeier O₂-storage (OSC) | 74_twc.toml (OSC demo + plot); avl_cruise_m/c02012_gasoline.toml (twc); validation/heliyon_twc_co_oxidation/case_co2_production_300C.toml (twc_brinkmeier) |
hnco_hydrolysis |
HNCO → NH₃ urea-decomposition branch | 48_hnco_hydrolysis.toml |
mechanism |
Spec-driven mass-action mechanism (mechanism_file, TOML/YAML) compiled to py_reaction_multi |
35_mechanism_pipe.toml, examples/mechanisms/ |
| Multi-species transport | Y + Y_extras canonical layout |
20_multi_species.toml |
| Per-cell variable γ | γ(T, Y) built from species NASA-7 thermo → variable-γ HLLC (Karni); [pipe.species] per_cell_gamma (default off), gamma_T_from_energy (default on — energy-consistent T recovery, γ-contact pressure-preserving), caloric_thermo (default on since 2026-08-06 — inverts the true e = ∫c_v dT instead of the calorically-perfect e = c_v(T)·T, worth −105 K at 1000 K; inert unless per_cell_gamma is set) |
87_multicomponent_variable_gamma_shock_tube.toml |
Integrators: §7 — LSODA (15_strang_chemistry.toml)
vs. @njit Bader-Deuflhard BS (16_bs_chemistry.toml).
ADR-0003 canonical extras layout,
ADR-0004 implicit-upwind QS species,
ADR-0009 inflow-ghost species conservation.
→ Recipes: Aftertreatment chain,
Train an ML chemistry surrogate.
→ Authoring a custom mechanism or adding a species:
Chemistry file formats.
→ Thermo data for a species the seed DB lacks: aeolus1d thermo-db fetch
pulls Burcat's ~3700-species NASA-7 database to a user-local cache (not
bundled — it is non-commercial-use only, and aeolus1d is MIT). See
Chemistry file formats — Burcat's database
and CLI — aeolus1d thermo-db.
6. Boundary conditions¶
Theory: §4 Boundary conditions. Fields: Closures — reference: BC.
| BC kind | Model used | Theory | Example |
|---|---|---|---|
wall / transmissive |
Reflecting wall / zero-gradient outflow | §4.1 | 01_single_pipe_sod.toml |
stagnation_inlet / pressure_outlet |
Isentropic stagnation in; static-p out | §4.2, §4.3 | 02_cd_nozzle.toml |
nonreflecting |
LODI / Poinsot-Lele characteristic | §4.4 | 22_lodi_port.toml |
transient_* (stagnation / pressure / mass-flow / velocity) |
Time-tabulated BC schedules, incl. species | §4.5, §4.8 | 04_pulsed_intake.toml |
valve_inlet / valve_orifice |
Cam-lift inlet; Winterbone-Pearson orifice flow | §4.6 | 25_valve_inlet.toml, 26_valve_orifice.toml |
mass_flow_inlet / velocity_inlet |
Prescribed ṁ or u with T0 |
§4.7 | — |
egr_valve / throttle |
Orifice valve with supply-gas composition | §4.6 | 72_throttle_demo.toml, 62_egr_valve_ctrl.toml |
7. Network coupling (junctions)¶
Theory: §5 Network coupling. Picard outer loop: Implicit network — Picard.
| Junction kind | Model used | Theory | Example |
|---|---|---|---|
plenum |
0-D mass + energy ODE volume | §5.1 | 03_two_pipes_junction.toml, 11_neck_pipe_junction.toml |
corberan |
Corberán CP+h pressure-loss junction | §5.2 | 12_cp_junction.toml, 10_cp_junction_kloss.toml |
ehr |
Extended Helmholtz Resonator (per-port u_n ODE) | §5.3 | 13_ehr_helmholtz.toml |
passthrough / biased_plenum |
Inline pass; biased AdBlue distributor plenum | §5.1 | 42_scr_urea_injector.toml |
| Quasi-2D plenum | Spatially-resolved Helmholtz volume | §5.4 | 06_helmholtz_quasi2d.toml |
→ Tutorial: Networks and junctions.
8. Engine components¶
Theory: §6 Engine components.
| Component | Model used | Theory | Example |
|---|---|---|---|
| Reciprocating cylinder | Slider-crank volume; compressible-orifice valve coupling; well-mixed charge composition + complete-combustion products | §6.1, ADR-0008, field reference | 31_cylinder.toml, 50_two_cyl_engine.toml, 91_cylinder_species_transport.toml |
| Wiebe combustion | Single/multi-Wiebe heat-release; knock retard | §6.2 | 52_knock_event.toml |
| Compressor / turbine | Quasi-steady map-driven; shared-shaft turbo | §6.3 · surge/choke | 27_compressor.toml, 28_turbo_shaft.toml, 83_turbo_robustness.toml |
| VGT / sequential turbo | 3-D vane-axis map; twin-sequential; wastegate | §6.3 | 55_vgt_3d_turbo.toml, 59_wastegate_boost_ctrl.toml, 60_twin_sequential_turbo.toml |
| Variable valve timing | Cam-phase shift (Phase E5) | §6.4 | (engine cases) |
| Full engine chain | Cylinders → turbo → aftertreatment → tailpipe | §6 | 39_4cyl_engine_turbo_scr.toml, 71_ktm_510_si.toml |
→ Tutorial: Engine end-to-end · Post-processing.
9. Closed-loop controllers¶
Prose: Closures: Closed-loop controllers.
| Controller | Model used | Example & recipe |
|---|---|---|
| Throttle PI | Manifold-pressure feedback | 72_throttle_demo.toml → recipe |
| EGR + O₂ feedback | EGR-valve closed loop on O₂ | 62_egr_valve_ctrl.toml → recipe |
| VGT / wastegate boost | Boost-pressure PI | 51_vgt_boost_ctrl.toml, 59_wastegate_boost_ctrl.toml |
| Spark / knock retard | Spark-timing & knock controllers | 63_spark_timing_ctrl.toml, 52_knock_event.toml |
| DPF heater | Active-regen PI on cake temperature | 53_dpf_heater_ctrl.toml |
10. Vehicle system / drive cycles¶
| Component | Model used | Doc | Example |
|---|---|---|---|
| Drive cycle | Vehicle longitudinal dynamics, gear/road load | Vehicle system | 85_vehicle_drive_cycle.toml, 76_wltp_lite_dpf.toml |
| Electrified drive cycle | Parallel-hybrid engine/e-motor torque split, coulomb-counted battery SoC | Vehicle system | 86_electrified_drive_cycle.toml |
Vehicle drive-cycle cases run with aeolus1d drive-cycle <file> --out trace.csv
(the self-contained cycle path), not aeolus1d run.
11. Learned / ML seams¶
Pattern: Closures: ML substitution pattern.
| Seam (kind) | Model used | Example & recipe |
|---|---|---|
Junction BC — learned_npz |
NN port-state surrogate | 14_py_junction_bc.toml, 29_learned_junction_bc.toml |
Turbo map — learned_npz |
NN compressor/turbine map | 30_learned_turbo_map.toml |
| Surface-chemistry surrogate | NN reaction-rate surrogate | → recipe |
Not on this page¶
A few subsystems are documented but aren't per-component rows:
- Inverse problems /
[optimize]— fitting model parameters to data: §9 Inverse problems,examples/optimize/. - Acoustic mode analysis — Helmholtz + FEM eigensolver + state-space linearization: §8 Acoustic mode analysis, Mode analysis.
- Run / case settings — every
[case]/ CaseHeader field: Run settings. - Import from AVL Cruise M / GT-Suite — Interop,
examples/avl_cruise_m/. - Validation suites — paired with published/proprietary data:
Validation dossier,
examples/validation/. - Driving from Python — the
load_case→build_network→run_case/dispatch_advancecall surface, thePipestate you read in a sampler, and the closure registry: API reference.