Transient multiphase wellbore
1-D segmented Zuber-Findlay drift-flux primer. Solves mixture momentum + mass implicitly per step (Picard linearisation, Thomas tridiag), then explicit upwind energy with U-value heat loss. Honest scope: NOT OLGA-class transient multiphase.
Read the manualClosed-form transition criteria at the bottom-cell inflow conditions (1.00 ft/s liquid · 2.00 ft/s gas). Reason: slug-to-churn (Mishima-Ishii)
Implicit advection-diffusion on ρh with Joule-Thomson cooling (μ_JT = 5e-7 K/Pa) + U-value loss to formation. Decoupled march from the drift-flux pressure solve.
Single coupled step: drift-flux pressure/velocity march → Taitel-Dukler + Barnea regime classifier → enthalpy-wave T march. Final step shown; near-boundary segments (marginLog < 0.1) are tinted amber.
Per-step count of segments whose regime label changed vs the previous step. Steady operation trends to 0; ramp-up and regime-boundary crossings show as spikes.
Per-segment temperature (rows top→bottom, columns = steps). Colors map linearly between the run's min and max °F via a cool→warm ramp. Honest: this is the primer enthalpy wave, not OLGA's full PVT-coupled temperature solver.
Per-segment Taitel-Dukler / Barnea flow regime per step. Vertical bands = stable regimes; mosaic patches = boundary crossings near flow-pattern transitions.
Per-segment distance (log-units) to the nearest Taitel-Dukler / Barnea flow-pattern boundary. Red = on or past the boundary (regime flip imminent), white = threshold band, blue = comfortably inside a single regime. Reveals "soft" instability before the binary near-boundary chip trips.
Horizontal stacked bars summarise how each segment partitions its run-time across flow regimes. Wide single-color bars = stable regime; multi-color bars = segment that flipped between regimes during the run.
Counts of per-segment regime changes between consecutive steps. Rows = from-regime, columns = to-regime. Diagonal stable cells are blank; off-diagonal intensity is log-scaled to the matrix max. Useful for spotting dominant transition pathways (e.g. slug→churn vs churn→annular).
Horizontal bars rank each segment by total regime flips over the run (59 step-to-step transitions possible). Long red bars localise where the flow is bouncing between regimes — candidates for finer segmentation, tighter dt, or near-boundary closures that need attention.
Vertical stacked bars show, per step, what fraction of segments were in each regime. Wide horizontal bands of one color = string-wide stable regime; sharp color flips across time = global transitions worth investigating against pump-schedule events.
Synthesises flips, margins, Picard effort, and thermal load into a single severity + actionable recommendation.
0 flips across 20 segments · 60 steps (density 0.0%). 0/20 segments ever flipped.
- Most unstable: segment #0 at 250 ft (0 flips).
- Dominant transition: bubble → churn (0 flips).
- Thermal load: max |ΔT| = 10.84 K; solver effort: avg 1.2 Picard iters/step.
- Worst marginLog: 0.00 log-units (comfortably inside regime).
- Recommendation: Regime stability is acceptable. No action required.
One row per segment: dominant regime (residency), step-to-step flips, worst marginLog, and maximum |ΔT| from initial. Click a column header to sort.
| # | Top regime | Residency | ||||
|---|---|---|---|---|---|---|
| 0 | 250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 1 | 750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 2 | 1250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 3 | 1750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 4 | 2250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 5 | 2750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 6 | 3250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 7 | 3750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 8 | 4250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 9 | 4750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 10 | 5250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 11 | 5750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 12 | 6250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 13 | 6750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 14 | 7250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 15 | 7750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 16 | 8250 | bubble | 100% | 0 | 0.00 | 0.00 |
| 17 | 8750 | bubble | 100% | 0 | 0.00 | 0.00 |
| 18 | 9250 | bubble | 100% | 0 | 0.00 | 139.31 |
| 19 | 9750 | churn | 100% | 0 | 0.54 | 154.33 |
Translates the stability advisory into concrete dt / mesh proposals. Wall-clock window (dt × steps ≈ 300 s) is preserved.
Current settings already meet stability targets — no change suggested.
Shareable post-job note: verdict, run config, stability metrics, and top-5 worst segments. Paste into Slack / tickets / DFIT post-mortems.
# Transient multiphase wellbore — run summary _Generated 2026-07-29T04:01:49.502Z_ ## Verdict **OK** — Picard OK · marginLog OK · flips OK ## Run configuration | Field | Value | | --- | --- | | Segments | 20 (500 ft each) | | dt [s] | 5.00 | …
| Label | seg · dt · steps | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| current | — | OK | 20 · 5.00 · 60 | 1.2 | 0.00 | 0.0 | -66214 | 0.00 | ||
| No saved runs yet — save the current run to start comparing. | ||||||||||
Stored in this browser only. Ring buffer caps at 8 runs — oldest entries drop on save.
Per-step Picard iteration count tracks coupled-solver effort; bottom-hole pressure trace tracks transient relaxation toward steady state. Spikes in iterations align with regime flips.
Kamath-Holder calibrated to Sloan & Koh (2008) Table 4.2. Above the curve (red dot) hydrate is thermodynamically stable; pure-component approximation — for multi-gas compositions use mixtureDissociationPressurePa.