资讯详情

粗糙裂隙渗流模拟:分形维数修正立方定律与渗透率预测

📅 2026/10/15 5:57:49 | 华诺云谱 👁 阅读
粗糙裂隙渗流模拟:分形维数修正立方定律与渗透率预测
前阵子帮某深部工程做裂隙岩体渗透性评估初期按教科书流程把裂隙当成一对光滑平行板套用立方定律估算导水系数。结果跟现场压水试验一对照模型预测值比实测高了一个数量级。组里A同学当时第一反应是怀疑试验数据有问题重做了三次压水试验结果依然稳定。问题出在模型上天然裂隙面根本不是平的表面糙、接触点多水流在凹凸起伏里走走停停跟理想平行板完全是两条路。后来我们用分形理论对裂隙表面粗糙度做了定量表征重新建立粗糙裂隙渗流模型等效渗透率的预测才落回实测区间。这篇文章把这一路的思考、算法、数值模拟细节和踩过的坑整理出来适合正在做裂隙岩体水力学、地热储层评价、油气储层裂缝建模或者核废料处置场地评价的同行参考也适合刚接触这个方向的研究生入门。1. 为什么裂隙渗流绕不开粗糙度立方定律失效的现场教训1.1 平行板立方定律先搞清楚它说了什么裂隙渗流里最经典的出发点是把一条裂隙简化成两块光滑平行板。宽度方向取单位宽度时流量与开度、压差的关系写成Q (b³ / 12μ) × (ΔP / L)其中b是裂隙开度μ是流体动力黏度ΔP/L是压力梯度。这个公式的核心特征是流量和开度的三次方成正比——这也是裂隙渗流和孔隙介质渗流的本质差别开度稍微变一点导水能力就剧烈变化。由立方定律可以直接推出等效渗透系数K b² / 12 × (ρg / μ)所以很多工程初评估喜欢用实测流量反算一个“水力开度”再乘裂隙条数就把岩体渗透性估算出来了。这个方法在完整岩石里可以接受一旦碰到天然粗糙裂隙误差很容易跨数量级。原因很简单立方定律假设表面绝对光滑、开度恒定、流动完全层流真实裂隙没有一条符合。1.2 真实裂隙和光滑板的差距到底在哪里天然裂隙面是地质过程中剪切、张拉形成的表面布满了微凸体、沟槽、起伏台阶和风化填充物。把岩石裂隙沿开度方向切开看上下两个面犬牙交错真正能让水流通过的通道只有一部分其余区域是微凸体互相接触甚至咬合的区域。这些接触点不是摆设它们在承受应力、维持岩体强度的同时把裂隙导水通道分割成迂回曲折的网络。水流遇到接触点必须绕行绕过之后还要面对下一个起伏。如果裂隙里还有泥质充填或方解石脉局部的过流断面会被进一步压缩。从开度分布的角度看真实裂隙的开度是一个空间上剧烈变化的场不是单一数值。同一个统计平均开度下粗糙裂隙和平滑裂隙的实际水力特性可以差出好几倍甚至一个数量级。这就是为什么做现场压水试验时用光滑平板模型反推的等效开度总比激光扫描得到的力学开度小很多——因为粗糙起伏和接触点等效地“吃掉”了一部分过流能力。1.3 粗糙度对渗流结果的影响有多夸张我们曾在一组室内渗流试验里做过对比用3D打印制作了两组裂隙模型一组表面光滑一组按天然花岗岩裂隙扫描数据原样打印两组平均开度都控制在1毫米左右。相同压力梯度下粗糙裂隙的实测流量只有光滑模型的20%不到。流量降低只是一方面更关键的是流动形态变了。光滑平行板在很宽的流速范围内保持线性关系即流量正比于压差粗糙裂隙在流速稍高时就表现出明显的非线性流量-压差曲线向下弯曲压差里的一部分能量消耗在微凸体引起的局部涡旋和流线弯曲上。这意味着如果依然用立方定律去解释粗糙裂隙的压水试验数据无论怎么调开度都拟合不好整条曲线。拟合出来的“等效开度”只能代表某个压力段的水力行为换个压差就失效。遇到这种情况我们必须换一个更精细的几何表征方式把粗糙度真正包含在模型里。1.4 为什么是分形理论而不是老一套粗糙度系数工程上长期以来描述裂隙粗糙度最常用的是粗糙度系数JRC取值从0到200代表完全光滑20代表极粗糙。JRC配合经验公式用起来很方便但它有两个明显的局限。JRC的取值带很强的主观性不同人对照典型剖面线的判断结果可以差2到3个等级在科研对比和数值建模里很难标准化。更麻烦的是JRC强烈依赖测量尺度同一张裂隙面用1厘米取样窗口和用1米窗口得到的粗糙度评价完全不一样换一个尺度就换一套经验关系很难建立普适模型。分形理论解决的是这个问题。天然裂隙面在从毫米到米的尺度范围内表现出明显的自相似性大尺度起伏里嵌套着小尺度起伏局部放大之后统计特征和整体相似。这种自相似性可以用分形维数D来描述。对于一条裂隙剖面线D落在1到2之间越接近2说明表面细节越丰富、粗糙起伏越剧烈。研究表明裂隙表面的粗糙度和细节确实随着分形维数的增加而增加。改用分形维数之后粗糙度不再是某个测量窗口下的经验标签而是一个有明确数学定义的几何参数可以跨尺度使用也可以直接进入数值模型。2. 分形维数怎么测、怎么算原理与算法2.1 分形维数的物理直觉先建立起来我习惯用一个场景帮助理解站在远处看一整段裂隙面轮廓起伏是大的波浪走近一点能看到波浪表面还有次一级的凸起再拿放大镜看凸起表面还有更细的纹路。分形维数衡量的就是这种“不同尺度细节加起来之后填满空间的能力”。一条绝对平滑的直线维度是1一个完全铺满平面的曲线维度是2。真实裂隙剖面线介于两者之间例如D1.3表示起伏细节比较多但还保留明显的方向性D1.8则意味着剖面在有限尺度内几乎要把整个平面’填满’转折密集、尖锐、混乱。对裂隙面来说D越高导水通道越迂回接触结构越复杂。分形维数刻画的是一个裂隙面的“纹理复杂度”它和传统的平均粗糙度完全是两个概念。平均粗糙度只告诉起伏幅度多大分形维数还能告诉这些不同幅度的起伏在多个尺度上是怎么组织起来的。这个信息对渗流模拟至关重要因为水流对通道的几何扰动非常敏感细节不刻画进去流动路径就错了。2.2 裂隙剖面数据怎么获取计算分形维数之前必须先有一组可靠的高程数据。实验室里最常用的手段是三维激光扫描和高精度白光干涉仪可以把岩芯或露头裂隙面的高程点云采出来纵向分辨率能到微米级。如果是深部岩样取不出来完整裂隙面可以用工业CT逐层扫描再在软件里重构裂隙面。拿到点云之后沿水流方向或垂直于水流方向切出若干条剖面线。这里有一个常见误区为了省事只取一条剖面线算D再代表整张面。粗糙裂隙往往有各向异性两个正交方向上的分形维数可能差0.2以上尤其是有定向擦痕的剪切裂隙。至少要取两个互相垂直方向的多条剖面分别计算后统计均值。采样间隔是个关键参数。计算分形维数需要覆盖足够多的尺度层级采样间隔决定了最小尺度采样长度决定了最大尺度。经验上采样长度保持在表面主要起伏波长的至少5倍以上采样点数足够覆盖100倍以上的尺度跨度否则双对数图上的拟合区间太短算出来的D会明显偏低。2.3 盒计数法最常用的实测算法盒计数法的思路简单可靠用不同边长的方格去覆盖剖面线统计需要多少个格子才能把整条线盖住。如果这条线是分形的边长r缩小一半时覆盖格子数N(r)的增量呈现出幂次规律即N(r)正比于r的负D次方。实操步骤可以拆成六步对剖面高程数据做预处理去除趋势项和异常尖峰保证剖面在统计上是平稳的。把剖面线和网格对齐确定初始网格边长r一般取剖面跨度的1/10左右。统计被剖面线穿过的格子数量N(r)。逐步缩小网格边长比如按1.5倍等比缩小重复统计直到边长接近采样间隔的2倍。把数据点画在双对数坐标上横轴是log(r)纵轴是log(N(r))。对中间线性段做线性回归回归斜率的负数就是分形维数D。很多新手在最后一步翻车。直接对所有尺度做一条直线拟合通常两头都会有偏差因为最小尺度受测量分辨率限制最大尺度受剖面长度限制不满足分形自相似。正确做法是观察双对数图取线性关系最好的中间波段进行拟合同时记录拟合优度R²。一般R²高于0.95才认为该尺度范围内具备稳定分形特征否则说明测量尺度或分辨率不合适。2.4 频谱法适合连续高程数据的替代方案盒计数法直观但受噪声影响偏大。裂隙剖面数据往往包含大量高频噪声盒计数法会把这些噪声也当作几何细节计入统计。更稳的替代方案是用频谱法处理连续高程序列。频谱法的原理是把剖面高程做频域分解得到不同波数下的能量分布。分形表面的能量谱和波数之间服从幂律关系S(k)和k的负β次方成正比分形维数和谱指数之间存在明确对应关系D(5-β)/2这里的β一般落在1到3之间。频谱法的好处是抗噪能力强对连续采样数据尤其稳定还可以顺带分析各向异性不同方向的频谱特征不同就能量化裂隙面的方向性粗糙度。缺点是它要求剖面足够长且平稳短剖面做出来的谱线离散度很大拟合不稳定。我的习惯是两种算法都跑互相印证。如果盒计数法和频谱法算出来的D相差超过0.15先怀疑数据质量而不是急着选一个结果。算法基本原理优势主要限制盒计数法用不同尺度网格覆盖剖面统计覆盖数直观、实现简单、适用广对噪声敏感需要人工选拟合区间频谱法分析高程谱密度随波数的衰减规律抗噪好、适合连续数据需要长剖面参数计算稍有门槛2.5 计算分形维数的实操建议经过多次实测对比我总结出三条最值得注意的经验。一是接触点的处理要在高程统计之前完成。裂隙面上如果有明显破损或岩屑覆盖的区域高程会出现突变这些点会严重干扰功率谱的高频段。先用去噪算法把孤立异常点剔除再做后续计算。二是务必报告拟合尺度和D值一起报告。分形维数不是绝对常数它是在某个尺度范围内成立的有效参数。论文里如果只写“D1.42”而不说明拟合波段读者无法判断这个数能不能直接用于自己的模型。三是野外露头测量时要留意“测量窗口”效应。一个大的裂隙面在野外拍一米范围和在室内扫十厘米范围表面的统计特征可能不同。做工程应用时采样范围应该覆盖实际关心的问题尺度而不是一味追求高分辨率。分辨率再高覆盖不了主起伏波长算出来的D就是局部的外推不到工程尺度。3. 从分形维数到渗流模型几何生成与求解流程3.1 三步生成符合分形特征的粗糙裂隙面分形维数算出来之后下一步是把它转化成可以进求解器的几何模型。常用的是频谱合成法思路跟频谱法相反先按目标分形维数构造一个频率域的“高程谱”再把随机相位加载进去转换回空间域就得到一簇满足目标分形特征的粗糙表面。具体操作分三步。第一步确定模型尺寸和网格分辨率。假设要模拟的裂隙面是50毫米乘50毫米的方形区域最小波长取0.1毫米那么网格尺寸至少取0.02毫米到0.05毫米保证最短波长方向上有2到3个网格否则高频细节会被数值耗散抹掉。第二步设定目标D按频谱法逆过程生成高程谱。谱密度随波数的衰减关系由D决定每个波数成分的相位随机生成。随机相位这步很关键它保证每次生成的面都有同样的粗糙统计特征但空间细节不完全相同——这样便于做多组重复模拟为结果做统计评估。第三步对生成的高程做后处理。减去平均面消除整体倾斜按需要叠加裂隙的平均开度再引入局部接触区。生成之后用小样本盒计数法复核一遍确认生成面的D和目标值误差在0.02以内这个校准步骤不能省否则模型声称的D和实际几何不一致后面一切结论都会失真。3.2 开度场与接触点的处理粗糙裂隙渗流真正起作用的不是单个表面而是上下两个表面叠合之后形成的开度场。设上表面高程为z1(x,y)下表面为z2(x,y)那么局部开度b(x,y)就是两面之间的净距离。简单起见很多模型用一个平均开度加两个粗糙面的相对起伏来构造开度场。构造开度场时接触点处理是决定数值成败的关键。真实裂隙面在应力作用下有大量微凸体直接接触开度严格为零。但在数值模型里”零开度”意味着流量为零流体域被切断网格衔接处会出现剧烈的几何突变求解器很容易发散。我常用的做法是用一个极小开度替代严格零值。将开度小于某个阈值例如0.5微米的单元设为残留开度0.1微米左右。这个残留开度足够小对总流量的贡献可以忽略同时避免网格拓扑分裂。统计接触面积比时仍然按原始几何统计把小于阈值的网格记作接触单元这个比值是一个重要的结果参数。3.3 选雷诺方程还是完整N-S方程粗糙裂隙渗流模拟里求解器选择直接决定计算成本和结果可靠性。当裂隙开度变化比较平缓、雷诺数不高时可以用雷诺润滑近似也就是在每个局部单元上应用立方定律把三维流动压缩成二维平面问题。这种模型计算速度快适合大量裂隙的统计评估但不能捕捉分离流和涡旋。当裂隙粗糙度较高、水流速度较快、接触点附近存在剧烈几何突变时必须回到完整的N-S方程求解。判断标准可以从粗糙剖面的局部坡角和入口雷诺数入手局部坡角超过10到15度或者雷诺数超过10就不要再依赖润滑近似。工程模拟里我的筛选策略是先用雷诺方程跑一批候选裂隙把渗透率排序、识别人工最担心的敏感裂隙再对那一两条关键裂隙做完整N-S复核。这样既控制成本也不至于让粗糙效应被近似方程抹掉。3.4 边界条件与模拟参数一览边界条件的设置会直接影响等效渗透率的解释。我通常在一组模拟里采用如下参数体系参数取值备注流体20℃清水密度998.2 kg/m³黏度0.001 Pa·s平均开度0.5到1.0毫米按岩芯实测或经验设定分形维数D1.1到1.8覆盖常见粗糙度区间模型尺寸50 mm × 50 mm保证有足够多粗糙起伏单元入口条件给定流速或压力计算流量-压差关系时必须扫多个工况出口条件相对压力0避免人为附加重力项计算域网格数300到500万取决于接触点密度和D值入口条件尤其要小心。只固定一个入口流速然后算出压差拿这个点去算渗透系数在非线性渗流区会得到一个偏低偏高的陷阱值。正确做法是扫描至少5个不同入口压力从线性段提取等效渗透系数非线性段则单独拟合二次项系数。3.5 提取等效渗透系数的标准做法模拟结束后流量和压差的关系已经得到理论上只要套用K表达式就能得到等效渗透系数。但有一个细节常被忽视计算中的过流面积A到底取多大。很多模型扫描出来的是一块包含大量接触点的粗糙面如果按整个模型宽度乘平均开度作为过流面积会严重低估实际流速进而高估渗透系数。正确做法是采用局部开度场加权的等效面积或者在报告里明确说明用的是几何总面积还是有效过流面积。做工程对比时统一用几何总面积这样与压水试验反算值才有可比性。4. 分形维数增大后渗流发生了什么数值实验与规律4.1 等效渗透率随D增大而下降我们在一组保持平均开度一致的系列模型里把D从1.1逐步调到1.9统计等效渗透率的变化。结果非常明确D越大等效渗透率越低。D1.1接近光滑面时渗透率接近立方定律理论值D1.5时渗透率下降到理论值的约一半D1.8时只剩大约四分之一。这种下降不是简单的线性衰减而是随着D升高下降速度加快。原因也很好理解D升高意味着表面细节越加丰富流线被粗糙微凸体反复扰动实际流动路径显著加长一部分水头能量消耗在局部涡旋和流线弯曲中。高D表面上分布着大量高频起伏整个流动空间从相对通畅的宽缝变成一串串狭窄的“咽喉”。4.2 接触面积的影响被我严重低估过最早一批模拟结果出来时组里以为渗透率下降主要是流线弯曲造成的。后来单独做过一组“无接触点”的对照模拟把接触点全部替换成等厚度的小间隙结果渗透率只下降约一成。再把接触区还原下降幅度立刻回到四成以上。这说明在高D裂隙里接触面积比才是控制导水能力的主导因素。D增大时上下表面起伏幅度和频率同时增加在相同平均开度下更容易出现负开度区域接触面积比随之上升。接触点把原本连通的流动空间切割成岛状通道每个通道又被反复挤压整体水力连通性自然恶化。工程上做地热储层评价时如果只关注裂隙粗糙度而不考虑接触面积比很容易高估储层渗透能力。4.3 流速分布走向“沟槽化”看流速分布云图能明显看到另一个规律。低D裂隙的流速场分布比较均匀高开度和低开度区域之间的流速比不超过几倍D接近1.8的裂隙里流速分布呈现强烈的“沟槽化”特征——大部分流量集中在一两条高开度连通路径上其余区域流速接近零。这种优先流现象对工程有实际意义。溶质运移和热量交换在这些高流速通道里起主导作用迟滞时间长得多的低流速区则成了交换储集区。如果要预测污染物在粗糙裂隙中的穿透时间不把优先流路径刻进去产出的穿透曲线会明显失真。4.4 非线性渗流的触发提前了立方定律和雷诺近似都假设流量与压差线性相关。数值实验里我们用不同入口压力扫描后发现D越高线性关系崩溃得越早。低D模型在雷诺数到几十时流量-压差曲线还能保持很好的线性D较高的模型雷诺数刚过5曲线就开始明显弯曲。这个现象用阻力机制解释很顺高D表面上凹凸起伏密集流速稍微提高微凸体背风侧就出现分离涡旋这些涡旋消耗能量且随流速增大而增强于是整体压差对流量出现超线性增长。工程上这直接关系到压水试验的解释。在同一段裂隙里用不同压力档做试验如果忽略非线性项低压力档反算的渗透率会高于高压力档反算值。做数值预测时应当用完整流量-压差关系来标定而不是只抓线性段。4.5 三维裂隙面上的验证结果三维模型的趋势与二维剖面一致但数值上更温和。我们曾用真实花岗岩裂隙扫描数据重构三维粗糙裂隙模型再与室内水力试验对照。实测流量落在模拟预测范围内但前提是开度场构造时要考虑应力作用下的接触分布否则误差会达到两倍以上。这说明一个很重要的观点分形维数是描述裂隙几何的关键参数但不是唯一参数。要让模型真正贴近实际必须把分形维数、接触面积比和平均开度三个参数联合使用。D负责描述粗糙纹理的复杂度接触面积比负责控制连通性平均开度负责确定整体容量三者相互制约缺一不可。5. 建模中最容易翻车的五个环节5.1 网格剖分吞掉分形细节第一个翻车点在网格生成阶段。粗糙裂隙模型里最小网格尺寸必须小于最短的粗糙波长否则高频细节直接被数值耗散抹掉模型的有效D比设定的D小得多。我们做过网格无关性检验网格分辨率从0.1毫米细化到0.02毫米流量结果变了近三成再细化到0.01毫米只变了不到百分之二这才收敛。建议在正式大批量模拟之前先选定一个代表性模型做网格收敛测试把流量变化控制在2%以内再推广到其他工况。网格无关性验证听起来是标准操作但在粗糙裂隙里特别容易被忽略因为几何生成器往往会自动生成看起来足够细的网格看起来和实际收敛之间往往差一个数量级。5.2 接触区导致的数值发散第二个高发问题是接触区附近求解器发散。开度为零的位置会让局部流量梯度出现奇异性很多CFD求解器在这类区域难以收敛。我采用的伪接触处理虽然能缓解但不能完全阻止发散。遇到发散时不要先调求解器参数应当回到几何检查把开度分布导出看看极小开度单元的邻接关系是否突变必要时把接触区周边加一层过渡单元。还有一个小技巧在求解前先跑一遍纯几何的流线追踪或者势流近似判断流动路径是否与接触分布逻辑一致几何问题几何解决会比反复调数值参数省事得多。5.3 分形维数计算的尺度依赖第三个问题在输入参数端。同一张裂隙面用不同测量窗口得到的D往往不同。我们曾经用同一岩芯的切面在5厘米、10厘米、20厘米三个窗口下计算D从1.36漂到1.51。这个偏差如果不加控制会让不同项目之间的结果完全不可比。实际做法是在工程报告中统一规定尺度标准对岩芯裂隙固定分析窗口为直径的一半对露头裂隙固定窗口为1米。统一之后再做敏感性分析用D上下浮动0.1的范围来评估渗透率预测的不确定性这样比追求一个绝对精确的D值更诚实也更有用。5.4 等效开度的反算陷阱用流量反算等效水力开度看起来是个简单的操作很多现场工程师习惯这么做。但要把这个水力开度再用到数值模拟里就会出问题。水力开度是粗糙度、接触面积、非线性效应综合作用后的等效量它通常明显小于力学平均开度。在数值模型里如果直接使用水力开度作几何开度等于把粗糙对的阻力重复计算了一遍渗透率会被显著低估。正确做法是把力学开度实测进几何模型用粗糙度参数和模拟来复现水力开度两者相互验证才是闭环。5.5 工程实用的简化思路最后回到工程应用。对于大多数实际项目不需要对每一组裂隙都做高精度CFD模拟。我采用的简化流程是把裂隙按分形维数粗分三类低粗糙度裂隙对应D在1.1到1.3之间中等粗糙度对应1.3到1.6高粗糙度对应1.6以上。每一类取代表性几何做一组雷诺方程模拟和一组关键工况N-S复核建立渗透率与分形维数、接触面积比之间的关联表再外推到全区域裂隙网络。这个思路的优点是计算成本可控又能保留粗糙度对渗流的主控作用。实际预测结果与现场压水试验的误差可以控制在30%以内对于岩体工程尺度来说已经足够支撑设计决策。操作中我的体会是分形理论真正解决了“粗糙度如何进入模型”的问题但模型成功与否最终取决于三个参数的平衡——分形维数描述细节接触面积控制路径平均开度决定容量三者对不上任何精细求解器都救不回来。开始建模前先把三者关系摸清楚后面会省掉大量返工时间。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑