BENCHMARKS

Benchmarks

Les résultats de Converge comparés à des solutions de référence publiées, aux équations publiées et à des calculs à la main. Chaque cas donne la référence, la tolérance et le résultat, et dit clairement ce qui n’a pas encore été validé. Les cas s’exécutent comme tests nommés dans la suite de tests de Converge.

SYNTHÈSE

Où en sont les moteurs

Un audit indépendant mené le 15 octobre 2026 a recalculé 30 résultats de Converge à la main ou avec du code indépendant. Pour les cas synthétiques, les données ont été construites à partir de réponses connues : la vérité est donc exacte. 25 cas ont réussi du premier coup. Les cinq échecs portaient sur des valeurs par défaut, des points de référence et des bandes d’incertitude, pas sur la physique de base. Quatre sont corrigés et passent désormais. Le cinquième est une correction de méthode dont l’unique cas de test reste limite, et nous le disons plus bas.

Cas de validation
30
Réussis dans la suite de tests
29
Limite, signalé
1
Tolérance typique
0.05–3%

Les valeurs sont en unités pétrolières, comme dans les références publiées. État au 15 octobre 2026.

SIMULATION DE RÉSERVOIR

SPE1 : le premier projet de solutions comparatives de la SPE

Odeh, A. S. (1981), « Comparison of Solutions to a Three-Dimensional Black-Oil Reservoir Simulation Problem », Journal of Petroleum Technology 33(1), SPE 9723. Une grille de 10 × 10 × 3, un injecteur de gaz et un producteur sur dix ans. Le cas est intégré à Converge.

GrandeurComportement publiéConvergeToléranceStatut
Plateau de débit d’huile20,000 STB/d20,000 STB/d1 STB/dRéussi
Le producteur passe du contrôle en débit au contrôle en pressionVers le jour 1 000Jour 973Jour 800 à 1 300Réussi
Pression moyenne de réservoir maximaleVers 6 400 psia6,423 psia6 100 à 6 700 psiaRéussi
Débit d’huile du champ, GOR, pressions de fond des puits, pressions des maillesExécution de référence publiée d’un simulateur standard de l’industrie, 11 pas de rapport jusqu’au jour 3 6501% · 2.5% · 2% · 3%Plus grand écart indiquéRéussi
Bouclage du bilan matièreMasse conservée à chaque pas9.3 × 10⁻⁸Moins de 10⁻⁶ du volume poreuxRéussi

L’exécution compte 132 pas de temps et dure environ 1,4 seconde sur un seul cœur d’ordinateur portable. Un cas Buckley-Leverett unidimensionnel place le front d’eau à moins de trois mailles de la construction analytique de Welge.

V1–V30

Les 30 cas de validation audités

Chaque cas est désormais un test nommé. « Corrigé » signifie que le cas a échoué lors de l’audit, que la cause a été corrigée et que le test passe désormais.

CasCalculRéférenceToléranceStatut
V1Point de bulle de Standing, 35 °API, densité du gaz 0,75, 650 scf/STB, 200 °F2 748 psia (calcul à la main)±1.6 psiRéussi
V2Point de bulle de Standing, 32 °API, 0,72, 520 scf/STB, 205 °F2,601 psia±1.6 psiRéussi
V3Bo de Standing au point de bulle, deux fluides1,375 et 1,3037 rb/STB0.0005 rb/STBRéussi
V4Viscosité de l’huile saturée de Beggs-Robinson au point de bulle, deux fluides0,4927 et 0,6185 cp0.1%Réussi
V5Masse volumique de l’huile au point de bulle695.0 kg/m³0.1%Réussi
V6Facteur Z, Dranchuk-Abou-Kassem avec Sutton, à quatre pressionsVoir le tableau du facteur Z0.05%Réussi
V7Correction de pression de la viscosité de l’eau de McCain à 5 000 psia+28%±0,5 pointRéussi
V8La séparation de la fraction lourde conserve la masse molaire du C7+218.0 g/mol10⁻⁶ g/molRéussi
V9Facteur volumétrique du gaz à 3 000 psia0.000983 rb/scf10⁻⁶ rb/scfRéussi
V10Huile en place par bilan matière, réservoir volumétrique construit à partir d’un N connu, sans aquifère45.00 MMSTB1%Réussi
V11Le même réservoir avec un aquifère qu’il n’a pasNe doit pas donner un N erronéAjustement bloqué, raisons affichéesCorrigé
V12Calage d’historique par bilan matière sur le réservoir d’exemple150 MMSTB3%Réussi
V13La bande P90–P10 du calage d’historique contient la vérité150 MMSTB dans la bandeCouverture d’au moins 80 % sur 10 historiques synthétiquesCorrigé
V14Huile en place par bilan matière dynamiqueVérité synthétique connue1%Réussi
V15Ajustement d’Arps sur un puits synthétique, qi 3 500 STB/d, Di 60 %/an, b 0,70Les paramètres générateursDonnées exactes : 3 décimales. Bruit de 3 % : 5 % sur qiRéussi
V16EUR d’Arps avec une limite de 30 ans4.78 MMSTB0.005 MMSTBRéussi
V17EUR exponentiel et harmoniqueFormes analytiques : 1 980 et 9 210 STB0,5 STB et 5 STBRéussi
V18La bande P90–P10 du bootstrap de déclin contient la véritéCouverture d’au moins 80 % sur 12 puits synthétiquesObservé : 10 sur 12Limite
V19Pente et perméabilité de Horner, remontée synthétique avec k = 180 md26.43 psi/cycle, 180 md3%Réussi
V20Pression extrapolée de Horner p*3,650 psia2 psiRéussi
V21Skin issu de la même remontée, Horner et log-log+4.5±0.3Corrigé
V22Perméabilité en écoulement radial (log-log)180 md3%Réussi
V23Gradient hydrostatique dans le modèle de puits18,06 lbm/ft³ donne 0,1254 psi/ft10⁻⁴ psi/ftRéussi
V24Conversion d’unités à l’import, 40 m³/d et 25 barg251,59 bbl/d et 377,29 psiaExact à 2 décimalesRéussi
V25Redevance et impôt sur le revenu, chaque année d’un cas sur 10 ansCalcul indépendant à la main10⁻⁶Réussi
V26VAN à 10 %, actualisation en milieu de périodeSomme indépendante des flux actualisés10⁻³Réussi
V27TRIRacine de l’équation de VAN10⁻⁹Réussi
V28SPE1 (Odeh 1981)Comportement publiéVoir le tableau SPE1Réussi
V29Bilan matière du réseau de surface à chaque nœudMasse entrante égale masse sortante10⁻⁹Réussi
V30Comptabilité du gaz du réseau avec gas liftGaz de formation plus gaz de lift égale gaz arrivé ; gaz vendu égale gaz de formation10⁻⁶Corrigé

V18 : la méthode du bootstrap a été corrigée et atteint son objectif de couverture de 80 % sur 12 puits synthétiques. Sur le seul puits d’exemple utilisé par l’audit, l’EUR vrai reste juste au-dessus du P10, ce qu’une bande à 80 % fera environ une fois sur dix. Nous n’avons ni réglé la graine ni élargi la bande pour l’y faire entrer. V25–V27 : les données du cas de l’auditeur n’ont pas été publiées, un cas équivalent de 10 ans construit à la main est donc vérifié à la place.

FLUIDES

Corrélations PVT face aux équations publiées

Chaque corrélation est codée à partir de l’article original et vérifiée par un calcul à la main avec la même équation. Résultats pour le fluide V1 : 35 °API, densité du gaz 0,75, 650 scf/STB, 200 °F.

PropriétéSource publiéeCalcul à la mainConvergeStatut
Point de bulleStanding (1947)2,748 psia2,747.8 psiaRéussi
Bo au point de bulleStanding (1947)1.375 rb/STB1.3749 rb/STBRéussi
Viscosité de l’huile saturéeBeggs et Robinson (1975)0.4927 cp0.4924 cpRéussi
Point de bulle et BoVasquez et Beggs (1980), Glasø (1980), Petrosky et Farshad (1993), Al-Marhoun (1988)Calcul à la main pour chaque jeuConcordant ; le point de bulle redonne le GOR d’entréeRéussi
Correction de pression de la viscosité de l’eauMcCain (1990)+28%+28%Réussi
Correction pour gaz acideWichert et Aziz (1972)Calcul à la main de εConcordantRéussi

Le moteur d’équation d’état est vérifié séparément. Les points de bulle et de rosée de l’huile SPE5 et d’un gaz à condensat, en Peng-Robinson et SRK, concordent avec une implémentation open source indépendante à 0,01 % près, et les compositions de flash diphasique à 1 × 10⁻⁵ près. Les pressions de vapeur des corps purs sont à moins de 3 % des données du NIST.

GAZ

Facteur Z : Dranchuk et Abou-Kassem

Dranchuk, P. M. et Abou-Kassem, J. H. (1975), Journal of Canadian Petroleum Technology 14(3), avec les propriétés pseudo-critiques de Sutton (1985). Densité du gaz 0,7, 200 °F.

PressionCalcul à la mainConvergeÉcartStatut
1,000 psia0.92150.92130.02%Réussi
3,000 psia0.88830.88800.03%Réussi
5,000 psia0.99990.99970.02%Réussi
10,000 psia1.43081.43100.01%Réussi

Tolérance 0,05 %. Le facteur volumétrique du gaz à 3 000 psia vaut 0,000983 rb/scf, comme dans V9.

ESSAI DE PUITS

Horner et log-log sur une remontée synthétique

Un débit de 48 heures à 800 STB/d, puis 72 heures de fermeture, générés à partir de la solution de la source linéaire avec superposition. Réponse connue : k = 180 md, skin +4,5, pression initiale 3 650 psia. Épaisseur utile 32,8 ft, porosité 0,20, compressibilité totale 1 × 10⁻⁵ 1/psi, viscosité 1 cp, Bo 1,2 rb/STB.

RésultatRéponse connueConvergeToléranceStatut
Pente de Horner26.43 psi/cycle26.46 psi/cycle3%Réussi
Perméabilité de Horner180 md179.8 md3%Réussi
Pression extrapolée p*3,650 psia3,650.0 psia2 psiRéussi
Skin, Horner+4.5+4.47±0.3Réussi
Perméabilité et skin, dérivée log-log180 md, +4.5Dans la tolérance3%, ±0.3Réussi
Déconvolution d’un essai multi-débits, von Schroeter, Hollaender et Gringarten (2004)Réponse unitaire connueRetrouvés5 %, ou 10 % avec un bruit de capteur de 0,05 psiRéussi

La pente de référence est m = 162,6 qBμ / kh. La bibliothèque de modèles est aussi vérifiée par rapport aux limites analytiques publiées : Theis (1935), van Everdingen et Hurst (1949), Gringarten, Ramey et Raghavan (1974), Cinco-Ley et Samaniego (1981) et Warren et Root (1963). L’exemple 5.1 d’Earlougher (1977) donne k = 12,8 md et un skin de 8,6 ; Converge retrouve les deux à 5 % près.

DÉCLIN

Déclin d’Arps

Arps, J. J. (1945), « Analysis of Decline Curves », Transactions of the AIME 160. Un historique synthétique de 36 mois à partir de qi = 3 500 STB/d, Di = 60 %/an, b = 0,70.

RésultatRéponse connueConvergeToléranceStatut
qi ajusté, données exactes3,500 STB/d3,500 STB/d1 STB/dRéussi
Di et b ajustés, données exactes60%/yr, 0.7060.0%/yr, 0.7003 décimalesRéussi
qi, Di et b ajustés avec 3 % de bruitLes valeurs génératricesRetrouvés5 %, 8 points, 0,15Réussi
EUR avec une limite de 30 ans4.78 MMSTB4.78 MMSTB0.005 MMSTBRéussi
Débit et cumul, Arps b de 0 à 1,5, hyperbolique modifié, Duong, exponentielle étiréeBibliothèque open source indépendante d’analyse de déclinConcordant10⁻⁶ en relatifRéussi

BILAN MATIÈRE

Bilan matière sur un réservoir à N connu

Havlena, D. et Odeh, A. S. (1963), « The Material Balance as an Equation of a Straight Line », Journal of Petroleum Technology 15(8). Un réservoir d’huile volumétrique dont l’historique de production et de pression a été construit à partir de N = 45 MMSTB.

CasRéférenceConvergeToléranceStatut
Réservoir volumétrique, sans aquifèreN = 45.00 MMSTB45.03 MMSTB1%Réussi
Même réservoir, aquifère erroné activéAucune réponse erronée affichéeAjustement bloqué comme non fiable—Corrigé
Venue d’eau d’un aquifère radial infiniAhmed (2006), exemple 10-4Constante et venue d’eau à 6 et 12 mois0.5%Réussi
Soutirage F, chaque ligneAhmed (2006), exemple 11-1Reproduit0.01 MbblRéussi
Bilan matière dynamique huileSolution analytique d’un cercle ferméN et b_pss2%Réussi
Bilan matière dynamique gazRéservoir de gaz en régime pseudo-permanent, G connu0.04%1%Réussi

ÉCONOMIE

VAN et TRI

Les flux actualisés sont vérifiés par rapport à des sommes calculées à la main et à une bibliothèque financière open source indépendante. Le cas le plus simple à vérifier vous-même : −100 puis 30 par an pendant cinq ans, actualisation en fin de période à 10 %.

RésultatCalcul à la mainConvergeToléranceStatut
VAN à 10 %12.47612.47610⁻³Réussi
TRI15.24%15.24%10⁻⁹Réussi
Lignes de redevance et d’impôt, cas sur 10 ansBoucle indépendante, chaque annéeConcordant10⁻⁶Réussi
Arithmétique du partage de productionFeuille de calcul manuelle : plafond de cost oil, palier du facteur R, impôt, part de l’ÉtatConcordant10⁻⁹Réussi

Les modèles fiscaux PIA 2021 du Nigeria sont des valeurs de présélection codées à partir des annexes de la loi. Ce ne sont pas des conseils fiscaux, et ils ne font pas partie de ce benchmark.

PUITS

Ascension verticale et apport du réservoir

Les corrélations d’écoulement polyphasique sont vérifiées par rapport à trois implémentations open source indépendantes. Aucun exemple chiffré de manuel avec une réponse publiée n’a été trouvé pour ces corrélations : la concordance porte donc sur du code indépendant.

ÉlémentRéférenceConcordance
Beggs et Brill (1973)Deux implémentations indépendantes, 14 états d’écoulement0.1%
Gray (1974)Deux implémentations indépendantes, 14 états d’écoulement0.2%
Duns et Ros (1963)Implémentation indépendante, écoulements à bulles, à bouchons et brumeux1%
Traverse complète d’un puits de gaz, 10 000 ft, sec et humideImplémentation indépendante0.02–0.18%
Traverse monophasique liquide, puits déviéHydrostatique exacte plus frottement de Colebrook10⁻⁹

LIMITES

Ce qui n’est pas encore validé

Ces points restent ouverts. Aucun n’est présenté comme validé où que ce soit dans le produit.

  • L’enveloppe de phases EOS complète face à un logiciel PVT commercial indépendant. Les points de saturation et les flashs sont vérifiés ; l’enveloppe entière ne l’est pas.
  • Le réseau de surface face à des outils indépendants de modélisation de réseau. Le bilan matière et la comptabilité du gaz bouclent, mais aucune comparaison externe n’a été faite.
  • La prévision intégrée face à des outils indépendants de modélisation intégrée d’actifs. Elle concorde avec le moteur de bilan matière de Converge à 0,1 psi près.
  • SPE9 ne concorde que partiellement : le débit d’huile suit la référence, mais pas la production d’eau. SPE3 n’a pas été tenté. Aucun des deux n’est revendiqué.
  • Courbes types en régime transitoire pour le gaz, modèles de paraffines et d’asphaltènes, et plusieurs exemples d’essais de puits publiés dans des manuels.

REPRODUIRE

Relancez les cas vous-même

Chaque cas ci-dessus peut être relancé dans votre propre compte. Ouvrez Intégrations et utilisez l’éditeur de scripts, ou appelez les mêmes fonctions via l’API REST ou MCP. Le fluide du Sample field est celui du cas V1 : sa page PVT affiche d’emblée le point de bulle de 2 748 psia.

SPE1

const r = converge.sim.run({ preset: 'spe1' });
table(r.field, 'SPE1 field results');

PVT et facteur Z

converge.pvt.blackOilTable({
  fluid: { kind: 'black-oil', api: 35, gasSG: 0.75,
           gor: 650, reservoirT: 200 } });
converge.pvt.gasProperties({
  psia: 3000, TF: 200, gasSG: 0.7 });

Essai de puits

const s = converge.welltest.synthetic({
  reservoir: { k: 180, h: 32.808, phi: 0.2, ct: 1e-5, mu: 1,
               B: 1.2, rw: 0.3, skin: 4.5, C: 0.001 },
  pi: 3650, q: 800, tpHr: 48, shutInHr: 72,
  pointsPerPeriod: 70, boundary: { kind: 'infinite' } });
const b = s.buildup;
converge.welltest.horner({ dtHr: b.dtHr, pws: b.pws,
  tpHr: b.tpHr, pwf: b.pwf, window: [5, 70],
  fluid: { q: 800, B: 1.2, mu: 1, h: 32.808,
           phi: 0.2, ct: 1e-5, rw: 0.3 } });

Déclin, bilan matière, VAN

// points: [{ t: days, q: STB/d }, ...]
converge.dca.fit({ kind: 'arps', points });
converge.mbal.analyse(converge.example('mbal.analyse'));
converge.econ.metrics({
  cashFlows: [-100, 30, 30, 30, 30, 30],
  discountRates: [0.1], discounting: 'end-period' });

Les entrées sont en unités pétrolières par défaut. Appelez converge.setUnits('metric') pour travailler en bara, °C et Sm³.

Vérifiez les chiffres sur votre propre fluide.