Commit Graph
1 Commits
Author SHA1 Message Date
hnil e48ea4a225 Linear solver for the full (reservoir, well) system
Introduce a prototype for solving the reservoir and well degrees of freedom
as a single coupled linear system. This complements the existing approach of
handling wells separately through Schur complement elimination.

Key design choices:
- The linear solve operates on the full coupled system (reservoir + well DOFs)
  to simplify the solver architecture and reduce special-case well handling
- The underlying solver uses standard sparse matrices with no well-aware
  operators, improving modularity and reducing code complexity
- The included preconditioner is configurable to reproduce standard CPR behavior,
  providing a baseline for validation before further performance tuning
- An approximate well-block solve is supported for potential performance gains

Important changes:
- Add linear solver implementation with coupled system support
- Configure preconditioner to match existing CPR behavior for correctness
- Remove need for separate well-block elimination in the linear solve path
- Update solver selection to allow --linear-solver=system_cpr option

This implementation serves as a prototype to validate the coupled system
approach before further optimization and benchmarking.
2026-06-25 15:39:02 +02:00