水力压裂是一种通过向储层注入高压流体,使岩层产生裂缝并扩展,从而提高油气等资源采收率的工程技术。早期压裂多依赖经验与简单实验,效果评估难度大。随着数值模拟技术的发展,ABAQUS模拟成为重要工具。它可精确模拟不同岩性、应力条件下的压裂情景,助力优化压裂参数,如注入排量、流体粘度等,为验证和改进压裂数值模型提供了海量数据,进一步提升了数值模拟在预测压裂效果、指导现场施工方面的可靠性与实用性,促进数值模拟技术在油气开发工程中的深度应用与持续优化。
本文将介绍基于cohesive单元的二维水力压裂模拟,由于步骤较为详细,故分为几篇推文来分别介绍,本文为第一部分:建模与网格。
另外需要说明的是:网上有不少类似的教程,包括视频或者是文本,但简单的水力压裂二维模拟步骤都差不多,案例均为笔者亲自操作截图,步骤拆解较为详细,如有雷同不可避免,特此说明!
打开ABAQUS,会跳出一个开始任务的对话框(如下图)。可以选择第一种—采用Standard模块。Standard是一个通用的分析模块,它能够求解各个领域广泛的线性和非线性问题,包括静力、动力、热力和电问题的响应等。而Explicit是专门处理显示动力学的分析模块。也可以默认当前操作,直接×掉。另外,该对话框还可以打开近期的文件。
进入主页面后,我们先点击模块。在这里给出了该分析模块的基本步骤:部件(part)、属性(property)、装配(assemble)、分析步(step)、相互作用(interaction)、载荷(load)、网格(mesh)、优化(optimization)、作业(job)、可视化(visualization)、草图(sketch)几大模块组成。
部件部分主要用于建模;属性部分是材料的设置与赋予;装配部分是多体、多面之间的组合;分析步用于设置计算的迭代算法和步数,以及历程输出和场输出;相互作用部分主要用于设置模型的接触、约束方式等;载荷部分主要确定施加的载荷条件以及初边值条件;网格部分用于划分网格;优化部分主要用于结构优化设计,这个功能该案例用不到;作业部分主要用于创建计算任务和计算;可视化用于结果的后处理;草图部分可以创建用于生成部件的轮廓,该种方法创建的草图不与任何的部件相关联,可以保留,作后继使用。
本案例直接利用部件建模。点击创建部件(如果是未汉化版,应该是create part,图标基本完全一致,大家一一去对应即可)
弹出如下对话框,名称可以更改,当部件较多时,建议改为可以明显区分的名称。此处我们只有一个部件——地层,所以默认名称即可。模型空间默认是三维,这里我们改为二维。其他保持默认,即二维平面为可变形的壳单元。尺寸根据自己模型的大小适度更改,案例中地层简化为一个边长为100m的正方形,所以默认200不变。点击继续。
这里需要强调一下,因为ABAQUS是基于量纲计算的,所以没有固定的单位制,用户需要根据实际情况自行选用相应的匹配单位,只要在软件的全局操作中保证单位制的统一即可。例如,在给定结构钢弹性模量的取值时,输入210e9,也就默认全局单位中压力(或应力)的单位为Pa。那么在设置载荷时,如果数值为20MPa,那么应输入20e6。
此处所用的单位制为:kg,m,s,Pa,N。
而后,界面会呈现出草绘状态。点击绘制矩形的按键绘制地层区域,点击后会提示:拾取矩形的起始角点,也就是输入所构建矩形的对角坐标。
以矩形的几何中心为坐标原点,那么对角坐标就应是(-50,-50)、(50,50),或者是(-50,50)、(50,-50),只是坐标点的象限不同,构建效果相同。
在输入了第一个角点坐标后,要回车或点击鼠标中键确认,然后再输入另一个角点坐标,点击回车或鼠标中键确认。之后界面会出现建立好的正方形。鼠标滚轮可以放大和缩小视图,打网格的区域即我们刚才设置的200×200的区域,但如果绘制出网格区域也问题不大。
双击鼠标中键,确认草绘,生成部件。
接下来对地层模型进行预处理。选择工具栏的拆分面按键,并在地层模型上绘制垂直的两条线段,端点位于边界,交叉点位于几何中心。
预处理有两个目的,一是绘制裂缝,二是确定注入点的位置。此时的交叉点即为注入点。案例中竖直方向为裂缝扩展方向,而裂缝是向着最大地应力方向扩展的,所以水平方向为最小主应力方向。
剖分地层后双击鼠标中键确认,此时该部件被分割为4个部分。
按照顺序接下来应该进行属性模块,即对其赋予材料属性。但是由于我们采用的是基于cohesive单元的方法,需要先划分网格并创建cohesive单元。所以此处直接进入网格模块。
设置全局网格尺寸,因为是二维所以可以网格可以稍微密一些,数值输入1,其余保持默认,点击确定。具体操作如下图所示。
由于注入点位于几何中心处,因此中心处的特征要明显多于边界,为了节省计算资源,需要对网格进行局部疏密设置。
点击布种(位于全局尺寸设置的旁边),按住shift选择包括边界在内的6条水平线段,如下图所示。
线段选择完成后,点击鼠标中键,出现如下对话框。布种方式有两种,可以按尺寸,也可以按个数。我们选择按尺寸。默认的布种方式为均匀布置,即无偏移。在网格疏密设置中,偏移量需要进行改动,这里选择单精度,即朝着一个方向改变疏密性。
点击单精度后,可以发现尺寸控制的计算方式变化了,给出了最大尺寸和最小尺寸的输入。保持最大尺寸和全局尺寸一致,最小尺寸设置为0.5。不要点确定!
为什么不点确定呢?此时看一下我们的模型,会发现变成了这个样子。
由于注入点在中央,因此网格的疏密设置应该是右边这种情况,即靠近边界处稀疏、靠近注入点处加密,箭头应指向注入点。操作为:点击翻转偏移→选择,框选左边的三条线,点击鼠标中键,可以看到左边的三条线箭头指向发生了改变,最后点击确定。
紧接着,确定网格属性,操作如图所示。选择四边形网格,结构和自由在简单模拟中均可,这里选用结构网格。这里不选三角形网格,也不选四边形为主,全部选择四边形网格。
这里简单解释一下原因。因为水力压裂要进行渗流计算,而在ABAQUS的一些早期版本中,三角形网格是不支持渗流的,因为渗流模拟相关的数学模型和算法主要是针对四边形网格开发的,四边形网格在处理渗流问题时能够更好地满足收敛性和精度要求。从单元特性来看,三角形单元在描述渗流过程中的流体流动和压力传递等方面,也不如四边形单元准确。四边形单元具有更好的对称性和规则性,能够更有效地捕捉渗流场中的梯度变化,从而更准确地模拟流体在压裂过程中的渗流现象。
另外,四边形网格通常能够提供更均匀和稳定的应力应变分布,在描述裂缝路径的几何形状和方向时,往往能够提供更清晰和准确的结果,数值稳定性也较好。而三角形网格由于其形状的不规则性,可能会使裂缝路径的模拟结果出现一定的偏差,无法准确地反映实际裂缝的几何特征和扩展规律,且在某些情况下会出现数值计算的不稳定,影响模拟结果的可靠性和可信度。
网格属性确定后,模型会变为翠绿色。此时可以生成网格,如下图所示。
网格生成后,在下方的消息区会出现这样一句话:13800个单元已创建到部件:Part-1。表面网格生成成功,并给出了单元个数。
指派单元类型。选中模型整体,点击指派单元类型,点击中键,弹出“单元类型”对话框。选择孔隙流体/应力→四边形→减缩积分。如下图所示。
由于在水力压裂模拟中,岩石骨架的应力应变与孔隙流体压力相互耦合,孔隙流体/应力单元能够同时计算固体骨架的应力和孔隙流体的压力,适用于模拟水力压裂过程中岩石变形与流体流动的耦合问题。而四边形减缩积分单元要比完全积分单元更适合于计算水力压裂问题,这是由于减缩积分单元可以缓解单元刚硬问题,使得单元在承受弯曲载荷作用时更柔软,更好地模拟实际的变形情况。但是另一方面,线性减缩积分单元也会存在所谓的沙漏(hourglassing)数值问题而过于柔软。因此,ABAQUS在线性减缩积分单元中引入了人工“沙漏刚度”以限制沙漏模式的扩展。当模型中应用更多的单元时,这种刚度在限制沙漏模式时更有效,只要采用合理的细网格线性减缩积分单元就会给出可接受的结果。
由于本模型非常简单,因此沙漏刚度采用默认设置,当模型复杂或工况极端时,可以修改沙漏刚度来优化计算。
该部分结束,第二部分为——基于ABAQUS的二维水力压裂模拟(二)——cohesive单元的相关设置。