Every model here says
how far to trust it.
Physics simulations built from first principles, then held against references they didn't come from — an exact solution, a published law, a real measurement. Where a model doesn't hold, that's named on the page, not in a footnote.
The work.
Each release is a simulation validated to a number against an independent reference, then shipped as an instrument you can run in your browser. The canvas above is live GPU physics, not a recording.
$ ay4la releases --count
2 shipped · all live · 1 in the kitchen
- 01
Brasa
synthetic wildfire thermal imagerySynthetic longwave-IR imagery of wildfire scenes — fires burning on real 1 m airborne-lidar ground, scene radiance modeled from first principles, then run through a physical sensor model. Training and test data for thermal fire detectors, built for the night, smoke and low-light conditions where real footage runs out.
12 / 12each check holds our simulated physics against a real-world measurement or a known physical law — 9 scored against real data or a reference code you can re-run, 3 against an analytic law. the weakest (background litter texture, 1.54× rougher than real forest floor) is named on the release page, not buried. - 02
Frostline
phase change · sublimation · ISRUA phase-change heat-transfer engine for off-world resource work — sublimating ice fronts moving through regolith under a concentrated beam. Every moving boundary is gated against Neumann's exact Stefan solution and the 1-D thermal lane against Diviner with no tuning, so what you get is validated physics rather than a plausible-looking animation.
4e-4the moving front against Neumann's exact Stefan solution — the analytic answer, matched. The weakest gate is on the other lane: lunar noon 390 K is a Stefan–Boltzmann check rather than a thermal one, and pre-dawn 98 K is the real test and is not yet grid-converged. Both are named on the release page.
A multiphysics engine coupling reaction kinetics with heat transfer — matter that changes state and composition as energy moves through it. Taking shape now; it will ship the way Brasa did, with a browser instrument and a number it's validated against.
- radiative transfer
- Planck radiometry
- IR sensor model
- conjugate heat transfer
- Stefan / phase change
- reaction kinetics
- GPU compute · WGSL
- reference-validated
How the lab
works.
Three habits, applied to every project here — the released and the unreleased alike:
Validated, not asserted.
Every simulation here is checked against an independent reference — measured data, published laws, exact analytic solutions — before it ships, and the comparison goes with the work. Not "physics-based" as an adjective: validated to a number you can take into a design review.
First principles. No black box.
I model the governing physics from first principles — no licensed engine I can't open, no generative layer inventing behaviour the equations never produced. Every stage is named and individually validated; every assumption is inspectable, down to the constants and where they were taken from. You can audit what you're relying on.
Threshold first. Errata in public.
The number that would falsify a result is written down before the run, not chosen after it comes back. Every project carries a limitations register — the inferred parameters, the open discrepancies, the places the model is still wrong. And when something here turns out to be wrong it gets corrected on the page instead of quietly replaced: the Frostline yield was measured against the wrong ceiling, and the retraction still sits next to the corrected number.
Commissions.
The releases are free. If you want the lab pointed at your problem, I take on a small number of commissions when the physics is interesting. Most begin as one fixed-scope piece — you keep the tool, the code, and the validation report. Need something larger, or ongoing? That's a conversation I'm open to. Start by telling me the problem.
$ ay4la commissions --status
status: open
pricing: scoped to the brief
brief: elroy@ay4la.com
A validated simulation of your system
You have a physical system you can't measure directly — too small, too hot, too fast, too costly, or it doesn't exist yet. I model it from first principles, then hold it against references it didn't come from until it either holds or visibly doesn't. The two releases on this page are wildfire radiometry and sublimating ice: unrelated physics, identical discipline.
- Systems too small, hot, fast or costly to instrument
- Synthetic data that needs known ground truth
- Designs that don't physically exist yet
- Work that has to survive a design review
- The engine, the source, and the run configuration
- A browser instrument for it, where that helps
- Every stage named and separately validated
- A limitations register — what's still open, in writing
- Held against an exact solution, a published law, or a real measurement
- The pass threshold written down before the run
- Failures reported at the same volume as passes
Validation for a model you already have
The model runs. The open question is whether anyone should believe it. I build the reference ladder — an exact solution where one exists, published law where it doesn't, your own measurements where you have them — run the model against every rung, and write down where it holds and where it comes apart. The verdict comes back either way; that's the point of asking.
- Models heading into a design review or a regulatory file
- Simulations inherited from whoever left
- Anyone handed "physics-based" and no number
- Results that look right and were never checked
- A rung-by-rung verdict — passes and failures both
- Every inferred parameter and open discrepancy logged
- The harness, so you can re-run it without me
- ASME V&V 40 structure when it's headed for a file
Not a clean fit? Say what you're after anyway — bigger builds and ongoing work are on the table.
Let's build something.
A commission, a model that needs validating, a question about one of the releases, or just a physics problem worth talking about — write directly. You'll reach the person who does the physics.