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.