reservoir-sim-hpc

3D three-phase black-oil simulator · Rust core · CPR-AMG · ES-MDA · CMA-ES

Loading…

ES-MDA history matching: synthetic twin experiment

A hidden log-permeability field (“truth”) drives a 21 × 21 five-spot waterflood. The truth run's water-cut, oil-rate and injector-BHP data, with noise added, are assimilated into a 60-member Gaussian-random-field prior using the Ensemble Smoother with Multiple Data Assimilation (Emerick & Reynolds 2013) with Gaspari–Cohn localisation. Every ensemble member is a full Rust simulation run in parallel with the GIL released.

Truth ln k

Prior mean

Posterior mean

Posterior std

NPV-driven well placement: CMA-ES vs genetic algorithm

The decision vector is the (i, j) location of one water injector and two producers plus the injection rate. Each candidate is scored by a full waterflood simulation and a discounted cash-flow model. CMA-ES (covariance matrix adaptation) and a real-coded GA (SBX crossover, polynomial mutation, elitism) run with the same simulation budget, and each generation is evaluated in parallel.

Baseline layout

CMA-ES optimum

GA optimum

Verification & validation

SPE1 (Odeh 1981): compared against the published commercial ECLIPSE reference run. Buckley–Leverett: 1D waterflood against the analytic Welge solution for both FIM and IMPES. Material balance is checked every time step.