几何参数化建模片段

张开发
2026/5/16 20:58:32 15 分钟阅读
几何参数化建模片段
COMSOL模拟流固传热CO2注入井筒过程的温度压力变化以及对于地层温度的干扰考虑油管壁套管环空流体套管壁水泥管的导热作用地下2000米的井筒里CO₂以超临界状态高速注入的瞬间油管表面温度会在5秒内骤降15℃。这个看似简单的注气过程隐藏着复杂的多物理场纠缠。我们搭建的COMSOL模型就像一台X光机正在透视井筒结构中每层材料的热传导暗战。模型架构先从几何切蛋糕开始。油管直径88.9mm套着套管直径244.5mm中间环空填满氮气外层水泥环厚度控制在25.4mm。用旋转扫掠生成的几何体自带轴向对称属性这对计算资源友好tube_dia 88.9 # 油管内径 mm casing_gap 15 # 环空宽度 mm cement_thick 25.4 # 水泥环厚度 model.geom(geom).feature().create(rsw1, RotatedSweep)千万别小看套管环空里的氮气——它的热对流系数达到78 W/(m²·K)在瞬态传热中扮演着温度快递员的角色。设置材料属性时特别注意将套管钢材的各向异性导热系数拆解% 套管材料属性设置 steel_thermal_x 45; // 径向导热系数 W/(m·K) steel_thermal_z 38; // 轴向导热系数 mphmaterial(casing).property(thermal_conductivity, [steel_thermal_x, steel_thermal_z]);当注入速度突破临界值约8m/s时CO₂与油管内壁的对流传热开始出现湍流脉动。这时候需要用Brinkman方程捕捉环空流体的微观运动同时耦合固体传热模块// 多物理场耦合设置 physics.create(fsi, BrinkmanEquations, geom); physics.create(heat, HeatTransfer, geom); interface model.physics.create(ctfe, ConjugateHeatTransfer, geom); interface.feature().set(HeatSource, on);网格划分暗藏玄机。在油管与水泥环接触的边界层采用边界层网格加密单元尺寸从5mm渐变到50mm。但要注意当加密层数超过8层时计算时间会呈指数级增长——这个平衡点需要反复试算。COMSOL模拟流固传热CO2注入井筒过程的温度压力变化以及对于地层温度的干扰考虑油管壁套管环空流体套管壁水泥管的导热作用模拟结果显示注气30分钟后水泥环外缘温度较原始地层温度下降4.2℃但压力波动仅影响半径15米范围内的岩层。有意思的是套管壁轴向温度梯度在井深1500米处出现突变这与环空氮气的自然对流漩涡位置完全吻合。有个容易踩坑的细节当设置地层初始温度场时必须考虑地温梯度这里取3℃/100m。直接设为恒温会导致前1分钟的计算结果严重失真// 地层初始温度场 double geothermal_gradient 0.03; // ℃/m for (int i0; imesh.points; i) { double z mesh.point[i].z; T_initial[i] 25 z * geothermal_gradient; // 地表25℃起算 }在求解器配置方面推荐使用分离式步进法。当时间步长设为0.5秒时既能捕捉到CO₂相变时的温度跃迁又不会触发数值震荡。不过要记得勾选自动缩减时间步选项特别是在压力波峰通过的瞬间。这场热力学的攻防战持续到注气结束后的热恢复阶段。模型显示即使停止注气8小时套管环空内仍保持着0.7℃的温度差梯度——这解释了现场有时观测到的延迟性套压异常现象。通过调整水泥的热容参数我们发现当导热系数超过1.8 W/(m·K)时地层温度干扰范围会缩小23%。

更多文章