← Back to Delta-V

TECHNICAL NOTE · 11 SEPTEMBER 2026 · PROTOTYPE 3

What the current prototype tests

Delta-V is a system for learned engineering surrogates built one physical-domain lane at a time; fluid dynamics is lane 1 and the only lane served today. Within that lane it compares one neural next-step prediction with the recorded next snapshot, and offers a separate table-based estimator of overall fluid outcomes. The six original examples show training-data behavior. Three additional official-test clips (rollout-test- IDs) provide f0–f10 references for autoregressive playback. A separate six-window official-test check is reported below; broad generalization and a learned-adapter advantage are not established.

Model and artifacts

The served model is checkpoints/domain_fluid.pt, epoch 59, in artifact revision 7bf3f989dcfab6d0f43ea482ab8f26ddbdec3752. The checkpoint was trained across turbulent radiative layer 2D, Rayleigh–Bénard convection and shear flow, with turbulent radiative layer as the primary set and the other two as joint co-training sets. Training used bounded slices of The Well at prototype budget, not the full trajectory sets; this training scale, rather than the architecture, is the main limit on current accuracy and rollout horizon. The FNO uses 32 × 32 spectral modes and 128 hidden channels. The live epoch is shown on the Model page. Runtime artifact downloads are pinned to the linked revision, so the served weights cannot change under the deployment without a code change.

Inputs, outputs and preprocessing

Four consecutive snapshots are mapped to density/buoyancy/tracer (the shared scalar channel), pressure, horizontal velocity and vertical velocity. Per-system means and standard deviations normalize each channel as (x − mean)/(std + 10⁻⁶). Bilinear resampling with align_corners=False produces 256 × 256 fields. The model receives [batch,16,256,256] and produces [batch,4,256,256]. Outputs are denormalized using the same statistics.

These are fixed data mappings, not learned adapters. Native grids are 128 × 384 for radiative cooling, 512 × 128 for convection and 256 × 512 for shear flow. Displays preserve each physical domain’s aspect ratio and use simulation code units.

Measured quantities

All scores use floating-point fields before quantization and a reference resampled to the model grid. The self-imposed v1 policy is strictly relative L2 <15% for scalar and pressure; velocities have no quantitative target. SSIM is an image-structure measure and does not establish physical conservation. See the 24-row measured results table and machine-readable scores.

Data provenance and time

Six bundled windows, two per served system, contain four input snapshots and one next-step reference. They come from training slices. samples/index.json records window IDs, dial values, start indices, times and shapes. These bundled files lack complete original trajectory identifiers and are not used as the new test set. Moving a time control shows recorded snapshots; it is not a model rollout. Moving parameter sliders estimates aggregate outcomes from tables and does not change the field’s initial condition.

Transport, caching and timing

Predictions are computed once during startup and cached. The display endpoints send lossless grayscale PNG atlases of the same quantized 8-bit values previously transported in NumPy arrays; the browser reconstructs the channel arrays before applying the established color maps. Full-precision quality scores accompany the images. Binary /samples/{id} and /samples/{id}/predict remain available. POST /predict/field returns floating-point predictions for correctly formatted inputs.

The Settings page separates server startup, browser readiness, first comparison including sample load, and repeat cache retrieval. Original model computation is labeled separately. Timing varies by network and hardware; a 200 ms network response is not guaranteed.

Held-out evaluation and fourth-system protocol

Notebook audit: the supplied training export reads only official data/train/ files. Its joint-model validation uses a seeded random split of sliding windows, so neighboring windows from one trajectory can appear in both sets. Normalization is estimated before that split. The old validation loss is not trajectory-held-out. New tooling assigns whole trajectories before training and rejects overlap and validation/test data in normalization.

Small official-test check: six predeclared windows, two source files per system, from pinned official data/test/ paths outside that notebook's train-only input. Each uses trajectory 0, four input snapshots and the fifth as reference. The selected starts are 40 (radiative), 100 (convection), and 60 (shear). No training or tuning used these results. The checkpoint-to-notebook lineage is owner-supplied, not cryptographically established. This limited check does not replace a new fixed train/validation/test training run. All scores, source revisions, identifiers and hashes are published, including failed targets. See About for the readable table and the audit and evaluation scripts.

The evaluation tooling groups all windows from the same source trajectory, rejects overlap between train/validation/test, verifies local file hashes, and requires explicit checkpoint-exposure records before accepting held-out evaluation. Hold the test set fixed, select checkpoints using validation only, and report all four channels by trajectory and system. Test results must not guide tuning.

The fourth research system is euler_multi_quadrants_openBC. Its source includes density, energy, pressure and momentum components; the fixed preprocessing derives velocities from momentum/density. Compare scratch training, full fine-tuning and a frozen backbone with learned 1 × 1 input/output projections. Use nested training fractions 1%, 5%, 10%, 25%, 50%, 100%, identical splits and validation budgets, and report trainable parameters, wall time and per-channel errors. The supplied notebook excludes Euler from joint training, but includes a scratch-versus-full-fine-tuning experiment on fresh models. The owner subsequently supplied the converged 30-epoch two-arm result: losses 0.0089 versus 0.0107, with a reported 16.3% lower error for the pretrained start. These training measurements are not live API results. Only one gamma value was represented instead of four intended, due to a selection bug. No fine-tuned checkpoints were saved. See the Generalization probe for provenance and limitations. The new learned-adapter arm has 292 trainable real parameters; the three-arm runner is implemented but has not been run. Target normalization is fitted only on each training fraction, identically for all arms. Complete exposure records remain required for that experiment.

Reproduction

Clone the code repository, install its requirements plus CPU PyTorch, and start:

uvicorn main:app --host 127.0.0.1 --port 7860
python -m pytest -q tests
node --test tests/frontend.test.cjs
python research/evaluate.py --help
python research/experiment.py --help

Runtime downloads are restricted to checkpoints and statistics. Never download the 92 GB slices/ directory. Research tools use explicitly prepared local windows and require a provenance manifest. The separate research/source_probe.py reproduces the small test check using exact 256 KB HTTP ranges with a 96 MB limit per official source file; it refuses full-file responses and never accesses slices/.

Anonymous usage counts

Event tracking stores only aggregate counts of fixed event names, with no user/session identifiers or arrays; it respects browser privacy signals and the Settings opt-out. Counts are public, can include automated traffic, and reset on restart. They cannot measure unique users or a person-level funnel. The host may independently retain access logs.