关井回温反演注入剖面:算法、公式与第 2 期次试算
日期 2026-09-12。目标是用一套可复现的公式,从 DTS 关井回温数据得到 PPT 第 3、4 页那种”各簇注入百分比”。脚本 warmback_inversion.py 与本文同目录,输入为第 2 期次主文件,射孔簇深度取自第 1 期次 PPT。
1. 物理模型
Section titled “1. 物理模型”关井后井筒里没有流动,温度靠岩石向井筒径向导热恢复。把注入结束时每簇周围的冷区近似为半径 的圆柱,初始温差 ,放在无限大均匀岩石中。圆柱轴线上的温度亏损随时间的解是
, 是关井后时间, 是岩石热扩散率,量级 。
当 ,式 (1) 退化为瞬时线热汇解
是单位井长储存的冷量,单位 J/m, 是岩石导热系数。于是晚期乘积
只和单位井长的冷量成正比,不再依赖 和 各自的取值。这一点很重要:用式 (1) 拟合时 和 会互相补偿,单独哪一个都不稳,乘积是稳的。
2. 从冷量到注入量
Section titled “2. 从冷量到注入量”某簇的冷量分两部分。一部分是注入期间冷液流过井筒、靠导热冷却了近井岩石,这部分沿井均匀,盲管段也有,记 。另一部分是注入液进入地层带走的热量,只有吸液的簇才有:
是进入第 簇的液量, 是簇长, 是注入液与地温之差。假设各簇 和 相同,注入比例为
、、、 全部约掉,不需要岩石参数。 取该簇两侧盲管段的 中位数。
如果不扣盲管,直接 ,得到的是”该簇附近单位井长总冷量”的分布,包含井筒背景,簇间差异会被压平。PPT 的结果是否扣了盲管无从得知,两种都算。
3. 算法步骤
Section titled “3. 算法步骤”- 基线:取注入前 100 个剖面的平均,得 。
- 亏损场:, 从关井时刻 09-17 04:50 起算。
- 沿井每 2 m 取一个 4 m 窗口,在 h 上用式 (1) 拟合,得 、,记 。前 4 小时不参与拟合,原因见第 5 节。
- 每簇取射孔深度 ±4 m 窗口,同样拟合得 。
- 参考值:该簇两侧 15 到 40 m 范围内、且离任何簇都超过 15 m 的窗口,取 的中位数为 。
- 按式 (5) 算比例。另算不扣盲管的 。
- 模型无关的交叉检验:直接用 4 到 28 h 亏损的时间积分代替 ,走同样的步骤。
一个补充指标:,关井后头 1.5 小时的升温量。纯导热下这个量沿井应当平滑,出现台阶说明井筒里有流体移动。
4. 第 2 期次试算结果
Section titled “4. 第 2 期次试算结果”各簇回温曲线与拟合。灰色区是排除的前 4 小时:

沿井的 剖面与早期升温指标:

数值表。 单位 ℃·h:
| 簇 | 深度 m | 扣盲管 % | 不扣盲管 % | 头 1.5 h 升温 ℃ | |||
|---|---|---|---|---|---|---|---|
| 12 | 2468 | 56 | 56 | 0 | 0 | 6.0 | 9.1 |
| 11 | 2533 | 54 | 53 | 1 | 1 | 5.7 | 9.8 |
| 10 | 2593 | 58 | 57 | 1 | 1 | 6.2 | 2.7 |
| 9 | 2662 | 61 | 61 | 0 | 0 | 6.5 | 1.8 |
| 8 | 2721 | 64 | 65 | −1 | 0 | 6.9 | 2.6 |
| 7 | 3023 | 95 | 91 | 4 | 4 | 10.1 | 9.5 |
| 6 | 3064 | 99 | 105 | −6 | 0 | 10.6 | 10.3 |
| 5 | 3160 | 99 | 106 | −7 | 0 | 10.6 | 15.0 |
| 4 | 3215 | 104 | 104 | 0 | 0 | 11.1 | 16.7 |
| 3 | 3285 | 52 | 56 | −4 | 0 | 5.6 | 17.1 |
| 2 | 3318 | 63 | 67 | −4 | 0 | 6.8 | 14.2 |
| 1 | 3357 | 129 | 48 | 82 | 94 | 13.8 | 5.0 |
三栏样式的剖面图,用扣盲管的结果:

与第 1 期次 PPT 两组反演结果并排:

5. 结果解读
Section titled “5. 结果解读”只有簇 1 是干净的注入信号。 3357 m 处 有一个 15 m 宽的孤立尖峰,值 129,两侧盲管 48,超出 82 ℃·h。这是”局部冷区半径大于两侧”的教科书形态,可以肯定簇 1 在第 2 期次吸了液。第 1 期次两种光缆也都把簇 1 列为主力簇之一。
其余 11 簇在局部尺度上分不出来。 它们的 和两侧盲管一样,差值在 ±7 以内,是噪声水平。不是这些簇没吸液,是井筒尺度的另一个过程把簇尺度的信号盖住了:
- 剖面呈台阶状。2350 到 2760 m 是 55 到 65,2760 到 3230 m 逐渐升到 105 并形成 180 m 宽的平台,3230 到 3250 m 之间陡降到 55,3370 m 以深回到 45。
- 头 1.5 小时升温指标呈镜像。2533 m 处从 12 陡降到 2,3100 到 3330 m 高达 15 到 18 ℃,3340 m 以深又降到 5。
- 这些边界锐利、宽度上百米的分段,导热做不出来。它们说明关井后井筒里有流体重新分布:某些段来了暖流体,某些段留住了冷流体。最可能的机制是水平段轨迹起伏,关井后密度大的冷注入液沉到低洼段,暖的地层流体或油浮到高点段。3050 到 3230 m 存冷量最大,像是一个低洼;3230 到 3340 m 升温最快,像是一个高点。没有井斜数据无法证实。
不扣盲管的那一列形态上更像 PPT。 簇 1 最大 13.8%,簇 4 到 7 在 10 到 11%,其余 6 到 7%。但这一列反映的是井筒分段储冷,不是各簇吸液。如果 PPT 的方法也没扣盲管,它的结果里同样混有这个成分,这是需要向原作者核实的地方。
与第 1 期次的可比结论只有一条:趾端簇 1 两期都是主力。第 1 期次的簇 3 是最大注入簇,第 2 期次簇 3 所在的 3285 m 恰好落在关井后快速升温的那一段里,信号被冲掉了。
6. 让反演可靠需要补的东西
Section titled “6. 让反演可靠需要补的东西”- 井斜数据,即测深对垂深的轨迹表。有了它可以判断 剖面的台阶是不是轨迹起伏造成的,并把高低点段从分析里剔除或单独建模。
- 第 2 期次泵注记录,确认 04:50 关井时刻。关井时刻错 10 分钟,早期拟合就会偏。
- 第 1 期次的原始数据。把本算法跑一遍,和 PPT 的百分比对照,才能知道 PPT 用的是扣盲管还是不扣盲管的口径。
- 更长的关井记录不再需要,29.5 小时已经足够进入式 (2) 的晚期区。
warmback_inversion.py,Python 3,依赖 numpy、scipy、matplotlib。参数在文件头部:井口采样点 I0、采样间隔 DX、关井时刻 SHUT、拟合时间窗 T_FIT0/T_FIT1、窗口宽度、参考带范围、簇深度表。输出四张图和一个 energy_profile.npy,后者存沿井的 、、 和积分。