Part 1 answers a question: what pressure should produce miscibility? For Fluid B the answer was 2013 psia, within 0.1% of Rathmell's laboratory measurement.
Part 2 addresses another question: can a compositional simulator actually reproduce it?
That turns out to be less straightforward than expected. A slimtube model can predict almost any MMP you want if the grid is too coarse. Coarse grids smear the displacement front, make recovery look better than it really is, and shift the apparent MMP upward. Before the simulation answer can be trusted, numerical dispersion has to be accounted for.
The model geometry matches the Rathmell experimental apparatus: a square cross-section of 0.457 cm side (0.209 cm² area, equivalent to the physical circular tube) because finite-difference simulators require quadrilateral cells. Tube length 1760 cm, porosity 36.2%, permeability 4868 mD, pore volume 133.3 cm³. Temperature 103°F throughout.
Straight-line relative permeability (Corey exponent = 1, no residual saturations) eliminates curve-shape effects on the result — the most transparent choice for a 1D miscibility study. The PR3 EOS from Part 1 is used directly with standard CO₂–HC BIPs (0.10 flat). Applying Ahmed's modified BIPs to E300 would be double-counting: the simulation has its own treatment of phase behaviour that is not equivalent to the FM enrichment path.
The tube is discretised into N equal cells along its length. Four resolutions were tested:
| N cells | Cell length (cm) | Status |
|---|---|---|
| 500 | 3.52 | Rejected — excessive dispersion |
| 1000 | 1.76 | Used for Horner extrapolation |
| 1500 | 1.17 | Used for Horner extrapolation |
| 2000 | 0.88 | Rejected — convergence failures |
The N=500 model produces ~60% recovery at all pressures — dispersion so severe that no kink is identifiable and MMP cannot be read at all. The N=2000 model fails with negative CCF errors at high pressure. N=1000 and N=1500 are stable across all six pressures and form the basis of the extrapolation.
Six pressures were run spanning the expected MMP: 1600, 1700, 1800, 1900, 2100, 2300 psia.
| Pressure (psia) | N=1000 FOE (%) | N=1500 FOE (%) |
|---|---|---|
| 1600 | 83.36 | 86.19 |
| 1700 | 84.73 | 87.95 |
| 1800 | 86.02 | 89.42 |
| 1900 | 86.07 | 90.65 |
| 2100 | 88.40 | 92.41 |
| 2300 | 91.38 | 95.18 |
Both curves rise continuously with no identifiable kink. Without correction, these would suggest an MMP above 2300 psia — a significant overestimate. The correction is not optional.
Every slimtube model contains some numerical dispersion. Rather than chasing an infinitely fine grid, we can estimate the recovery we would obtain if dispersion disappeared entirely. This is the same idea behind Horner extrapolation in well testing: use a series of imperfect measurements to infer the limiting solution.
Plot FOE at 1.2 PVI against 1/N for both resolutions. Fit a straight line. The y-intercept at 1/N = 0 is FOE∞ — dispersion-free recovery.
| Pressure (psia) | N=1000 (%) | N=1500 (%) | FOE∞ (%) |
|---|---|---|---|
| 1600 | 83.36 | 86.19 | 91.85 |
| 1700 | 84.73 | 87.95 | 94.41 |
| 1800 | 86.02 | 89.42 | 96.22 |
| 1900 | 86.07 | 90.65 | 99.81 |
| 2100 | 88.40 | 92.41 | 100.43 |
| 2300 | 91.38 | 95.18 | 102.78 |
Values above 100% at the two highest pressures are a known artefact of two-point linear extrapolation overshooting in the miscible plateau. They do not affect MMP identification, which depends on the kink, not the plateau level.
Two straight lines fitted to the FOE∞ curve — rising through 1600–1900 psia, plateau through 1900–2300 psia — intersect at 1905 psia.
| Method | MMP (psia) | vs Experimental |
|---|---|---|
| Physical slimtube (SPE 3483) | 2015 | — |
| Ahmed FM (Python, Part 1) | 2013 | −0.1% |
| E300 slimtube, Horner corrected | 1905 | −5.5% |
The simulation underestimates by 110 psia (5.5%). This is expected, not a modelling failure. Standard PR systematically underestimates CO₂ density at supercritical conditions, predicting miscibility at slightly lower pressure than the physical system requires. With the EOS tuned to a single observation (bubble point), 5.5% is within the expected range.
The Horner correction is also what makes the kink visible at all. The raw N=1000 and N=1500 curves show no kink — dispersion has smeared it entirely. The extrapolated curve recovers it cleanly.
Ahmed's 0.1% agreement is impressive, but worth interpreting carefully. His BIPs were calibrated against Rathmell's fluids directly and the result partly reflects that calibration. The E300 result of 1905 psia is arguably the more transferable engineering prediction — it is not reliant on BIPs calibrated specifically against the target dataset.
In practice, both methods should be run in parallel. Agreement within ~5% gives confidence. A larger discrepancy warrants investigation before reporting.
| Method | Typical error, PR3 black oil |
|---|---|
| Ahmed FM, full BIP set | ±3–5% |
| E300 Horner, N=1000/1500 | ±5–8% |
| Physical slimtube | ±2% |
The important outcome is not exact agreement between the methods. Rather, two independent approaches converge within roughly 5% of each other and both reproduce the laboratory result to a level that is entirely acceptable for high-level engineering applications.
For screening studies, Ahmed's method is fast and remarkably effective. For project decisions, the slimtube remains the final check — not because it always gives a closer number, but because it is based on displacement physics rather than calibrated parameters, and it reveals how the miscible front actually develops under pressure.
Code for Fluid B, EOS deck, and E300 DATA deck: github.com/eskoantg/CO2_MPP