Wellbore Genius

Thermal sensitivity dashboard

Sweep cooled-zone temperature contrast (ΔT) and rock thermal expansion (α_T) over a field-point traverse from a single circular patch, and watch Δσh_min / Δσh_max change with distance. The plan-view kernel does not model TVD directly — distance maps to depth in /parent-child via the Mindlin layered overlay.

Import thermal patches (JSON)

Upload or paste a { kind: "thermal-patches.v1", patches: […] } envelope (or a bare patch array). The kernel runs analyzePoroelastic on the uploaded configuration with no parents, isolating the thermal contribution.

Sign-convention validator

Type a probe point and ΔT; the validator predicts the expected principal-sign outcome, runs the kernel with parents = [], and verifies each component.

Encodes ΔT, probe (x, y), SHmax az, tolerances, and current branch (cooling-outside).
Presets
Captures branch, ΔT, probe, SHmax az, tolerances, and per-check predicted/actual sign + rationale.
cooling-outsider = 400.0 ft · a = 200.0 ft · θ→SHmax = 0.0° · B = 13.33 psi/°Fall signs match

Cooling, outside the disc (r = 400.0 ft > a = 200.0 ft). Hoop reversal: Δσ_rr = −Δσ_tt, so the trace is ≈ 0. The radial direction is 0.0° from far-field SHmax, so radial aligns with SHmax → Δσ_h_max < 0 (radial reduced) and Δσ_h_min > 0 (tangential lift).

+x (E)+y (N)SHmax far-field axis (undirected) azimuth (N→E): 90.0°SHmax far-field axis (undirected) azimuth (N→E): 90.0°SHmaxCooled patch boundary radius a: 200.0 ftθ = angle between radial ray and SHmax axis θ: 0.0° radial az: 90.0° SHmax az: 90.0° branch: cooling-outsideθ = angle between radial ray and SHmax axis θ: 0.0° radial az: 90.0° SHmax az: 90.0° branch: cooling-outsideθ = angle between radial ray and SHmax axis θ: 0.0° radial az: 90.0° SHmax az: 90.0° branch: cooling-outsideθ 0°Radial bearing from patch center to probe azimuth (N→E): 90.0° math angle (from +x, CCW): 0.0° distance r: 400.0 ftRadial bearing from patch center to probe azimuth (N→E): 90.0° math angle (from +x, CCW): 0.0° distance r: 400.0 ftPatch center (0, 0) radius a: 200.0 ftProbe point (x, y): (400.0, 0.0) ft r: 400.0 ft radial az: 90.0° θ to SHmax: 0.0° branch: cooling-outside (drag to move)Probe point (x, y): (400.0, 0.0) ft r: 400.0 ft radial az: 90.0° θ to SHmax: 0.0° branch: cooling-outside (drag to move)Probe point (x, y): (400.0, 0.0) ft r: 400.0 ft radial az: 90.0° θ to SHmax: 0.0° branch: cooling-outside (drag to move)(400, 0)ê_SHmax — unit vector along SHmax direction azimuth (N→E): 90.0°ê_SHmax — unit vector along SHmax direction azimuth (N→E): 90.0°ê_SHmaxê_r outward — unit radial, away from patch center azimuth (N→E): 90.0°ê_r outward — unit radial, away from patch center azimuth (N→E): 90.0°ê_r (out)ê_r inward — unit radial, toward patch center (sign convention: positive Δσ_rr = compression along this axis)ê_r inward — unit radial, toward patch center (sign convention: positive Δσ_rr = compression along this axis)ê_r (in)
patch center · a = 200 ftprobe · radial ray (drag to move)SHmax axisê_r outê_r inê_SHmaxextent ±460 ft
ComponentPredictedActual signValue [psi]OK?
Δσ_h_max-3.333e+2
Δσ_h_min++3.333e+2
trace (Δh_min + Δh_max) ≈ 0000.000e+0

ΔT sweep (α_T held)

Δσ_h_min vs distance [psi]

Δσ_h_max vs distance [psi]

α_T sweep (ΔT held)

Δσ_h_min vs distance [psi]

Δσ_h_max vs distance [psi]