-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Related to one of the suggestions noted in #60 (area of control points for TargetHeadWellString), here are some thoughts.
A potentially user-friendly approach is to let users define a set of control points inside their excavation / building pit footprint. This could reduce some of the current trial-and-error that might be involved with picking points and target heads.
There are (at least) two reasonable formulations:
1) Least-squares head objective (equality / soft targets)
Use a weighted least-squares objective that tries to match a target head z at the control points:
In confined linear AEM, head is linear in discharge, so this reduces to a single linear system. This objective is symmetric: it penalizes both “too wet” and “too dry”. That may actually be desirable, since “too dry” typically implies over-pumping. (As with the current target-head elements, without explicitly enforcing q >= 0 the solution could in principle include injection.)
2) Dryness constraints (inequality / “keep the pit dry”)
More directly, enforce “dryness” at each control point as an inequality:
This is naturally a convex quadratic programming exercise once we add an objective to pick a unique solution, e.g. a smooth “least pumping” objective:
Because constraints become active/inactive depending on whether a control point is still wet, this can't be solved with a single linear solve, so an active-set / KKT approach is appropriate.
Fortunately, I think this can be implemented efficiently because if the expensive part is evaluating influence functions, not the dense linear solve:
- Precompute/cache head influence rows at the control points (and known-head contributions).
- Solve the KKT system for the current active set (dense solve; active set is typically small).
- Evaluate heads at control points (dot products using cached rows), update active set, repeat.
A good warm-start is to first do the least-squares solve so the discharges are already near the “just dry enough” regime before enforcing the inequalities.
(The inequality formulation guarantees feasibility (“dry everywhere at the chosen points”), while least-squares provides a simple one-shot approximation that may leave small wet spots unless weights/targets are adjusted.)