1. Input contract
The current release accepts two values only:
pressure_bar: rail pressure in barduration_us: injection duration in microseconds
The injector and temperature are fixed in this first version: injector 800 at 30 C.
The app uses a fixed experimental context for injector 800 at 30 C, accepts pressure and duration as the only runtime inputs, runs the bundled PDNN checkpoint, and returns the full ROI waveform with summary metrics.
The current release accepts two values only:
pressure_bar: rail pressure in barduration_us: injection duration in microsecondsThe injector and temperature are fixed in this first version: injector 800 at 30 C.
Before prediction, the backend checks:
This keeps the UI aligned with the actual checkpoint and training bundle.
time_us and roi_mg_per_msThe runtime caches the model after first load so the next request is faster.
The model uses duration as a continuous variable. Internally it works on the log of duration, which is why the runtime accepts any supported duration value inside the range instead of only a handful of grid points.
The UI derives simple metrics from the predicted waveform:
Batch CSV rows are parsed into the same pressure/duration contract and passed through the same validation path. Invalid rows are reported individually rather than stopping the whole batch.
v1 is fixed-context and pressure-duration only. The UI and handoff are intentionally structured so a later version can add geometry-aware inputs such as injector hole count, PCD, or hole pattern without changing the app shell.