☰
渗透率各向异性如何影响顺层钻孔瓦斯抽采半径?COMSOL模拟实践
2026/10/15 1:39:29 网站建设 项目流程

帮某矿论证顺层钻孔瓦斯抽采参数的时候,我就只把渗透率从各向同性改成各向异性,同一个模型、同一套边界条件,抽采半径直接从28米掉到了14米。项目组听完安静了好一会儿,我坐在电脑前盯着结果也愣了挺久。后来我想明白了,不是模型错了,是之前大部分人都把煤体当成了"均匀介质"在处理,而煤体的渗透率天生就是方向敏感的。这次用COMSOL做了完整的顺层钻孔瓦斯抽采模拟案例,把渗透率各向异性老老实实设置进去以后,很多之前解释不通的压力场形态就都说得通了。这篇文章不打算从头到尾讲一遍软件操作手册,而是把这次建模过程中的核心操作、参数设置的逻辑,以及几个特别容易踩雷的地方拆开来聊,给以后要做类似模拟的朋友留个参考。

文章主要面向两类人:一类是做瓦斯抽采设计、需要定量评估抽采半径和布孔参数的技术人员;另一类是在校研究生,拿COMSOL做煤层气或瓦斯抽采模拟,但不一定系统接触过渗透率张量、煤层裂隙方向这些概念。如果你只是想把模型跑通,可能随便设个各向同性渗透率就够了;但如果你想让模拟结果能真正支撑抽采设计,那渗透率各向异性的处理这关必须过。下面按我实际操作的顺序来写。

1. 顺层钻孔模拟里,渗透率各向异性是怎么"坑人"的

1.1 煤体的渗透率为什么天生"方向敏感"

煤体跟砂岩、灰岩这类均质岩石不一样,它是典型的双重介质:既有煤基质里的微孔,也有宏观的裂隙系统。而这些裂隙并不是乱七八糟乱分布的,它们有很强的方向性。最典型的就是面割理和端割理——面割理方向连续性好、张开度大,渗透率最高;端割理方向中等;而垂直层理方向,裂隙的连通性最差,渗透率往往低一个数量级甚至更多。

这个特点反映到瓦斯抽采上,就是钻孔周围的瓦斯流动路径有明显的优势方向。顺层钻孔是沿着煤层布置的,钻孔轴线一般沿着层理面走,那抽采过程中瓦斯从远处往钻孔流动时,平行层理方向的贡献和垂直层理方向的贡献完全不是一个量级。如果模型里只用各向同性渗透率,等于把"高渗透方向"和"低渗透方向"揉在一起变成了一个平均值,压降场的形态自然就失真了。

在COMSOL里,这个"坑"的底层原因就一句话:默认的多孔介质渗透率设置是各向同性的,你不主动去改,软件就按照"各个方向一样"来算。很多朋友模型跑完发现等值线形状不对、抽采半径偏大偏小,根本原因往往在这里。

1.2 各向同性假设带来的量化偏差有多离谱

我这里有一个可以给大家做参考的案例。模拟对象是某矿的顺层预抽钻孔,孔径94mm,抽采段长度150m,原始煤层瓦斯压力1.5MPa,预抽期120天。平行层理渗透率取3md,垂直层理渗透率取0.3md,孔隙率0.05。

如果按各向同性来处理,取渗透率为两者的算术平均值(也就是1.65md),最后得到的抽采半径大约是28米。把同一组参数改成各向异性张量输入后,沿层理方向的半径还是可以到30米左右,但垂直层理方向的半径只有14米上下。你看,最大和最小半径差了不止一倍,而且仿真形态从圆形变成了明显的椭圆形。

这个偏差放到工程上就不是小事了。如果按各向同性的28米半径去布孔,孔间距可能排到40米以上,而实际垂直方向只有14米的抽采半径,那两排钻孔之间的煤体很可能会留下抽采盲区,预抽时间到了指标却达不了标,工作面就得停产补抽。这种代价,项目上谁都承担不起。

1.3 现场给的数据到底是哪个方向,必须问清楚

做模拟之前,你有很大概率会拿到地质报告里的渗透率数据,但这个数据对应哪个方向,很多人没想过。现场试井做注入/压降测试时,测试段如果是顺层方向布置的,得到的就是平行层理渗透率;如果是钻孔垂直层理面穿过的,得到的就是垂向渗透率;实验室做岩心渗透率测试就更讲究方向了,取芯方向和层理面的夹角直接决定了测出来的是"哪个k"。

我个人的处理习惯是:拿到数据先画一张方向关系草图,把层理面方向、钻孔轴向、坐标轴向三者画清楚。如果地质报告里只给了一个"平均渗透率"而没有说明方向,那就得去问测井或地质专业的人,能不能补给出平行层理和垂直层理的分项数据。实测数据实在缺方向信息时,模型宁可做敏感性分析——把渗透率各向异性比值从2倍扫到10倍——也不能拍脑袋填一个各向同性的值。

2. COMSOL建模前的三个必要准备

2.1 物理场选型:达西定律就够了,别把问题搞复杂

COMSOL里可以做瓦斯抽采流动的物理场有好几个,达西定律、理查兹方程、多相流、裂缝流动接口都能沾边,但做顺层钻孔瓦斯抽采这种问题,我建议老老实实用达西定律。原因很简单:瓦斯在煤体中的渗流,工程尺度上就是一个单相气体在饱和多孔介质中的达西流,不涉及水的驱替过程,也不涉及非饱和区的毛细压力问题,用达西定律最干净、最稳定。

具体操作路径是:模型向导里选择二维或三维,在物理场树里找到"流体流动"下方的"多孔介质",选"达西定律",研究类型选"瞬态"。这里注意,如果你只需要评估某个时间点的抽采半径,依然建议用瞬态研究,因为瓦斯抽采本质上是压力慢慢下降的过程,稳态解只能代表最终平衡态,并不能反映预抽期第30天、第60天时的抽采效果。

2.2 渗透率张量怎么从实测数据变成模型参数

达西定律的渗流方程是q = -(K/μ)·∇p,这里的K不再是一个标量,而是一个二阶张量。在COMSOL里,最常见也最实用的是正交各向异性形式,即主渗透率分别沿三个坐标方向,张量矩阵为:

K = [[Kxx, 0, 0],[0, Kyy, 0],[0, 0, Kzz]]

如果你拿到的地质数据明确给出了平行层理两个方向(比如走向和倾向)的渗透率,加上垂向渗透率,就可以直接填入这个对角张量。但要注意单位的换算:工程上煤体渗透率习惯用毫达西(mD),1mD大约是1e-15m²,更精确地说是0.987e-15m²。建模时建议统一按国际单位m²输入。

举个例子,平行层理面内、沿煤层走向的渗透率为3mD,沿倾向也是3mD,垂向为0.3mD,那么在COMSOL的渗透率设置里就填Kxx=3e-15,Kyy=3e-15,Kzz=0.3e-15,单位选m²。看起来简单,但如果你把单位搞成mD的数值直接填进去(也就是填3而不是3e-15),结果会差得离谱,这个问题在后面踩雷部分还要重点说。

2.3 几何提取与方向基准:先定坐标系,再放钻孔

建模最忌讳的就是"先画几何,再想方向"。因为渗透率张量是跟全局坐标系绑定的,你要是几何画完才发现层理面跟坐标轴对不上,后面改起来相当难受。

我的建议是三个步骤按顺序来:第一步,确定全局坐标系,让XY平面平行于层理面,Z轴垂直于层理面。这样平行层理渗透率就直接填在Kxx和Kyy里,垂向渗透率填在Kzz里,不需要任何旋转矩阵。第二步,把顺层钻孔放置在X轴方向上(或者Y轴方向也行,只要跟层理面内优势方向对齐即可)。第三步,再画计算区域的几何。

实际矿上如果层理面是倾斜的,那就把坐标系旋转到层理面方向,或者用COMSOL里的坐标变换功能。总之核心原则是:让渗透率张量的主方向跟几何坐标轴重合,把所有"方向偏差"在建模前就消化掉,不要跑到求解器里跟它较劲。

3. 核心参数配置:从张量输入到底层物理的耦合

3.1 渗透率各向异性的具体设置位置与操作路径

在COMSOL的达西定律物理场节点下,找到"多孔介质"子节点,属性栏里有"渗透率"设置,默认下拉菜单是"各向同性"。点开以后改成"对角各向异性",就会出现Kxx、Kyy、Kzz三个输入框,把上面说的三个主值填进去即可。

如果层理面跟全局坐标之间存在角度,需要用到"非对角各向异性"或者旋转坐标系,这时候你要在渗透率设置里输入完整的对称张量分量:

K = [[K11, K12, K13],[K12, K22, K23],[K13, K23, K33]]

这些分量由主值旋转而来,计算方式就是标准的张量旋转公式。坦白说,绕轴旋转的计算在工程里很容易算错,我一般建议先在纸上画一遍方向关系,再用Python或计算器算好再填进去。如果你跟我一样用"旋转几何"的方式把整个煤层几何旋转到主方向上,那直接填对角张量就足够了,省事也省心。

3.2 气体密度不能设为常数,瓦斯是可压缩的

很多初学者做瓦斯抽采模拟,会把气体的密度设成常数,比如常温常压下甲烷密度约0.66kg/m³。这个做法在浅层、压降幅度小的场景下勉强能用,但顺层钻孔抽采压降往往从1.5MPa一路降到负压状态,密度变化非常明显,按常数算出来的压力场和流量场都会失真。

COMSOL里处理这个问题的办法很简单:在材料定义或者流体属性里,把密度直接选为"理想气体",输入摩尔质量(甲烷取0.016kg/mol),温度按矿方给定的煤层温度(比如300K)。这时候求解器会根据局部绝对压力自动更新气体密度,压力下降的过程中,单位体积内气体的质量也在下降,这才符合真实抽采过程中的气体膨胀流动规律。

粘度的处理可以简化。甲烷在常温附近,动力粘度大约1.1e-5Pa·s,随压力变化幅度在工程模拟中可以忽略,设为常数即可。但如果你的模型温度跨度很大或者压力达到几十兆帕,那就得用经验公式更新粘度,不过煤矿瓦斯压力一般也就几兆帕,犯不上给自己找麻烦。

3.3 Klinkenberg效应:什么时候必须开,什么时候可以偷懒

气体在低渗透介质中流动时存在滑脱效应,也就是靠近孔壁的气体分子不是静止的,这会让表观渗透率比绝对渗透率大。公式是k_app = k∞·(1 + b/p),其中b是克林肯伯格常数,跟孔隙结构有关,常见取值范围在0.01MPa到1MPa之间;p是当地气体绝对压力。

什么时候这玩意不能忽略?两个条件同时满足时要特别小心:一是煤体渗透率很低(低于0.1mD量级),二是局部压力已经降得很低(比如钻孔附近抽到负压状态)。这时候如果不考虑滑脱效应,钻孔壁附近的压降会算得过于剧烈,抽采半径偏保守,浪费抽采时间。反之,如果你模拟的是原始高压阶段的抽采(压力1MPa以上),滑脱项的作用相对有限,可以先不开启。

工程上我建议干脆开着。在COMSOL里实现也不复杂,定义一个变量kb = 1 + b/p,其中p是达西定律的压力变量,然后把渗透率张量的三个分量分别乘以kb就行。注意这里b的单位必须跟压力一致,填好以后在钻孔壁附近能看到渗透率明显增大,气流更顺畅,这更接近真实物理过程。

3.4 吸附解吸源项:简化处理办法与符号陷阱

瓦斯抽采本质上是"解吸-渗流-抽采"三个过程的串联。如果完全不考虑煤体中吸附态瓦斯的解吸补充,那模拟结果会严重高估负压衰减速度,因为孔隙里的自由气很快被抽光而吸附气没有补充进来。当然,完整的吸附-扩散-渗流耦合模型相当复杂,工程上做参数论证往往用一个简化的解吸源项就够了。

Langmuir等温吸附是常规做法。吸附量V = VL·p/(p + PL),其中VL是Langmuir体积(m³/kg),PL是Langmuir压力(Pa)。解吸速率的本质是:压力下降导致平衡吸附量减少,减少的那部分气体从煤基质进入孔隙变成自由气。所以质量源项可以写成:

q_source = ρ_gas · ρ_coal · VL · PL / (PL + p)² · (-dp/dt)

这里ρ_gas是气体密度,ρ_coal是煤体密度,dp/dt是压力对时间的导数。注意最后的负号不是随手加的:p在下降时dp/dt是负的,乘上前面的正系数必须再取一个负号才能得到正的质量源项(也就是向孔隙补充气体)。这个符号是我见过最容易错的地方,很多人源项方向一错,模拟结果直接变成"抽采过程里瓦斯越抽越多",一看就知道哪里出了问题。

在COMSOL达西定律的多孔介质子节点下,有一个"质量源"输入框,把上面这个表达式写进去就行。不过要提醒一点,这个简化模型没有考虑扩散阻力,对于渗透率特别低的煤体,解吸出来的气体不能瞬间进入裂隙网络,会有一个滞后。如果你需要更精细的结果,就得叠加扩散方程或者直接用COMSOL的多物理场吸附模块。但做布孔间距论证,这个简化的解吸源项通常够用了。

4. 网格划分与钻孔边界处理:细节决定成败

4.1 顺层钻孔几何的"孔-岩"尺度差异

顺层钻孔直径才94mm左右,抽采长度动辄一两百米,计算区域更是可以到几百米见方。这种跨尺度的几何,如果全尺寸三维建模,网格数量会爆炸,而且求解时间会让人怀疑人生。

实践中常用两种简化思路。第一种是二维剖面模型:沿钻孔轴线做一个切面,把问题压到二维平面上。这种模型跑得快,又因为渗透率各向异性已经被定义在XX和ZZ方向上,二维剖面可以完整反映"沿层理方向抽采范围广、垂直方向抽采范围窄"的核心特征。第二种是三维模型里把钻孔简化成细长圆柱,甚至用一条等效的汇线来代表抽采汇流面。

我的建议是分两步:先搭一个二维剖面模型,把所有参数和物理机制调通、把各向异性的影响规律摸清楚;需要出正式结果时再建三维模型做关键工况验证。二维模型跑一趟就几分钟,但能帮你迅速判断渗透率方向设错了没有,这是省钱省时间的最优解。

4.2 钻孔位置的边界层网格与等效半径处理

不管二维还是三维,钻孔壁附近的压力梯度都是全模型最大的地方,这里的网格直接决定计算的准确性。COMSOL里可以用边界层网格来加密钻孔壁附近区域:在钻孔边界上加5到8层边界层,第一层厚度取1到5mm,增长因子1.2到1.5,让网格从钻孔壁往外逐渐变粗。

孔径只有几厘米,周围却要加密到毫米级,几何上容易出现畸形网格。我的经验是,只要不研究钻孔壁附近的精细局部现象(比如孔壁煤体损伤带的气流阻力),可以把钻孔等效成一个直径稍大一点、水力性质等效的圆形边界。比如实际孔径94mm,建模时取等效半径0.05m,同时保持边界条件不变,对抽采半径评估的影响基本可以忽略。工程论证阶段,完全没有必要为了那几十毫米的几何尺寸去折磨网格生成器。

4.3 远场边界和对称边界怎么切才合理

边界条件有四个地方需要注意。第一,钻孔壁:用固定压力边界,绝对压力等于大气压减去抽采负压值。第二,远场边界:一般取离钻孔足够远的位置,固定为原始煤层瓦斯压力,判断标准是这个边界到钻孔的距离一定要大于模拟期望的抽采半径,保险起见取半径的2到3倍以上。第三,对称边界:如果模型开在钻孔轴线对称面上,可以用对称条件(默认就是零通量),只建一半区域即可。第四,顶底板边界:如果煤层上下都是致密岩层,按无通量处理;如果有相邻层位,可以考虑给不同渗透率做层间越流。

远场边界取多远的定量判断方法:先在粗网格上跑一个短时间的试探模型,看压降影响范围大概到哪里,然后按这个范围去扩展计算域。我习惯用120天预抽期做估算,如果预期半径30米,计算区域至少留出100米以上的远场余量,避免边界约束人为削弱压降扩展。

5. 最容易踩的四个雷:现象、原因、排查方法

5.1 雷点一:渗透率张量方向设反,压降形态完全翻车

这是我自己亲身遇到过的问题。当时我把Kxx填成了垂向渗透率、Kzz填成了平行层理渗透率,结果模拟出来的压降椭圆长轴指向了垂直方向,跟实际单孔抽采时"沿层理面扩展快、垂直层理面扩展慢"的现象完全相反。如果拿着这种结果布孔,那布出来的钻孔排列就是照着错误的方向优化的,后果可想而知。

排查方法其实很简单:在COMSOL里先跑一个稳态或者短时间的瞬态模拟,然后绘制速度场或者压力等值线。如果材料定义了正确的各向异性张量,速度场箭头一定会在高渗透方向更密集、传得更远;如果方向反了,一眼就能看出来。我在建模流程里专门加了一步"压降形态目检",不通过这一关,后面什么都别谈。

5.2 雷点二:负压边界用了表压,压力初始化就崩了

COMSOL的达西定律求解变量是绝对压力,单位Pa。钻孔壁上的抽采负压值一般是13到40kPa,很多人直接在边界条件里输一个负的数值,比如-30000Pa,这不是"负的表压",而是负的绝对压力,物理上等于把边界变成了一个真空甚至不存在的状态。正确的填法是:边界绝对压力 = 大气压 - 抽采负压 = 101325 - 30000 = 71325Pa。

初始值同样要用绝对压力。煤层原始瓦斯压力如果是1.5MPa,那初始值就填1.5e6Pa,不能填0。我见过不少案例,初始压力填0然后跑完整个压力场都是负的,解出来一看全是红色一片,那就是初始压力设置错了。检查方法很简单:结果里查看压力值范围,如果最低压力没有落在钻孔壁附近的70kPa附近,或者最大压力跟初始压力对不上,回头查边界条件和初始值的单位。

5.3 雷点三:单位混用后的数量级漂移

最常见的是渗透率单位问题。现场报告给你的渗透率单位是mD,COMSOL里默认国际单位是m²,换算关系我在前面写了:1mD约等于1e-15m²。如果你把"3mD"理解成"3e-15m²",那问题不大;但如果你直接填了一个3,那等于把渗透率放大了15个数量级,压降会在瞬间传遍整个计算区域,结果出来像是一块海绵一样,整个模型瞬间抽干。

孔隙率也会出问题。0.05是5%的孔隙率,你填5就是500%,COMSOL虽然会继续算,但结果完全没有物理意义。我的检查习惯是:所有参数填入模型后,先在"结果"里跑一个零时刻的初始解预览,看几个关键变量的数量级是否符合工程经验,再放开了跑瞬态。这一步多花两分钟,能省下后面排查的大把时间。

还有一个容易忽略的:摩尔质量单位。COMSOL理想气体密度公式里摩尔质量单位是kg/mol,甲烷是0.016kg/mol。如果你按g/mol填了16,那么密度会放大1000倍,模拟出来的压力场同样会失真。这些都是低级错误,但确实最容易发生在做了很多次模型、有点疲劳的时候。

5.4 雷点四:时间步长与非线性的拉扯

瓦斯抽采模拟的瞬态特性是:初期压降快,压力梯度陡;中后期压降缓慢,压力场趋于平缓。如果固定时间步长,步长太小会导致后期计算步数爆炸,步长太大初期就可能发散。COMSOL默认的自适应时间步长一般能处理这个问题,但初始步长如果没控制好,第一个解步就可能发散。

我的做法是:瞬态求解器的时间步长设置为自动,但把"初始步长"显式设为一个合理的小值(比如0.01天),终止时间设180天;同时输出时间点设置成对数分布或者每天输出一次,后面画R-t曲线时数据点也漂亮。

如果你开了吸附解吸源项,非线性会明显增强,偶尔会遇到迭代不收敛。排查思路是先把源项暂时关掉,跑通了再打开;打开后又发散,就把阻尼因子调低、最大迭代次数调高。COMSOL求解器日志里会显示残差曲线,根据残差是停留在某个量级还是持续震荡,能判断出是网格问题还是源项刚度问题。

6. 从模拟结果到布孔方案:抽采半径怎么转化

6.1 抽采半径的定义与后处理提取方法

预抽钻孔的抽采半径,指的是经过一定预抽时间后,钻孔周围煤体瓦斯压力降低到规定临界值的径向范围。这个临界值各矿不完全一致,我们项目上常用的是0.74MPa这个判定指标,也有地方用0.6MPa或者0.5MPa取严一点。具体用哪个值,要看矿井瓦斯等级和抽采达标评价标准,建模前就要定好。

COMSOL里提取抽采半径的方法是后处理的等值线功能:添加一个二维绘图组,画压力云图,然后把等值线级别设为你关注的临界压力值,比如0.74e6Pa。图形上会出来一圈闭合的等值线,在结果里测量这一圈到钻孔中心的最大和最小距离,那就是该时刻沿不同方向的抽采半径。为了要一条"抽采半径随时间变化"的曲线,可以在不同时间点重复这个过程,把点连起来,工程上就可以直接拿着这条曲线去排布孔方案了。

6.2 各向异性对抽采半径扩展形态的具体影响

各向同性模型里,压降等值线是一个标准的圆,抽采半径各个方向都相等。各向异性模型里,等值线变成椭圆,长轴沿高渗透方向。顺层钻孔如果沿着层理面走向布置,长轴通常平行于钻孔轴向或者层理面内优势方向,短轴垂直于层理面。

我这次案例里,长轴半径30米、短轴半径14米,长短轴比大约是2.1,正好对应渗透率比10的平方根量级(因为压降传播距离大致跟渗透率的平方根成正比)。这个规律很有用,你可以拿它来估算:如果垂向渗透率和水平渗透率差一个数量级,那长短轴半径大约差3倍左右。

布孔设计上,孔间距必须按短轴半径来定,这样才能保证任意两点之间的煤体都处在有效抽采范围内。沿高渗透方向可以放宽排距,但低渗透方向必须加密。如果布孔人员只按"平均半径"来定排距,大概率会在低渗透方向留下抽采盲区——这个教训在我最初版本里已经出现过了。

6.3 用模拟结果指导预抽方案的具体换算方法

有了不同方向的抽采半径随预抽时间变化的数据,就可以做布孔设计了。举个例子,假设预抽期定的是120天,模型的短轴半径是14米,那么沿垂直方向的钻孔间距要控制在2倍短轴半径以内,也就是28米以内;更稳妥的做法是再乘一个0.8的安全系数,取22到24米。沿高渗透方向的钻孔间距则可以放宽到30到40米,具体要看钻孔轨迹方向跟优势渗透方向的关系。

这里要特别提醒一点:单孔模拟的结果不能直接搬到多孔联合抽采现场。钻孔之间的压降场有叠加效应,相邻孔同时抽采时,中间区域的压降速度比单孔模型算出来的要快,抽采半径本质上也会互相影响。所以我的习惯是:先用单孔模型快速确定大致的孔间距范围,然后在此基础上建一个包含3到5个钻孔的多孔模型,带真实的钻孔间距和相对位置跑一遍,看孔间盲区是否消除。这样既不会让模型规模失控,又比单孔结果可靠得多。

另外,现场常常还会布置顺层多排钻孔、不同方向的交叉钻孔组合,这时候模拟结果可以直接用来对比不同布孔方案的抽采达标时间,选优的时候有定量数据支撑,评审会上说话也有底气。


最后再分享两个我这次实操中沉淀下来的小习惯。第一,任何新模型的第一次运行,先跑一个短时间、粗网格、不带吸附源项的"骨架版本",把渗透率方向、边界条件、单位全部验证通过,再逐步加物理过程。第二,参数敏感性分析不要只盯渗透率本身,各向异性比值(水平/垂直)往往比渗透率绝对值对抽采半径的影响更大,这个比值在现场数据不确定时至少要按2倍、5倍、10倍三档扫一遍,看最后布孔结论稳不稳定。我做瓦斯抽采模拟这几年最大的感触就是:模型跟现实之间永远有距离,但我们能做的是把每一个已知的物理机制老老实实放进去,而不是因为麻烦就把它绕过去。这次各向异性渗透率的坑,踩过一次之后,我反而觉得心里踏实了很多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询