You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generalise the curvature-adaptive trait grid from structured-observables into a reusable, axis-agnostic grid refinement engine.
Origin
The structured-observables computational companion notebook implements generate_adaptive_theta_from_curvature() — a function that:
Evaluates curvature κ = |η''w + 2η'w' + ηw''| on a dense reference grid
Builds a cumulative weight function from κ
Distributes N points uniformly in weight-space → non-uniform in θ-space
This concentrates resolution where the solution has structure and saves points where it's smooth. Currently hardcoded for a single trait axis (θ) with specific functions (η, w).
Generalisation
The same idea applies to every axis in an operator-partitioned system:
Spatial axes (depth z in TRIDENT, with curvature from thermocline/nutricline)
Age/stage axes (in epidemiological or demographic models)
Tasks
Define an AdaptiveGrid type parameterised by axis and curvature estimator
Implement curvature estimation from: (a) known analytic curvature, (b) numerical second derivatives of a reference solution, (c) user-supplied weight function
Build grid from curvature weights (the inverse-CDF / quantile approach)
Support multi-axis grids: independent adaptive refinement per axis, with tensor-product assembly
Generalise the curvature-adaptive trait grid from structured-observables into a reusable, axis-agnostic grid refinement engine.
Origin
The structured-observables computational companion notebook implements
generate_adaptive_theta_from_curvature()— a function that:This concentrates resolution where the solution has structure and saves points where it's smooth. Currently hardcoded for a single trait axis (θ) with specific functions (η, w).
Generalisation
The same idea applies to every axis in an operator-partitioned system:
Tasks
AdaptiveGridtype parameterised by axis and curvature estimatorCross-references
generate_adaptive_theta_from_curvature)Boundary
This is a solver feature — grid refinement lives in OpEngine. The declaration of which axes exist and their bounds lives in OpSystem.jl.