三维嵌入式离散裂缝网络几何处理方法
未命名
07-19
阅读:241
评论:0
1.本发明涉及油气田开发数值模拟技术领域,特别是一种三维嵌入式离散裂缝网络几何处理方法。
背景技术:
2.常规数值模拟方法如离散元、有限元和有限差分等在开展复杂裂缝网络模拟研究时,网格划分过程复杂,计算量巨大。在三维模型条件下,复杂的裂缝网络甚至无法进行网格划分,或者计算出的网格质量较差,无法满足数值模拟对网格的基本要求。因此,研究人员们提出了嵌入式离散裂缝网络模型(edfm),该模型将常规数值模拟方法所认为的裂缝和基质为一套网格进行了扩展,将裂缝和基质分成了两套独立的网格,一定程度上解决了复杂裂缝网络前处理的问题。
3.在edfm模型中最主要的就是识别出每条完整裂缝被基质网格分割后形成的若干裂缝片段。目前研究所提出的edfm模型前处理方法中,绝大部分是针对二维edfm模型的,只有少部分是开展了三维edfm的研究,并且在三维edfm研究中大部分研究是倾角为90
°
时的特殊情况(裂缝与x轴的夹角为方位角,与xy平面的夹角为倾角),鲜有人员针对任意倾斜角度提出通用性的算法。在二维情况下,基质为平面,裂缝为线段,此时裂缝被基质网格分割成若干的线段,通过寻找裂缝短线与网格的交点坐标就可以很容易识别出分割后的裂缝片段。但是在三维edfm模型下,裂缝从线段升维为平面,当裂缝与基质地面垂直时,无论方位角是多少,裂缝被基质网格分割后的图形均为矩形或平行四边形,形状规整易于识别。但是在倾角不是90
°
时,根据方位角的不同,裂缝平面会被基质网格分割成包含3-6个顶点的多边形,此时的识别难度骤增。
技术实现要素:
4.为了解决三维edfm模型中任意倾斜角度裂缝几何处理困难的问题,本发明提出一种三维嵌入式离散裂缝网络几何处理方法,其属于一种通用的几何处理方法。
5.为实现上述目的,本发明采用的技术方案是:一种三维嵌入式离散裂缝网络几何处理方法,适用于任意角度倾斜的裂缝,具体包括以下步骤:
6.步骤1、读取每一条裂缝的裂缝数据,所述裂缝数据包括裂缝中心坐标pc(x,y,z)、方位角α、倾斜角β、裂缝长度l、裂缝高度h和裂缝宽度w;
7.步骤2、通过读取的裂缝数据,经过两次旋转计算出裂缝的4个顶点p0、p1、p2和p3的坐标;其中,第一次旋转为绕z轴逆时针旋转方位角α,第二次为在第一次旋转得到的坐标系基础上,顺时针旋转方位角α;
8.步骤3、当裂缝的倾斜角β不等于90
°
时,将裂缝向xy方向投影得到投影图形pf,并且计算出裂缝坐标中的{xmin,xmax,ymin,ymax};
9.步骤4、建立与当前裂缝对应的网格编号集合mc,遍历所有网格的网格中心的x、y坐标,如果坐标在{xmin,xmax,ymin,ymax}范围内,则将当前网格编号放入集合mc中;
10.步骤5、将集合mc划分为inside和cross两个子集,遍历集合mc中包含的网格的4个顶点坐标,insidenumber为当前网格的顶点在pf图形内的个数,如果insidenumber等于4,则将该网格编号放入inside中;如果insidenumber大于0小于4,则将该网格编号放入cross中;如果insidenumber等于0,则将该网格编号从mc中剔除;
11.步骤6、建立分割后裂缝片段的集合fs,对于inside内的网格,直接将4个顶点按照顺时针的顺序组成为裂缝片段,并放入集合fs中;
12.步骤7、将边缘部分再次划分成顶点和中间交点两个部分,通过凸包的算法来处理边缘处的网格,并且将找到的凸多边形组成裂缝片段放入集合fs中;
13.步骤8、通过步骤2中得到的顶点坐标中的任意三个点计算裂缝所处平面的平面方程,遍历集合fs将所有裂缝片段的每一个顶点坐标中的x、y坐标带入平面方程,得到正确的z坐标;
14.步骤9、当裂缝的倾斜角β等于90
°
时,通过插值直接计算p0-p1与网格的交点坐标,得到裂缝被分割后所有的x、y坐标,计算p0-p3与网格的交点坐标,得到裂缝被分割后所有的z坐标,将x、y、z坐标按照顺序组合,即可获得被分割后的所有裂缝片段;
15.步骤10、计算每一个裂缝片段与z轴的交点坐标,计算裂缝片段的每一条边是否与包含z轴的交点坐标,若包含,则将该裂缝片段进行二次划分,利用凸包算法进一步分割成两个裂缝。
16.作为本发明的进一步改进,所述步骤2具体包括以下步骤:
17.步骤2.1、通过裂缝长度l计算裂缝平面上过裂缝中心坐标pc并且与xy平面平行的直线line与裂缝边缘相交的点pe(x,y,z)和pb(x,y,z)的坐标,再计算逆时针旋转α后的坐标pb_p(x,y,z)和pe_p(x,y,z);
18.步骤2.2、通过pb_p(x,y,z)和pe_p(x,y,z)的坐标结合裂缝长度l、裂缝高度h和倾斜角β计算裂缝顶点在旋转后坐标系中的投影坐标p0_p、p1_p、p2_p、p3_p;
19.步骤s2.3、再将坐标系顺时针旋转α复原,得到原始坐标系中裂缝各顶点的坐标(x,y,z)。
20.作为本发明的进一步改进,旋转前后坐标计算公式为:
21.第一次逆时针旋转:p_p=p*rz(θ),第二次顺时针旋转;p=p_p*rz(-θ);
22.其中旋转坐标矩阵为:
[0023][0024]
作为本发明的进一步改进,在步骤7中,所述凸包算法采用graham scan算法,在初始点集中找到包含最多点的凸包,然后通过graham scan算法对点进行排序构建凸包,最后输出排好顺序的点的坐标集合。
[0025]
作为本发明的进一步改进,所述步骤7具体包括以下步骤:
[0026]
步骤7.1、对于裂缝顶点,首先提取当前裂缝顶点p,顺时针方向与p距离最近的交点坐标p_f,逆时针方向与p距离最近的交点坐标p_b,构成初始点集pc;
[0027]
步骤7.2、遍历步骤5中构建的cross集合,计算cross中每个网格中心与p的距离,
距离最近的即为p所处网格,提取该网格的4个顶点坐标;
[0028]
步骤7.3、通过判断网格4个顶点坐标与p_f和p_b的坐标即可初步确定凸多边形的顶点个数为(3,4,5);
[0029]
步骤7.4、对于裂缝顶点之间的交点,相邻的两个交点为p_f和p_b,裂缝中心pc为对应的p,初始点集pc仅包含p_f和p_b;
[0030]
步骤7.5、通过graham scan算法对pc中的点进行排序,最终输出裂缝片段包含的顶点坐标,将裂缝片段加入fs集合中;
[0031]
步骤7.6、重复步骤7.1-步骤7.5即可处理完裂缝边缘处的裂缝片段。
[0032]
作为本发明的进一步改进,在步骤7.3中,还包括:进一步判断网格中哪些顶点归属于裂缝片段,具体如下:
[0033]
3个顶点:裂缝片段中不包含网格顶点,无需判断,p、p_f、p_b直接构成裂缝片段;
[0034]
4个顶点:裂缝片段中包含1个网格顶点,构建两个判断点pj1(p_f.x,p_b.y)和pj2(p_b.x,p_f.y),网格顶点中与pj1或pj2坐标相同的顶点即是裂缝片段的顶点,将该顶点加入pc;
[0035]
5个顶点:裂缝片段中包含2个网格顶点,构建两个向量v1(p-p_f)和v2(p_p_b),计算s1=v
1 x v2;顺时针依次遍历网格的2个顶点p
ci
和p
ci+1
,构建两个向量v3(p-p
ci
)和v4(p-p
ci+1
),计算s2=v
3 x v4,若s1*s2》0,则p
ci
和p
ci+
为裂缝片段顶点,将2个顶点加入pc;。
[0036]
作为本发明的进一步改进,在步骤7.4中,网格顶点的判断方法具体如下:
[0037]
3个顶点:裂缝片段中包含1个网格顶点,构建两个判断点pj1(p_f.x,p_b.y)和pj2(p_b.x,p_f.y),网格顶点中与pj1或pj2坐标相同的顶点即是裂缝片段的顶点,将该顶点加入pc;
[0038]
4个顶点:裂缝片段中包含2个网格顶点,构建两个向量v1(p-p_f)和v2(p_p_b),计算s1=v
1 x v2;顺时针依次遍历网格的2个顶点p
ci
和p
ci+1
,构建两个向量v3(p-p
ci
)和v4(p-p
ci+1
),计算s2=v
3 x v4,若s1*s2》0,则p
ci
和p
ci+
为裂缝片段顶点,将2个顶点加入pc。
[0039]
作为本发明的进一步改进,还包括以下步骤:
[0040]
步骤11、若存在多条裂缝,则重复步骤1-步骤10,即可完成复杂裂缝网络所有包含的裂缝的几何前处理过程。
[0041]
本发明的有益效果是:
[0042]
本发明通过计算裂缝在一个平面的投影就能确定裂缝被网格分割后的图形,无需分别计算裂缝片段在三个平面的投影图形。考虑到了裂缝边缘与网格相交时可能出现的3、4和5三中凸包顶点个数的情况,并且提出了对应的判断算法。提出的构建裂缝点集及其子集的方式,仅通过遍历一次基础网格的x和y坐标即可处理完所有裂缝,而不是一条裂缝即需完整遍历一次网格的x、y和z坐标,计算效率更高。
附图说明
[0043]
图1为本发明实施例中读取裂缝参数后,裂缝4个顶点计算及投影示意图;
[0044]
图2为本发明实施例中{xmin,xmax,ymin,ymax}取点示意图;
[0045]
图3为本发明实施例中mc集合二次划分为inside和cross集合示意图;
[0046]
图4为本发明实施例中裂缝边缘顶点构成凸边形的3种情况的示意图;
[0047]
图5为本发明实施例中裂缝边缘顶点间交点构成凸边形的2种情况的示意图;
[0048]
图6为本发明实施例中裂缝顶点及中间交点所指的裂缝片段示意图;
[0049]
图7为本发明实施例中裂缝片段在xy平面投影后被网格xy方向切割后的计算结果示意图;
[0050]
图8为本发明实施例中将裂缝在xy平面投影还原后被xyz方向切割后的计算结果示意图;
[0051]
图9为本发明实施例中基质和裂缝网格最终的计算结果的示意图。
具体实施方式
[0052]
下面结合附图对本发明的实施例进行详细说明。
[0053]
实施例
[0054]
一种任意角度倾斜裂缝的三维嵌入式离散裂缝网络几何处理方法,包括下列步骤:
[0055]
根据网格基本几何信息计算生成基质网格部分:
[0056]
大小为50m*25m*5m的储层网格,xyz三个方向的网格剖分数为(20,20,20)共计8000个网格。储层中存在一条裂缝,裂缝参数为:pc(10,12.5,2.5)、方位角为15
°
、倾角为60度、裂缝长度l为10m、裂缝高度h为4m、裂缝宽度为0.1m(实际不影响计算结果)。
[0057]
s10:读取每一条裂缝的裂缝中心坐标pc(x,y,z)、方位角α、倾斜角β、裂缝长度l、裂缝高度h、裂缝宽度w(该数据结构为大部分裂缝模拟软件的通用裂缝表征方式);
[0058]
s20:通过读取的数据,首先计算出裂缝的4个顶点坐标(裂缝一般为矩形或椭圆形,椭圆形可以通过分割成若干矩形来逼近),因为裂缝存在方位角,因此通过两次旋转坐标系来获得裂缝顶p0、p1、p2、p3的坐标。第一次旋转为绕z轴逆时针旋转方位角,第二次为在第一次旋转得到的坐标系基础上,顺时针旋转方位角(图1中示意的旋转方向),具体计算过程如下:
[0059]
步骤s21:首先通过l计算裂缝平面上过pc并且与xy平面平行的直线line与裂缝边缘相交的点pe(x,y,z)和pb(x,y,z)的坐标,再计算逆时针旋转α后的坐标pb_p(x,y,z)和pe_p(x,y,z)。
[0060]
步骤s22:此时直线line处于xz平面与x轴从平行,裂缝边缘p0-p3和p1-p2平行于yz平面,通过pb_p(x,y,z)和pe_p(x,y,z)的坐标结合l、h、β我们可以很容易的计算裂缝顶点在旋转后坐标系中的投影坐标p0_p、p1_p、p2_p、p3_p;得到投影坐标后(图1中黑色空心圆为投影点);
[0061]
步骤s23:再将坐标系顺时针旋转α复原,得到原始坐标系中裂缝各顶点的坐标(x,y,z)。旋转前后坐标计算公式为:
[0062]
(1)第一次逆时针旋转:p_p=p*rz(θ);
[0063]
(2)第二次顺时针旋转;p=p_p*rz(-θ)
[0064]
其中旋转坐标矩阵为:
[0065]
[0066]
计算出的顶点坐标;如表1所示:
[0067]
表1
[0068]
顶点编号p0p1p2p3坐标(5.429,10.239,0.767)(15.088,12.8281,0.767)(14.570,14.76,4.232)(4.911,12.171,4.232)顶点编号p0_pp1_pp2_pp3_p坐标(7.894,8.485,0.767)(17.894,8.485,0.767)(17.894,10.485,4.232)(7.894,10.485,4.232)
[0069]
s30:先处理β不等于90
°
时的一般情况,将裂缝向xy方向投影得到投影图形pf,并且计算出裂缝坐标中的{xmin,xmax,ymin,ymax},如图2所示,计算出的实际结果为{5.429,7.894,8.485,4.232}。
[0070]
s40:建立与当前裂缝对应的网格编号集合mc,遍历所有网格的网格中心的x、y坐标,如果坐标在{xmin,xmax,ymin,ymax}范围内,则将当前网格编号放入集合mc中。通过这样的方式,在多裂缝共存条件时,可以仅遍历一遍网格中心坐标就可以处理完所有的裂缝,而不是处理每一条裂缝时,都要重新完整的遍历一遍网格,提高了算法效率,mc集合为2中网格阴影部分所示,计算出的mc集合如表2所示:
[0071]
表2
[0072][0073]
s50:对每一条裂缝的mc集合进行进一步的处理,将mc划分为inside和cross两个子集。遍历mc中包含的网格的4个顶点坐标,insidenumber为当前网格的顶点在pf图形内的个数,如果insidenumber等于4,则将该网格编号放入inside中;如果insidenumber大于0小于4,则将该网格编号放入cross中;如果insidenumber等于0,则将该网格编号从mc中剔除,二次划分后集合如图3所示,二次划分结果inside为空集,cross集合(计算结果与mc相同)如表3所示:
[0074]
表3
[0075][0076]
s60:建立分割后裂缝片段的集合fs,对于inside内的网格,其4个顶点直接就是pf被裂缝分割后的图形之一,直接将4个顶点按照顺时针的顺序组成为裂缝片段(内部分割部分必为矩形或平行四边形),并放入fs中。
[0077]
s70:处理完inside后,pf被网格分割后剩余的部分就是裂缝的边缘部分。将边缘部分再次划分成顶点和中间交点两个部分。通过“穷举”的方式分析裂缝边缘被网格分割后的图形,发现边缘处分割的图形必为凸多边形(pf也必为凸多边形),通过凸包的算法来处理边缘处的网格,并且将找到的凸多边形组成裂缝片段放入fs中。
[0078]
凸包算法采用graham scan算法,该算法是输入若干个点组成的点集,在点集中找
到包含最多点的凸包,最后输出排好顺序的点的坐标集合。因为裂缝边缘被网格分割后形成的凸多边形在网格交点确定时,其顶点坐标个数就已经确定了,因此在计算进行凸多边形计算时,需要直接确定点集,然后通过graham scan算法对点进行排序,构建凸包即可。初始点集的判断过程具体如下:
[0079]
步骤s71:对于裂缝顶点,首先提取当前裂缝顶点p,顺时针方向与p距离最近的交点坐标p_f,逆时针方向与p距离最近的交点坐标p_b,构成初始点集pc;
[0080]
步骤s72:遍历步骤s40中构建的cross集合,计算cross中每个网格中心与p的距离,距离最近的即为p所处网格。提取该网格的4个顶点坐标;
[0081]
步骤s73:通过判断网格4个顶点坐标与p_f和p_b的坐标即可初步确定凸多边形的顶点个数(3,4,5)。在这基础上,还需要进一步判断网格中哪些顶点是归属于裂缝片段的,不同顶点个数的判断方法不同,分别为(如图4所示):
[0082]
(1)3个顶点:裂缝片段中不包含网格顶点,无需判断,p、p_f、p_b直接构成裂缝片段;
[0083]
(2)4个顶点:裂缝片段中包含1个网格顶点,构建两个判断点pj1(p_f.x,p_b.y)和pj2(p_b.x,p_f.y),网格顶点中与pj1或pj2坐标相同的顶点即是裂缝片段的顶点,将该顶点加入pc;
[0084]
(3)5个顶点:裂缝片段中包含2个网格顶点,构建两个向量v1(p-p_f)和v2(p_p_b),计算s1=v
1 x v2。顺时针依次遍历网格的2个顶点p
ci
和p
ci+1
,构建两个向量v3(p-p
ci
)和v4(p-p
ci+1
),计算s2=v
3 x v4,若s1*s2》0,则p
ci
和p
ci+
为裂缝片段顶点,将2个顶点加入pc;
[0085]
步骤s74:对于裂缝顶点之间的交点,相邻的两个交点为p_f和p_b,裂缝中心pc为对应的p,初始点集pc仅包含p_f和p_b,网格顶点的判断方法分别为(如图5所示):
[0086]
(1)3个顶点:裂缝片段中包含1个网格顶点,构建两个判断点pj1(p_f.x,p_b.y)和pj2(p_b.x,p_f.y),网格顶点中与pj1或pj2坐标相同的顶点即是裂缝片段的顶点,将该顶点加入pc;
[0087]
(2)4个顶点:裂缝片段中包含2个网格顶点,构建两个向量v1(p-p_f)和v2(p_p_b),计算s1=v
1 x v2。顺时针依次遍历网格的2个顶点p
ci
和p
ci+1
,构建两个向量v3(p-p
ci
)和v4(p-p
ci+1
),计算s2=v
3 x v4,若s1*s2》0,则p
ci
和p
ci+
为裂缝片段顶点,将2个顶点加入pc;
[0088]
步骤s75:通过graham scan算法对pc中的点进行排序,最终输出裂缝片段包含的顶点坐标,将裂缝片段加入fs集合中。
[0089]
s80:重复步骤s70-s75即可处理完裂缝边缘处的裂缝片段。
[0090]
s90:目前fs中所有的找到裂缝片段是投影在xy平面上的图形(只有x、y坐标是正确的),还需要将其还原。通过步骤s20中得到的顶点坐标中的任意三个点计算处裂缝所处平面的平面方程,遍历fs将所有裂缝片段的每一个顶点坐标中的x、y坐标带入平面方程,得到正确的z坐标。
[0091]
s100:当β为90
°
时,通过插值直接计算p0-p1与网格的交点坐标,得到裂缝被分割后所有的x、y坐标,计算p0-p3与网格的交点坐标,得到裂缝被分割后所有的z坐标,将x、y、z坐标按照顺序组合,即可获得被分割后的所有裂缝片段。
[0092]
s110:处理完xy方向后,计算每一个裂缝片段与z轴的交点坐标,计算裂缝片段的每一条边是否与包含z轴的交点坐标,若包含,则将该裂缝片段进行二次划分,利用凸包算
法进一步分割成2个裂缝。
[0093]
s120:若存在多条裂缝,则重复步骤s10-s110,即可完成复杂裂缝网络所有包含的裂缝的几何前处理过程,至此计算结束,最终的基质和裂缝网格划分结果如图9所示。
[0094]
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
技术特征:
1.一种三维嵌入式离散裂缝网络几何处理方法,其特征在于,适用于任意角度倾斜的裂缝,具体包括以下步骤:步骤1、读取每一条裂缝的裂缝数据,所述裂缝数据包括裂缝中心坐标pc(x,y,z)、方位角α、倾斜角β、裂缝长度l、裂缝高度h和裂缝宽度w;步骤2、通过读取的裂缝数据,经过两次旋转计算出裂缝的4个顶点p0、p1、p2和p3的坐标;其中,第一次旋转为绕z轴逆时针旋转方位角α,第二次为在第一次旋转得到的坐标系基础上,顺时针旋转方位角α;步骤3、当裂缝的倾斜角β不等于90
°
时,将裂缝向xy方向投影得到投影图形pf,并且计算出裂缝坐标中的{xmin,xmax,ymin,ymax};步骤4、建立与当前裂缝对应的网格编号集合mc,遍历所有网格的网格中心的x、y坐标,如果坐标在{xmin,xmax,ymin,ymax}范围内,则将当前网格编号放入集合mc中;步骤5、将集合mc划分为inside和cross两个子集,遍历集合mc中包含的网格的4个顶点坐标,insidenumber为当前网格的顶点在pf图形内的个数,如果insidenumber等于4,则将该网格编号放入inside中;如果insidenumber大于0小于4,则将该网格编号放入cross中;如果insidenumber等于0,则将该网格编号从mc中剔除;步骤6、建立分割后裂缝片段的集合fs,对于inside内的网格,直接将4个顶点按照顺时针的顺序组成为裂缝片段,并放入集合fs中;步骤7、将边缘部分再次划分成顶点和中间交点两个部分,通过凸包的算法来处理边缘处的网格,并且将找到的凸多边形组成裂缝片段放入集合fs中;步骤8、通过步骤2中得到的顶点坐标中的任意三个点计算裂缝所处平面的平面方程,遍历集合fs将所有裂缝片段的每一个顶点坐标中的x、y坐标带入平面方程,得到正确的z坐标;步骤9、当裂缝的倾斜角β等于90
°
时,通过插值直接计算p0-p1与网格的交点坐标,得到裂缝被分割后所有的x、y坐标,计算p0-p3与网格的交点坐标,得到裂缝被分割后所有的z坐标,将x、y、z坐标按照顺序组合,即可获得被分割后的所有裂缝片段;步骤10、计算每一个裂缝片段与z轴的交点坐标,计算裂缝片段的每一条边是否与包含z轴的交点坐标,若包含,则将该裂缝片段进行二次划分,利用凸包算法进一步分割成两个裂缝。2.根据权利要求1所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,所述步骤2具体包括以下步骤:步骤2.1、通过裂缝长度l计算裂缝平面上过裂缝中心坐标pc并且与xy平面平行的直线line与裂缝边缘相交的点pe(x,y,z)和pb(x,y,z)的坐标,再计算逆时针旋转α后的坐标pb_p(x,y,z)和pe_p(x,y,z);步骤2.2、通过pb_p(x,y,z)和pe_p(x,y,z)的坐标结合裂缝长度l、裂缝高度h和倾斜角β计算裂缝顶点在旋转后坐标系中的投影坐标p0_p、p1_p、p2_p、p3_p;步骤s2.3、再将坐标系顺时针旋转α复原,得到原始坐标系中裂缝各顶点的坐标(x,y,z)。3.根据权利要求2所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,旋转前后坐标计算公式为:
第一次逆时针旋转:p_p=p*rz(θ),第二次顺时针旋转;p=p_p*rz(-θ);其中旋转坐标矩阵为:4.根据权利要求1或2或3所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,在步骤7中,所述凸包算法采用graham scan算法,在初始点集中找到包含最多点的凸包,然后通过graham scan算法对点进行排序构建凸包,最后输出排好顺序的点的坐标集合。5.根据权利要求4所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,所述步骤7具体包括以下步骤:步骤7.1、对于裂缝顶点,首先提取当前裂缝顶点p,顺时针方向与p距离最近的交点坐标p_f,逆时针方向与p距离最近的交点坐标p_b,构成初始点集pc;步骤7.2、遍历步骤5中构建的cross集合,计算cross中每个网格中心与p的距离,距离最近的即为p所处网格,提取该网格的4个顶点坐标;步骤7.3、通过判断网格4个顶点坐标与p_f和p_b的坐标即可初步确定凸多边形的顶点个数为(3,4,5);步骤7.4、对于裂缝顶点之间的交点,相邻的两个交点为p_f和p_b,裂缝中心pc为对应的p,初始点集pc仅包含p_f和p_b;步骤7.5、通过graham scan算法对pc中的点进行排序,最终输出裂缝片段包含的顶点坐标,将裂缝片段加入fs集合中;步骤7.6、重复步骤7.1-步骤7.5即可处理完裂缝边缘处的裂缝片段。6.根据权利要求5所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,在步骤7.3中,还包括:进一步判断网格中哪些顶点归属于裂缝片段,具体如下:3个顶点:裂缝片段中不包含网格顶点,无需判断,p、p_f、p_b直接构成裂缝片段;4个顶点:裂缝片段中包含1个网格顶点,构建两个判断点pj1(p_f.x,p_b.y)和pj2(p_b.x,p_f.y),网格顶点中与pj1或pj2坐标相同的顶点即是裂缝片段的顶点,将该顶点加入pc;5个顶点:裂缝片段中包含2个网格顶点,构建两个向量v1(p-p_f)和v2(p_p_b),计算s1=v
1 x v2;顺时针依次遍历网格的2个顶点p
ci
和p
ci+1
,构建两个向量v3(p-p
ci
)和v4(p-p
ci+1
),计算s2=v
3 x v4,若s1*s2>0,则p
ci
和p
ci+
为裂缝片段顶点,将2个顶点加入pc;。7.根据权利要求6所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,在步骤7.4中,网格顶点的判断方法具体如下:3个顶点:裂缝片段中包含1个网格顶点,构建两个判断点pj1(p_f.x,p_b.y)和pj2(p_b.x,p_f.y),网格顶点中与pj1或pj2坐标相同的顶点即是裂缝片段的顶点,将该顶点加入pc;4个顶点:裂缝片段中包含2个网格顶点,构建两个向量v1(p-p_f)和v2(p_p_b),计算s1=v
1 x v2;顺时针依次遍历网格的2个顶点p
ci
和p
ci+1
,构建两个向量v3(p-p
ci
)和v4(p-p
ci+1
),计算s2=v
3 x v4,若s1*s2>0,则p
ci
和p
ci+
为裂缝片段顶点,将2个顶点加入pc。
8.根据权利要求7所述的三维嵌入式离散裂缝网络几何处理方法,其特征在于,还包括以下步骤:步骤11、若存在多条裂缝,则重复步骤1-步骤10,即可完成复杂裂缝网络所有包含的裂缝的几何前处理过程。
技术总结
本发明公开了一种三维嵌入式离散裂缝网络几何处理方法,适用于任意角度倾斜的裂缝,包括:读取每一条裂缝的裂缝数据;计算出裂缝的4个顶点坐标;分别计算裂缝的倾斜角不等于90
技术研发人员:常泰 陈曦宇
受保护的技术使用者:西南石油大学
技术研发日:2023.03.29
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
