ADR 0015: Ready for non-local models without building them
- Status: Accepted (2026-11-10)
- Date: 2026-11-10
- Deciders: Vincent Mader
- Related: vision section 2 (non-goals); ADR 0004; grill decision Q19
Context
The paper studies a local model at one radius (r₀ = 10 au). Radial transport and a global disk model are the most likely follow-up projects. The most expensive refactor in codes of this kind is physics that reads global disk state directly, so that adding a spatial dimension touches every layer.
Decision
- The solver state is organized as cells × particle grid. Today the number of cells is one.
coag-diskevaluates the disk model at a cell position and returns a plainLocalConditionsvalue (T, ρ_g, c_s, H_p, Ω_K, α, ν, pressure gradient, u_g, u_n, …). Everything below it (kinematics, rates, recipes, estimators, integrators) receivesLocalConditionsand never calls the disk model.Rhsimplementations and the run loop operate on a list of cells, so a transport operator can be added later, either by operator splitting or as additional terms in a coupled Jacobian.- The cell position (radius, height) is a config key from the start.
- No transport, advection, or diffusion code is written for the paper.
Alternatives considered
- Build a 1D radial model now: multiplies cost by N_r and adds a second research question to a paper that already has several.
- Ignore non-locality: fastest now, but locks physics to a single global point and forces a broad refactor later.
Consequences
- Small overhead (one extra loop level, one plain-data struct).
- Recipes and rate matrices are built per cell; for one cell this is identical to the local model.
- A later transport milestone needs a new ADR on splitting vs coupled integration.