Files
opm-simulators/tests/options_system_cpr_missing_ressolver.json
T
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

26 lines
610 B
JSON

{
"maxiter": "20",
"tol": "0.005",
"verbosity": "0",
"solver": "bicgstab",
"preconditioner": {
"type": "system_cpr",
"reservoir_smoother": {
"maxiter": "1",
"tol": "0.005",
"verbosity": "0",
"solver": "preconditioner2inverseoperator",
"preconditioner": {
"type": "paroverilu0",
"relaxation": "1"
}
},
"well_solver": {
"maxiter": "1",
"tol": "0.005",
"verbosity": "0",
"solver": "umfpack"
}
}
}