Phase-field + DEM laminated shale
He-Hutchinson kink-vs-pierce, linear cohesive traction-separation (Mode I/II), AT-1/AT-2 damage with irreversible history, MTS kink-angle, and σh degradation hook into the Geertsma engine. Pure primer — 1-D and per-cell; not yet wired into a full M-cell DEM kernel.
Pure Hertz-Mindlin: F_n = (4/3)·E*·√R*·δ^1.5, Coulomb-capped Mindlin tangent. Bridging ratio N_b = w/d with smooth ramp across the critical band (default 2.5). Stress transfer at full bridging σ_rock = η·I·p_net with η=0.8. Drift-guard: proppantDemTip.test.ts (19 tests).
| Stage | d | σh before [psi] | σh after [psi] | Δσh [psi] |
|---|---|---|---|---|
| 1 | 0.998 | 6200 | 0 | -6200 |
| 2 | 0.499 | 6200 | 1555 | -4645 |
| 3 | 0.150 | 6200 | 4482 | -1718 |
One-way coupling via applyPhaseFieldFeedback. Stages with damage above ~10⁻⁹ get a σh degradation; zero-damage stages pass through identity-equal so legacy snapshots stay green.
| Stage | N_b | Intensity | σ_rock [psi] | d | Δσh [psi] | σh_eff [psi] | Aperture [ft] |
|---|---|---|---|---|---|---|---|
| S1 | 6.67 | 0.00 | 0 | 0.000 | 0 | 6200 | |
| S2 | 3.33 | 0.17 | 1267 | 0.000 | 0 | 6200 | |
| S3 | 2.00 | 1.00 | 8000 | 0.863 | 6084 | 116 |
Each row chains tipStressTransfer (B3, Hertz-Mindlin + bridging) into updateDamageAT (B4), then applies effectiveSigmaHReductionPsi to the lamina σh. The damageByStage output is drop-in for applyPhaseFieldFeedback on /parent-child.
Method: Bourdin–Francfort–Marigo phase-field with AT-1/AT-2 driving form, He-Hutchinson kink/pierce criterion, linear cohesive traction-separation, and B5 tip-bridge → damage → σh coupling. Drift-guarded by phaseFieldDemLaminatedShale.test.ts, phaseFieldShmaxFeedback.test.ts, and proppantDemPhaseFieldCoupling.test.ts.