Wellbore Genius
Help

Downhole Simulator

Performance modeling

Sign in
How it works

Physics-first. AI-assisted. Not a black box.

Every number this app shows traces back to a published equation, a measured input, or a documented assumption. AI lives at the edges — it helps engineers author, tune, and explain simulations. It does not run the core physics.

23 documented physics modules
Drift-guarded by automated tests
Runs in your browser + your private cloud
§1 — Methods scoreboard

What the solver actually does

Full solver spec

Every row below is the live answer to "which equation produced this result?" — pulled from the same source of truth the kernel reads. Tier shows where each module sits on the analytical → DDM → fully-coupled ladder.

ModuleTierToday
Fracture mechanics
DDM / P3D
Cell-based Pseudo-3D, fixed height, LEFM tip + Charles power-law growth (Planar-3D Newton step + front-motion coupling landed @ Phase 4.5, beta — Sneddon-asymptote K_I inversion drives Charles V_n into the level-set tip propagator) + Phase 7 inc 1–5 tip-kernel…
Fluid–solid coupling
Fully coupled
Fully-coupled Newton-Raphson via `coupledNewtonStep` is the DEFAULT path for every live-kernel surface (DFIT registry's `kgd-width`/`pkn-length`/`carter-falloff` entries, all proppant-validation runners, KGD/PKN moving-tip wrappers);
Leak-off
DDM / P3D
Carter √t baseline + kernel-coupled PDL & dynamic filter-cake + two-phase α_s throttle (Planar-3D Newton step consumes Carter·(1+α·Δp)/(1+κ·√t)·(1−α_s/α_pack)^n as a per-cell sink @ Phase 5 inc 6, beta) + DFIT validation harness with /dfit-benchmarks dashboard…
Proppant transport
DDM / P3D
Single-phase concentration advection (RZ settling, conv., slumping, MPM bedload, K-D rheology) + Eulerian-Granular two-phase scaffold with K-D μ_eff(α_s) coupling, PLA shear-induced migration + bridging/screen-out gate, hybrid Eulerian-Lagrangian particle trac…
Simulator backend
Internal kernel only — no external reservoir-sim bridge (ECLIPSE / tNavigator / INTERSECT / CMG).
Coupling direction
Fully coupled
Two-way *within the frac* (Newton-Raphson width↔pressure via `coupledNewtonStep`, default live-kernel path @ Phase 7 inc 16) **AND** two-way frac↔reservoir solved JOINTLY each timestep, **now default-ON @ Phase 16** via `reservoirCouplingStore` + `blackOil3PCo…
Wellbore flow
DDM / P3D
Steady-state hydrostatic + frictional pressure drop (`slurryHydrostatic.ts`: 0.052·ρ_eff·TVD + Σ ΔP_friction, with slurry+proppant ρ_eff cascade).
Perforation erosion & clearance
Analytical
Asymmetric time-evolving erosion model (upstream/downstream/side/dynamic discharge coefficients Du/Ds/Dd/Cd) with a spatially-correlated α field (mulberry32 + Box-Muller, operator-tunable σ_α and correlation length).
Parent-child interference
Analytical
Analytical first-order screening via `parentChildInterference.ts` — log-radial Δp depletion kernel summed over producing parents + Eaton/poroelastic Δσ_h = α·(1−2ν)/(1−ν)·Δp + per-stage frac-half-length asymmetry from the lateral-normal Δp gradient + bashing-r…
Poroelastic depletion (full tensor)
Analytical
Geertsma-style 2D poroelastic kernel via `poroelasticDepletion.ts` — each producing parent treated as a circular drained patch (radius = drainageRadiusFt) with stress-path coefficient A = α·(1−2ν)/(1−ν);
Thermo-mechanical-hydraulic (3-D voxel)
DDM / P3D
Phase 9 T-M-H 3-D voxel stepper via `src/lib/reservoir/thermoPoroGrid3D.ts` — segregated implicit-Euler timestepping on a regular voxel grid that solves a TPFA conduction temperature equation (SPD CG via `src/lib/linalg/cg.ts`) with prescribed-T Dirichlet boun…
Non-planar 3D fracture solver
DDM / P3D
Fully-3D non-planar fracture geometry via `src/lib/nonPlanar3D/{surfaceMesh,ddm3D,tipKinking,nfBranching,pipeline,mtsPropagation,stressFieldSampler}.ts` — quad surface mesh with per-face propagation history, 3-D DDM influence operator (Okada-style half-space),…
UFM / Fully-3D DFN
DDM / P3D
UFM-class discrete fracture network (DFN) shipped — a true mutable topology engine + literature-grade HF↔NF crossing criteria layered on top of the non-planar 3D DDM solver.
Fleet-cohort driver analysis
Pure-library Spearman rank-correlation driver finder via `src/lib/fleetCohortDrivers.ts` — across N similar stages in a fleet, ranks candidate input features by |ρ| against a chosen outcome metric, with operator-tunable cohort filters (basin / play / σh band /…
Autopilot closed loop (advisory + opt-in auto-apply)
Phase G — bounded autopilot stack: `src/lib/autopilot/jobPilotFusion.ts` fuses DAS-cluster-efficiency, TLP traffic-light, screen-out leading-indicator, and live-HM RMSE signals into a single ranked `PilotAction`, with priority ladder shut-in > rate-cut > monit…
Multi-pad coordination (shared fleet)
Phase H — pure `src/lib/multiPad/multiPadCoordination.ts` greedy priority-first event-driven scheduler.
CCS / CO₂ injection physics
Span-Wagner CO₂ EOS + hydrate-risk screen via `src/lib/co2InjectionPhysics.ts` — density / phase / Joule-Thomson cooling on a (p, T) grid plus a Sloan-Koh hydrate-margin classifier (`safe | watch | risk`).
Auto-RTA surveillance loop
Rolling Arps fit + regime-break detector via `src/lib/autoRtaLoop.ts` — flags transient → BDF transitions and emits alerts when fitted b / Di drift outside operator bands.
Surface network solver (steady-state)
Multi-well steady-state pipeline solver via `src/lib/surfaceNetworkSolver.ts` — node-pressure Newton with Hazen-Williams / Darcy-Weisbach branch closures, choke + compressor primitives, and per-node mass-balance residuals.
Boundary conditions
Fully coupled
Typed boundary-condition bundle for the depletion + fracture solver via `src/lib/boundaryConditions.ts` (`BoundaryConditions` discriminated union: far-field Dirichlet σ-tensor / Neumann Δσ_shadow(t) / Robin compliance / no-flow;
State-spec multiphase flash (PT + PH + PS)
PT (pressure-temperature) flash is shipped through the existing PR-EOS pipeline;
Flow diagnostics (TOF + tracer partition + Lorenz)
**v9 Gap C** ships forward/backward time-of-flight, injector/producer tracer partition, allocation matrix, Lorenz coefficient + sweep-efficiency estimate via `src/lib/reservoir/flowDiagnostics.ts` — cheap pre-simulation drainage picture matching MRST `diagnost…
FDI bidirectional loop (parent depletion ↔ child growth)
Analytical
Sprint 1b — pure analytical timestep loop `runFdiBidirectionalLoop` in `src/lib/fdi/bidirectionalLoop.ts` couples parent depletion into child fracture propagation each step.
§2 — Validation rollup

Per-module proof on rock, fluid, and basin

Each card answers the field-engineer scan test in 30 seconds: proof level · error band on measured data · basin coverage · validity envelope · failure modes. Unlisted modules render as Research until they earn a band — honest by default.

Modules
23
Field-validated
1 / 23
With error band
7 / 23
Σ cases / campaigns
495
fracture-mechanics
Fracture mechanics
Benchmarked

Cell-Pseudo-3D + Planar-3D Newton step against Sneddon + KGD/PKN analytics.

RMSE
0.110
log-units (KGD width @ wellbore)
n = 3

DFIT registry kgd-width / pkn-length / carter-falloff, live-kernel path

Basin coverage
Synthetic Sneddon / KGD / PKN benchmarks
Validity envelope
Closure stress4 – 12 kpsi
Treating pressurep > σ_h_min (vertical mode)
WindowPre-screenout pumping + post-closure ≤ 100 s
When it breaks
  • Post-screen-out tip-screenout regimes (mode IV)
  • Layered E′ contrasts > 3× without per-vertex moduli enabled
  • Bedding-plane horizontal mode (use bedding-plane card instead)
Last reviewed 2026-06-01
fluid-solid-coupling
Fluid–solid coupling
Benchmarked

Fully-coupled Newton-Raphson is the DEFAULT live path; explicit split kept as regression reference.

RMSE
0.130
log-units (PKN length, [0.5, 1] s window)
n = 3

Window-sweep tightened from 0.20 → 0.15 @ Phase 7 inc 21

Basin coverage
Synthetic + DFIT registry
Validity envelope
Newton convergence≤ 25 outer iters, residual ≤ 1e-6
MeshCell-strip Planar-3D; tip-refined opt-in
When it breaks
  • Aggressive `kic-clamped` tipBC overruns the 0.15 ceiling (drift-guarded)
  • Carter window > 100 s drifts without per-step injection sizing
Last reviewed 2026-06-01
leak-off
Leak-off
Benchmarked

Carter √t + kernel-coupled PDL + filter-cake + two-phase α_s throttle.

RMSE
7.20e-8
log-units (carter-falloff, mass-balance recovery)
n = 1

Per-step mass-balance vs kernel's discrete encoding 2·C_L·(√t_n − √t_o)/dt

Basin coverage
Synthetic Carter analytic
Validity envelope
C_L range1e-5 – 1e-2 m/√s
Falloff window[1, 100] s post-shut-in
FiltrateNewtonian (no rheological skin)
When it breaks
  • Spurt-dominated systems where C_L does not lump spurt cleanly
  • Multi-phase filtrate without α_s feedback
Last reviewed 2026-06-01
proppant-transport
Proppant transport
Research

Single-phase + Eulerian-Granular two-phase scaffold; wellbore proppant cascade is a preview, not field-validated.

Basin coverage
Synthetic settling / bedload benchmarks
Validity envelope
Concentration0 – 8 ppa (above 8 ppa untested)
Mesh size20/40, 30/50, 40/70, 100-mesh slickwater
When it breaks
  • Wellbore preview has no proppant-vs-fluid slip (carrier-tracking only)
  • No bridging / screen-out gate inside the wellbore cascade
  • Gel-load and temperature-dependent settling not in preview
Last reviewed 2026-06-01
simulator-backend
Simulator backend
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
coupling-direction
Coupling direction
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
wellbore-flow
Wellbore flow
Benchmarked

Steady hydrostatic + Swamee-Jain friction + opt-in transient drift-flux with DAK Z(p,T).

MAE
35.0
psi BHP vs gauge log (single-phase, n=2 wells)
n = 2

α stability frontier sweep recommends α=0.5; sour-gas via Wichert-Aziz

Basin coverage
Permian (slickwater)
Bakken (linear-gel)
Marcellus (slickwater)
Validity envelope
Rate10 – 120 bpm
Multiphaseα ∈ (0, 1) bubbly / slug / churn / annular
PressureStanding-Katz / DAK valid 0.1 ≤ p_r ≤ 30, 1.05 ≤ T_r ≤ 3
When it breaks
  • OLGA-class transient multiphase (out of scope today)
  • Highly inclined laterals where Beggs-Brill exceeds drift-flux validity
Last reviewed 2026-06-01
perf-erosion-clearance
Perforation erosion & clearance
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
parent-child-interference
Parent-child interference
Field-validated

Analytical screening (log-radial Δp + Eaton Δσ_h + asymmetry) + microseismic ingest.

MAPE
18.0
% asymmetry vs microseismic-fit drainage radius (n=4 pads)
n = 4

Permian-Wolfcamp + Bakken-Middle pilot pads, 2025-2026 vintage

Basin coverage
Permian-Wolfcamp
Bakken-Middle
Eagle Ford
Validity envelope
Spacing300 – 1,500 ft well spacing
DrawdownTime-resolved via per-parent τ_years + production start
Drainage radiusFit from microseismic catalog or regional preset
When it breaks
  • Sparse / shallow microseismic coverage drops drainage-radius fit confidence
  • Multi-bench parents without TVD-aware Mindlin layering
Last reviewed 2026-06-01
poroelastic-depletion
Poroelastic depletion (full tensor)
Benchmarked

Geertsma 2-D + 3-D Mindlin layered + thermo-poroelastic + runtime stress-coupled propagation.

MAE
8.00
° azimuth shift vs paired probe-point evaluator
n = 466

M2 SHmax→geometry t-loop drift-guard parity sweep

Basin coverage
Permian-Wolfcamp
Bakken-Middle
Eagle Ford
Marcellus-Dry
Validity envelope
Drawdown≤ 3,000 psi (2-D closed form); unbounded for 3-D Mindlin
Biot α0.5 – 0.9 (default 0.7 unconventionals)
GeometryParent treated as oblate disc
When it breaks
  • Highly anisotropic E_h / E_v (TIV) — use bench-aware per-layer ν, α
  • Time-varying thermal patches without diffusivity calibration
Last reviewed 2026-06-01
thermo-mechanical-hydraulic
Thermo-mechanical-hydraulic (3-D voxel)
Benchmarked

Phase 9 T-M-H 3-D voxel: implicit T → P → σ_h with bench-aware E′/α and convective transport.

L∞
0.500
% mass-balance (worst, FI scenarios)
n = 16

TrustRollupChip aggregate over /numerics-validation SI + FI scenarios

Basin coverage
Synthetic 3-D voxel + EGS / cold-injection geometries
Validity envelope
MeshRegular voxel grid; TPFA-conduction, CG-SPD
CouplingSegregated implicit-Euler; chained AFTER blackOil3PCoupling
Bench-aware E′/αOpt-in per-K-layer via benchLayeredProps
When it breaks
  • Highly anisotropic conduction (only isotropic k_T today)
  • Phase-change latent heat not in T equation
Last reviewed 2026-06-01
non-planar-3d
Non-planar 3D fracture solver
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
ufm-fully-3d
UFM / Fully-3D DFN
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
fleet-cohort-drivers
Fleet-cohort driver analysis
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
autopilot-closed-loop
Autopilot closed loop (advisory + opt-in auto-apply)
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
multi-pad-coordination
Multi-pad coordination (shared fleet)
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
co2-injection-physics
CCS / CO₂ injection physics
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
auto-rta-surveillance
Auto-RTA surveillance loop
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
surface-network-solver
Surface network solver (steady-state)
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
frac-boundary-conditions
Boundary conditions
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
state-spec-flash
State-spec multiphase flash (PT + PH + PS)
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
flow-diagnostics
Flow diagnostics (TOF + tracer partition + Lorenz)
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
fdi-bidirectional-loop
FDI bidirectional loop (parent depletion ↔ child growth)
Research

Research-grade — not yet field-validated.

Basin coverage
Not yet field-validated.
When it breaks
  • No published error band yet — use with engineering judgment.
Last reviewed 2026-06-01
§3 — Equation provenance

Four marquee equations, in plain sight

Each card carries the formula, what it means, the assumptions that make it valid, where it stops being valid, and which surfaces in the app consume it.

Carter leak-off (fluid loss to matrix)
v_L(t, τ) = C_L / √(t − τ)

1-D fluid loss across the fracture face since first exposure at time τ. The single most-tuned knob in any fracture model.

Assumptions
  • Planar fracture, 1-D linear leak-off
  • Carter coefficient C_L lumps spurt, filtrate, and pore-pressure transient
  • Newtonian filtrate (no rheological skin)
Validity

Pre-screenout pumping + Carter II falloff window in DFIT post-closure analysis.

Used in
DFIT calibration
PKN/KGD/Radial fracture solvers
Field validation residuals
Nolte–Smith net-pressure mode
slope = d log(P_net) / d log(t)

Live mode classification: I (flat, radial) · II (negative, height growth) · III (shallow positive, tip-screenout precursor) · IV (steep positive, true screen-out).

Assumptions
  • Single dominant fracture (no parallel banks)
  • ISIP cleanly identifiable
  • Closure pressure pickable from G-function or √t plot
Validity

Live pumping window between pad start and ISIP. Not valid post-shut-in.

Used in
/live-pumping NolteSmithPanel
Auto-HM RMSE objective
Diagnostic Studies tornado
Geertsma poroelastic stress drop
Δσ_h = α · (1 − 2ν) / (1 − ν) · ΔP_pore

Eaton / Geertsma 2-D Lamé inside/outside-disc stress drop in a depleted zone. Drives parent-child interference, frac-hit bashing, and SHmax rotation under depletion.

Assumptions
  • Linear poroelastic medium, isotropic elastic moduli
  • Biot α from rock-physics; default 0.7 for unconventionals
  • Depleted compartment approximated as an oblate disc
Validity

Drawdown ≤ ~3,000 psi for the 2-D closed form. 3-D Mindlin layered extension lifts the depth limit.

Used in
/parent-child stress shadow
Child fracture bend coupling
Thermo-poro time loop
Buckley–Leverett saturation front
f_w(S_w) = λ_w / (λ_w + λ_o) (Welge tangent)

1-D fractional flow + Welge tangent construction for the multiphase saturation shock. The trust gate every IMPES black-oil solver gets compared against.

Assumptions
  • Corey rel-perm with picked endpoints
  • Incompressible immiscible 2-phase flow
  • No capillary pressure (or Pc applied as a post-process)
Validity

1-D core-flood scale; 2-D/3-D solvers are compared in L1/L∞ norm against this analytic.

Used in
Black-oil trust gates
Numerics validation comparator
Grid convergence harness
§4 — Where AI lives (and where it doesn't)

The honest boundary

Core solvers — pure physics

Fracture mechanics, leak-off, proppant transport, poroelastic depletion, wellbore hydraulics, black-oil reservoir, thermo-mechanical-hydraulic coupling — every computation is deterministic, equation-based, drift-guarded by automated tests.

  • • No ML models in the inner loop
  • • No statistical surrogates substituting for physics
  • • Bit-identical results across runs given the same inputs
Where AI helps — at the edges

Large-language models speed up authoring and answer engineer questions in context. The output is always a proposal the engineer reviews before it touches a simulation.

  • Design Copilot — narrows factor bounds before optimization
  • AI Author — drafts a full deck from a plain-English brief
  • • ⌘K command palette — natural-language routing
  • • Engineer Copilot — explains the active Builder panel
§5 — Validation against measured data

How we check our own work

Every workspace can run field-validation campaigns: upload measured gauge logs (t, P, T) or gradient surveys (MD, P, T), attach DFIT residuals and Pressure-Advisor cross-checks, and the app emits an honest pass/watch/fail verdict per measurement.

Beyond field data, the solver is continuously gated against four analytical benchmarks: Buckley-Leverett shock speed, McWhorter-Sunada imbibition, Morel-Seytoux 5-spot sweep, and Theis radial pressure transient. Any regression fails CI before it can ship.

§7 — Who built this

Team & credentials

Built by domain engineers with combined decades of completions, reservoir, and geomechanics experience. Full team credentials and academic references available on request for procurement review.

Contact team@wellboregenius.com for a credentials packet or a technical deep-dive call.

This page is the public-facing summary. The full kernel declaration lives at /solver-spec and is versioned in source.