How Converge validates its engines

The reference cases, tolerances and results behind Converge's engines, from SPE1 and NIST data to Horner, Arps and Havlena-Odeh checks.

By Converge Engineering · Technical review: Patrick Mwafor

validationbenchmarksproduct

Every Converge engine is checked against a number someone else published, with a stated tolerance, in a test that runs on every build. On 15 October 2026 the engine suite was 964 tests in 74 files, and all of them passed. This post describes what those tests compare against, how tight the tolerances are, and what we haven't validated yet.

Three kinds of reference

We use three kinds of reference, in order of preference:

  1. A published solution with a stated answer. For example, SPE1, a textbook example, or NIST property data.
  2. A synthetic case built from a known answer. For example, a tank built from N = 45 MMSTB. The truth is exact, so any error is the engine's.
  3. An independent implementation. Used when no worked example with a stated answer exists, and we say so.

Reservoir simulation: SPE1

SPE1 is the first SPE comparative solution project (Odeh, 1981, JPT 33(1), SPE 9723). It's a 10 × 10 × 3 black-oil model with one gas injector and one producer, run for ten years. Converge ships it as a built-in case.

Check Tolerance Result
Oil-rate plateau 20,000 STB/d to 1 STB/d 20,000 STB/d
Producer switches from rate to pressure control Day 800 to 1,300 Day 973
Peak average reservoir pressure 6,100 to 6,700 psia 6,423 psia
Field oil rate against the published reference run, 11 report times 1 % Pass
Producing GOR 2.5 % Pass
Producer and injector bottom-hole pressure 2 % Pass
Block pressures at the injector and producer cells 3 % Pass
Material-balance error, every time step Below 10⁻⁶ of pore volume 9.3 × 10⁻⁸ worst step

The reference run is the summary file published with the open SPE1 input deck. The case runs in about 1.7 s on one laptop core.

A 300-cell Buckley-Leverett waterflood must also put its saturation shock within three cells of the analytical front.

Fluids

Black-oil correlations

The audit cases V1 to V9 use two fluids: 35 °API, gas gravity 0.75, 650 scf/STB at 200 °F, and 32 °API, 0.72, 520 scf/STB at 205 °F.

Case Reference Tolerance
V1 Standing bubble point 2,748 psia by hand (engine: 2,747.8) ±1.6 psi
V2 Standing bubble point 2,601 psia ±1.6 psi
V3 Standing Bo at pb 1.375 and 1.3037 rb/STB 0.0005 rb/STB
V4 Beggs-Robinson live-oil viscosity at pb 0.4927 and 0.6185 cp 0.1 %
V6 Dranchuk-Abou-Kassem Z with Sutton pseudo-criticals, gas gravity 0.7, 200 °F 0.9215, 0.8883, 0.9999 and 1.4308 at 1,000, 3,000, 5,000 and 10,000 psia 0.05 %
V9 Gas FVF at 3,000 psia 0.000983 rb/scf 10⁻⁶ rb/scf

The other four correlation sets (Vasquez-Beggs, Glasø, Petrosky-Farshad and Al-Marhoun) are each checked against a hand calculation. Each set's bubble point must also invert back to the input GOR.

Equation of state against NIST

Pure-component vapour pressures from Peng-Robinson are compared with NIST Chemistry WebBook saturation data. The cases are methane at 150 K (10.4 bar), ethane at 250 K (13.01 bar), propane at 300 K (9.9742 bar), n-butane at 300 K (2.5838 bar) and CO₂ at 280 K (41.603 bar). Each must be within 3 %.

Peneloux-shifted saturated-liquid propane at 300 K must be within 3 % of NIST's 488.1 kg/m³. For methane viscosity at 300 K, the NIST values at 1, 101 and 201 bar are 0.011136, 0.013795 and 0.019127 cp. The methane reference model and the Pedersen corresponding-states model must each be within 2 % of them. The untuned Lohrenz-Bray-Clark model must be within 5 % at 1 bar and 10 % at the higher pressures.

Saturation pressures and flashes for the SPE5 oil and other mixtures are compared with an independent open-source thermodynamics library. Bubble and dew points must agree within 0.01 %, and vapour fraction and phase compositions within 1 × 10⁻⁵.

Unit constants

The unit layer is tested against NIST SP 811. One psi must equal 6,894.757293168 Pa, and a standard atmosphere must equal 14.695948775513 psia, to 9 and 12 decimal places. On import, 25 barg must convert to exactly 377.29 psia.

Well test

The synthetic build-up is a 48 h drawdown at 800 STB/d, then 72 h shut in, generated from the line-source solution with superposition. The known answer is k = 180 md, skin +4.5 and initial pressure 3,650 psia.

Result Known Tolerance
Horner slope 26.43 psi/cycle 3 %
Horner permeability 180 md 3 %
Extrapolated pressure p* 3,650 psia 2 psi
Skin, Horner and log-log +4.5 ±0.3

There's also a printed example. Earlougher (1977), SPE Monograph 5, Example 5.1, gives a 40 psi/cycle slope, k = 12.8 md and skin 8.6. Converge must match k and skin within 5 %.

Deconvolution after von Schroeter, Hollaender and Gringarten (2004) must recover a known unit-rate response within 5 %. With 0.05 psi of gauge noise the limit is 10 %.

Decline

A 36-month synthetic well is built from qi = 3,500 STB/d, Di = 60 %/yr and b = 0.70. On exact data the Arps (1945) fit must return all three parameters to three decimal places. With 3 % noise, qi must be within 5 %. The EUR to a 30-year cap must be 4.78 MMSTB within 0.005 MMSTB. The exponential and harmonic EURs must match their closed forms, 1,980 STB within 0.5 STB and 9,210 STB within 5 STB.

The bootstrap P90–P10 band must contain the true EUR in at least 80 % of synthetic wells. On the 12-well set it contains it in 10, and we report that as marginal.

Material balance

For Havlena and Odeh (1963), a volumetric tank built from N = 45 MMSTB must give 45 MMSTB within 1 %. The engine gives 45.03 MMSTB.

Run the same history with an aquifer it doesn't have, and the fit must be blocked, not reported.

Ahmed (2006), Example 11-1, a volumetric undersaturated oil, is reproduced row by row. Underground withdrawal F must match the printed table to 0.01 Mbbl. A least-squares line through the origin gives N = 282.8 MMSTB, which we confirmed with independent Python. The book reads 257 MMSTB off a hand-drawn line, and the test records that difference rather than hiding it.

The van Everdingen-Hurst dimensionless influx is checked against Ahmed's Tables 10-1 and 10-2. In Example 10-4, an infinite radial aquifer, the influx at 6 and 12 months must be within 0.5 %.

Economics

The simplest case is one you can check by hand: −100, then 30 a year for five years, end-of-period discounting at 10 %. NPV must be 12.476 within 10⁻³, and IRR must be 15.24 % within 10⁻⁹.

A production-sharing case is checked line by line against a hand sheet. Each row must match to 10⁻⁶: cost oil, contractor and government profit oil, tax paid on behalf, bonuses and net cash flow. The Nigeria PIA template is screening values and is not part of the benchmark.

The audit

On 15 October 2026 an independent reviewer recomputed 30 Converge results by hand or with separate code, and 25 passed first time. The five failures were in reference points and defaults, not core physics: the pressure taken as the start of shut-in for skin, a default aquifer left on, two uncertainty bands that missed the truth, and network gas accounting with gas lift. Each is now a named test. Four are fixed; the decline bootstrap is the marginal one above.

What isn't validated yet

These are open, and the product doesn't claim them:

  • The full EOS phase envelope against an independent PVT package.
  • The surface network and the integrated forecast against independent tools. Mass balance closes, but no external comparison has been made.
  • SPE9 matches only partly: oil rate tracks the reference and water production doesn't. SPE3 hasn't been attempted.
  • Gas rate-transient type curves, wax and asphaltene models, and several printed well-test examples.

Run them yourself

Every case on the benchmarks page can be rerun from your own account. Use the scripting editor under Integrations or the REST API; see the scripting SDK guide. The sample field's fluid is the V1 fluid, so its PVT page shows the 2,748 psia bubble point straight away.

Sources

  1. Comparison of Solutions to a Three-Dimensional Black-Oil Reservoir Simulation Problem
  2. Thermophysical Properties of Fluid Systems
  3. Calculation of Z Factors For Natural Gases Using Equations of State
  4. The Material Balance as an Equation of a Straight Line
  5. Analysis of Decline Curves
  6. NIST Guide to the SI, Appendix B.8: Factors for Units Listed Alphabetically

All posts