Proppant transport
Single-phase + Eulerian-Granular two-phase scaffold; wellbore proppant cascade is a preview, not field-validated.
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 tracker (bilinear-sampled bulk velocity + RZ-hindered Stokes slip + per-particle bridging gate, mass-conservative seed↔bin round-trip), AND kernel-side α_s feedback into the Carter leak-off sink @ Phase 5 inc 6, beta — full two-phase ↔ leak-off loop closed + Phase 8 — wellbore proppant cascade preview (`wellboreProppantPreviewDriver.ts` + `wellboreScalarTransport.ts`): 1-D first-order upwind scalar advection of clean-carrier ppa down the segmented string on the recovered face-velocity field, with multi-slug `runScheduleProppantPreview` consuming a `TreatmentStep[]` schedule (preflush · pad · slurry · postflush role bands) so surface-prescribed ppa(t) → bottom-cell ppa(t) drives the perf-arrival concentration fed into `proppantPlacement`. HONEST SCOPE (preview only, NOT field-validated): single-species scalar (no inter-species coupling), NO proppant-vs-fluid slip in the wellbore (carrier-tracking bulk velocity), NO bridging / screen-out gate, NO perf erosion or friction feedback from the transported solids, NO gel-load or temperature-dependent settling. Drift-guards: `wellboreProppantPreviewDriver.test.ts` (7) + `wellboreScalarTransport.test.ts`
Validation against site DFITs and offset history. Field-validation ingest path shipped @ Phase 7 inc 22 — `/projects/$p/workspaces/$w/field-validation` accepts measured downhole streams + Pressure Advisor cross-checks (team-shared via `field_validation_campaigns` RLS) so two-phase / leak-off behaviour can be challenged on real-site data without solver-code changes. **Moat M3 (settling-bed proppant transport + screen-out predictor) primitive + kernel wiring LIVE end-to-end** — pure `src/lib/planar3d/settlingBedScreenOut.ts` Tier-2 primer + opt-in `screenOutPolicy` field on `coupledWidthPressureStep` that, after each Picard sweep, walks the mesh once, estimates per-cell wall shear from `(w/2)·|∇p|`, evolves `bedHeightM` via `bedHeightAfterStepFt`, classifies per-cell risk labels + worst-cell chip, AND emits a per-cell `bypassVelocityMultiplier` = `1/(1 − φ)` (clamped [1, 20]) for the NEXT-step mobility feedback. `bypassVelocityMultiplierIn` on the input feeds the multiplier back into the lubrication assembler as an effective width `w · mult^(1/3)` so mobility `k = w³/(12μ)` scales LINEARLY by `mult` — closing the M3 next-step feedback loop. Undefined ≡ byte-identical legacy. Drift-guards: `settlingBedScreenOut.test.ts` (16) + `coupledStepScreenOutPolicy.test.ts` (10 — 5 policy contract + 5 bypass round-trip).
- Phase 5 inc 6shipped
eedback into the Carter leak-off sink @ Phase 5 inc 6, beta — full two-phase ↔ leak-off loop closed + Phase 8 — wellbore proppant cascade preview (`wellboreProppantPreviewDriver.ts` + `wellboreScalarTransport.ts`): 1-D first-order upwind s…
- Phase 8shipped
full two-phase ↔ leak-off loop closed + Phase 8 — wellbore proppant cascade preview (`wellboreProppantPreviewDriver.ts` + `wellboreScalarTransport.ts`): 1-D first-order upwind scalar advection of clean-carrier ppa down the segmented string…
- Phase 7 inc 22planned
Field-validation ingest path shipped @ Phase 7 inc 22 — `/projects/$p/workspaces/$w/field-validation` accepts measured downhole streams + Pressure Advisor cross-checks (team-shared via `field_validation_campaigns` RLS) so two-phase / leak-…
| Concentration | 0 – 8 ppa (above 8 ppa untested) |
| Mesh size | 20/40, 30/50, 40/70, 100-mesh slickwater |
- 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