Overview
SPE-10 Model 2 (Christie & Blunt, 2001) is the industry’s standard million-cell stress test: a 60 × 220 × 85 = 1,122,000-cell two-phase (oil/water) waterflood on a geostatistical permeability field with contrasts spanning eight orders of magnitude. The upper Tarbert formation and the lower fluvial Upper Ness sand make it a brutal test of a simulator’s robustness on heterogeneity — the timestep controller and linear solver are pushed hard on every step.
BirSim matches OPM Flow on production to ~1% and — after a targeted timestep and solver campaign — runs the model faster than OPM at matched MPI ranks, with the lead widening as the flood develops.
Reference: OPM Flow, run on the same deck, the same host, and the same number of MPI ranks.
Problem Description
| Parameter | Value |
|---|---|
| Grid | 60 × 220 × 85 (Cartesian) |
| Active cells | 1,122,000 |
| Dimensions | 1,200 ft × 2,200 ft × 170 ft |
| Phases | Two-phase oil / water (waterflood) |
| Permeability contrast | ~8 orders of magnitude |
| Geology | Tarbert (top) + Upper Ness fluvial (bottom) |
| Wells | 1 central injector, 4 corner producers (5-spot) |
| Drive | Water injection under reservoir-voidage (RESV) control |
Accuracy
Getting SPE-10 correct took more than getting it to run. An early build under-produced at 0.72× OPM — traced to the RESV injector target being computed as zero when the injected-phase surface rate was taken before voidage conversion. Fixing the RESV-injector voidage, together with correct COMPDAT well-index handling, rock compressibility, and CNV convergence normalization, brought BirSim to within ~1% of OPM on field production.
| Quantity | Result |
|---|---|
| Field oil production | Within ~1–3% of OPM |
| Producer rates | Track OPM through the flood |
| Root cause fixed | RESV-injector voidage (0.72× → ~1.02× OPM) |
Units note. OPM reports rates in STB/day; BirSim in m³/day. Comparisons apply the 6.29 bbl/m³ conversion before differencing.
Performance
At field scale the bottleneck shifts from assembly to the linear solve and, critically, to timestep robustness: on a field this heterogeneous, an over-eager timestep controller wastes enormous work on rejected steps.
Head-to-head, 12 MPI ranks, same host
| Checkpoint | BirSim | OPM Flow | BirSim vs OPM |
|---|---|---|---|
| Day 15 | 63.8 min | 77.2 min | 1.22× faster |
| Day 40 | 80 min | 167 min | 2.08× faster |
BirSim is faster at every checkpoint and the lead widens over time. The reason is step robustness: on SPE-10’s heterogeneity, OPM’s large-timestep attempts fail ~44% of the time, versus ~6% for BirSim — so OPM burns far more wasted Newton work re-trying cut steps as the flood front sharpens.
Linear solver: CPR-AMG vs block-ILU
BirSim ships both a two-stage CPR-AMG preconditioner and a block-ILU(0). On SPE-10 the AMG pressure solve wins on iteration count, but block-ILU wins on wall-clock at 12 ranks — and the crossover is governed by the per-rank subdomain size, not the global model size. BirSim measures both and selects per run.
Single-CPU / GPU. A 1.12M-cell model is a distributed workload; it is reported at 12 MPI ranks. Single-core is impractical for a model this size, and the GPU backend — where a million-cell waterflood is the natural target — is in active development; its runtimes will be added here as they are measured.
Why it matters
SPE-9 proves correctness on a clean grid; Norne proves it on real field geometry; SPE-10 proves it at million-cell scale on pathological heterogeneity. It is where timestep robustness and linear-solver scaling decide the wall clock — and where BirSim’s step-acceptance rate turns a ~1% accuracy match into a runtime lead over the reference.
Reference
Christie, M.A. and Blunt, M.J.: “Tenth SPE Comparative Solution Project: A Comparison of Upscaling Techniques,” SPE Reservoir Evaluation & Engineering, 4 (4), August 2001, SPE-72469-PA. Model data distributed via the Open Porous Media (OPM) project.