ktrap effective vs depth — end-to-end trace
Drives the production computeFlowbackDiagnostics (the same code path used by the transport panel) for each selected proppant type at depths from 4 000 to 16 000 ft TVD, and plots both the returned kTrapEffective (which must be constant per type and equal to k_trap,base × m_type) and the resulting trapped fraction ηtrap.
kTrapEffective vs depth
kTrapEffective is depth-independent (k_trap,base × m_type), so each curve is a horizontal line. Verifies the multiplier is applied consistently across the full depth range.
Trapped fraction ηtrap vs depth (250 klb stage)
Same kTrapEffective fed into η = 1 − exp(−kTrapEff · M · k_eff(D)) with the closure-stress permeability profile k_eff(D) = clip(30·exp(-(D-4000)/4500), 1, 50) mD.
Numeric trace
| Depth (ft) | k_eff (mD) | sand η% | resin η% | ceramic η% | ulw η% |
|---|---|---|---|---|---|
| 4,000 | 30.0 | 42.0 | 62.5 | 53.3 | 31.7 |
| 5,000 | 24.0 | 35.3 | 54.4 | 45.7 | 26.3 |
| 6,000 | 19.2 | 29.5 | 46.6 | 38.7 | 21.7 |
| 7,000 | 15.4 | 24.4 | 39.5 | 32.4 | 17.8 |
| 8,000 | 12.3 | 20.1 | 33.2 | 26.9 | 14.5 |
| 9,000 | 9.9 | 16.4 | 27.6 | 22.2 | 11.8 |
| 10,000 | 7.9 | 13.4 | 22.8 | 18.2 | 9.6 |
| 11,000 | 6.3 | 10.9 | 18.7 | 14.9 | 7.7 |
| 12,000 | 5.1 | 8.8 | 15.3 | 12.1 | 6.2 |
| 13,000 | 4.1 | 7.1 | 12.4 | 9.8 | 5.0 |
| 14,000 | 3.3 | 5.7 | 10.1 | 7.9 | 4.0 |
| 15,000 | 2.6 | 4.6 | 8.2 | 6.4 | 3.3 |
| 16,000 | 2.1 | 3.7 | 6.6 | 5.2 | 2.6 |
Source: computeFlowbackDiagnostics in src/lib/proppantTransportAdvanced.ts — the exact same function the transport panel uses in production.