岩体空间结构体的计算机识别

2016-04-12 06:41姜秉秉罗泽华兰州大学土木工程与力学学院甘肃兰州730000
甘肃科技 2016年3期

姜秉秉,刘 高,罗泽华(兰州大学土木工程与力学学院,甘肃兰州730000)



岩体空间结构体的计算机识别

姜秉秉,刘高,罗泽华
(兰州大学土木工程与力学学院,甘肃兰州730000)

摘要:在岩体的开挖过程中,岩体的结构面与开挖临空面极易构成威胁工程的不稳定块体,影响边坡、隧道、地下洞室等工程的稳定性,因此如何根据开挖面上结构面出露特征快速确定这些不稳定块体,对工程设计、施工及支护都具有重要意义。本文在得知结构面参数(结构面的倾角α、其倾向β以及结构面上任意点的坐标P(X0,Y0,Z0)或平面上不在同一条直线上三个点坐标)情况下,采用计算几何理论,解决了块体的快速搜索与识别问题,运用C++语言编程,实现了四面体、五面体、六面体和七面体四种常见可能滑动块体的快速搜索与识别,计算出面积和体积,并利用OpenGl实现块体可视化,为关键块体稳定性分析以及支护参数的确定奠定基础。

关键词:结构面;结构体;块体识别

1 概述

近多年来,随着岩石工程规模扩大、数量增多,边坡、坝基、地下洞室稳定性研究已越来越受到重视。在施工过程中如何利用所测得的裂隙相关参数快速对工程中可能遇到的块体进行识别及岩石块体的形状、规模、数量进行预测、关键块体的可动性判别以及通过稳定性分析判断是否失稳,最终确定支护工程的工作量(所需锚杆锚索的长度、数量等)一直是水电、矿山、隧道等大规模岩体工程中的难题之一。

20世纪70年代后期,块体的识别和稳定性分析主要利用块体理论来实现的,块体理论最先由石根华提出[1,2],刘锦华(1988)[3]系统介绍了块体理论,它一般采用矢量法和全空间赤平投影图解法来对块体进行识别,然后利用刚体的极限平衡法确定关键块体。Hoek E等(1998)[4]应用块体理论开发了地下工程和边坡工程的分析程序Unwedge和Swedge,该程序中只考虑了切割块体的结构面产状而没有考虑结构面的位置,所以无法确定块体的真实位置、体积及滑面的位置、面积,且该程序只能对四面体识别,不能对五面体、六面体识别;Warburton (1981)[5]运用矢量方法总结出了计算任意形状块体的方法,前提是假设块体形状已知,但仍未解决由裂隙面和自由面计算三维块体形状的拓扑几何问题。卢波、陈剑平(2002)[6]等实现了对复杂有限块体的自动搜索及确定其空间几何形态,并给出了其空间定位参数和尺寸;于青春等[7,8]提出了“一般块体理论理论”,王述红(2010)等[9]采用先半空间切割,再结合实际未断开的块体的方法,开发了GeoSMA-3D程序,但在搜索效率和搜索有效性上存在不足。张淑华(2012)[10]编制的块体识别计算机程序BlockSeek,也只对四面体、五面体识别。

基于上述研究的不足之处,笔者采用计算几何理论,运用C++语言及OpenGL软件编程实现四面体、五面体和六面体三种常见可能滑动块体的快速搜索与识别及几何特征的计算,并对块体做了分类,以提高搜索效率。

2 结构体的识别及块体几何参数的计算

在岩体工程中,由多个结构面相互切割构成的多面体块体常见有四面体、五面体、六面体和七面体(详见图2),对于七面体以上的块体,在工程中很难见到,所以这里就不做讨论。块体识别流程图如图1所示。

2.1结构面的确定

首先要根据提供的数据计算出平面的方程,设某平面其倾角为α,其倾向为β,P(X0,Y0,Z0)为该平面上的任意一点,则该平面的方程系数为:

单位法线矢量为:

该平面的方程为:

图1 结构体识别流程图

2.2结构体的确定

1)判断结构面i和j是否相交。

通过式(2)式可以确定平面单位法线矢量,由(4)式可以计算出两平面单位法线矢量夹角的余弦值cosθ:

如果cosθ=1或cosθ=-1,表示两平面法线平行,即两平面平行;反之,两平面相交。

2)计算顶点个数。

每个顶点至少由三个结构面组成,在求出的结构面中任选三条结构面,根据克拉默法则求出顶点坐标,利用程序遍历所有的面;但有些顶点并非只有三条结构面组成,而是由多条结构面组成,因此还要合并坐标相同的点。但有些满足上述条件的交点位于结构体之外,不能作为块体的顶点,应予删除,最后统计出顶点的个数V。

3)计算棱个数。

对于棱的统计是逐条结构面进行的,每个结构面上有几个顶点,则有几条棱。把各结构面得到的棱相加,除以2,则可以得到棱的数量E。

4)结构体的判断。

确定结构面顶点的个数V、侧面个数F和棱的条数E之后,带入到Euler公式(式5),若满足公式,说明此组结构面能够构成块体,若不能满足公式,应予排除。

2.3结构体内点的顺序固定排列

为了提高搜索效率及计算效率及对块体的认识更为明确,将四面体、五面体、六面体及七面体总结为以下10种类型,每种类型有各自点的顺序及计算方法(图2)。其中,(a)为四面体,(b)、(c)为五面体,(d)、(e)、(f)为六面体,(g)、(h)、(i)、(j)为七面体。

2.4结构体几何特征的计算

块体的描述主要是对块体面积和体积的计算,块体各面面积尤其是潜在滑动面的面积计算及体积计算是块体稳定性评价的前提。

1)各侧面面积的计算。

组成四面体、五面体、六面体及七面体的各个侧面只有四种类型:三角形、四边形、五边形及六边形。若三角形的三个顶点坐标分别为:P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3)

三角形的面积A为:

根据块体理论的基本假定,每个多边形均为凸多边形,在计算块体的多边形面积时,可以把多边形分解成三角形,然后对三角型面积求和,得到多边形面积。

图2 不同类型结构体点固定排列

2)体积的计算。

在四面体体积计算中,设其顶点坐标分别为:P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3),P4(x4,y4,z4),则:

在计算多面体体积时,可将多面体分解成四面体,然后对所有的四面体进行体积求和,便可得到多面体的体积。

2.5块体可视化

通过上述的方法及步骤确定块体点、面、及几何特征数据之后,利用OpenGL编程函数库,实现块体的可视化,并可对可视化的块体进行立体旋转,多方位观测块体。

3 结构体空间拓扑关系及数据结构

拓扑关系的建立是块体识别的关键所在,也是块体面积计算和体积计算的基础;而拓扑关系的建立主要是点、面、体之间关系的建立。在块体识别参数建立的过程中就建立起拓扑关系为块体的识别奠定基础。

3.1点的数据结构

class Point

{

public:

double x;//x坐标

double y;//y坐标

double z;//z坐标

int *jb;//存储组成该点的面的编号

int iptx;//点在全局编号(初始赋值为-1)

int ipty;//点在块体内编号(初始赋值为-1)

//构造函数

Point (double a,double b,double c,int *jb,int iptx, int ipty);

Point();

};

3.2面的数据结构

class Plane

{

public:

int ipl;//面的编号

int prop_pl;面的属性(0-结构面;1-临空面;2-潜在滑面;3-其他)

//平面的第1种表示方式

Point pt0;

double m;//表示倾角α;

double n; //表示倾向β;

//平面的第2种表示方式

double a;//x的系数

double b;//y的系数

double c;//z的系数

double d;//常数

//平面的第3种表示方式

int n_pt;//组成该平面的点数

Point*pt;//组成该平面的点

//3种构造方法

Plane (Point pt0,double m,double n,int ipl,int prop_pl);

Plane (doublea,doubleb,doublec,doubled,int ipl, int prop_pl);

Plane(Point *pt,int n_pt,int ipl, int prop_pl);

Plane();

};

3.3结构体的数据结构

class Block

{

public: int ibl; //块体编号

int n_pl; //面数

Plane*pl; //组成块体的面

int total_pt; //总点数

Point*pt; //组成块体的点

//构造函数

Block (int ibl, Plane *pl, Point *pt, int n_pl, int total_pt);

Block();

};

4 计算实例

表1 是某水电站调压井所测数据,以此为例来验证程序的运行情况。将以上数据输入到程序之后运行的结果为图3、图4。

对运行结果进行整理,得到表2、表3、表4结果。从结果中可以看出:在得知表1数据的情况下首先计算出了平面的方程(表2),然后进行判断是否够成块体,并对块体的类型做出了判断(含有六个顶点,属于图2(c)类型),接着求出了块体点的坐标,并对点进行排序(表3),求出块体的体积以及各面的面积(表4)。并依据所求点的坐标将块体可视化,为了更清晰的认识块体,对块体做了相应的旋转得到图4,块体阴影面为开挖面。为了检验结构体几何数据的计算结果是否正确,将所得到的点坐标输入打CAD中进行三维绘图,在CAD三维绘图空间中,对块体的各个面的面积做了计算得到表4的第二行数据,通过对表中由程序计算的面积数据与CAD计算的面积数据比较可以看出程序的正确性。

图3 程序计算结果

图4 OpenGl可视化结果

5 结论与展望

5.1结论

依据工程中岩体开挖面、结构面倾向、倾角以及点坐标,运用空间解析几何学的方法提出了对块体的快速搜索与识别,以C++为工具,将其编制出计算机程序,并将程序应用于水利水电工程块体的识别中来验证程序的可行性,通过运行分析,首先得到平面方程,然后得到各面的交点坐标,再进行判断能否构成块体,最后计算出了所构成块体的体积的大小以及各面面积,并运用OpenGL实现可视化,得到了所需要的结果,这些说明所提出的块体搜索、识别算法以及所编制的程序的正确性。

表2 五条结构面方程系数

表3 排列之后点坐标

表4 程序计算结果与CAD三维计算结果对比体积

5.2进一步工作的方向

岩体开挖过程中块体很多,有的是稳定的,称之为稳定块体;有的具有潜在滑动的趋势,这些块体称之为可能失稳块体;而对于有些块体在工程作用力和自重作用下,由于滑动面上的抗剪强度不足于抵抗滑动力,若不施加工程锚固措施,必将失稳,这类块体称之为关键块体。在确定平面组合能否构成块体以及确定块体的体积和各面面积之后,接下来是关键块体的识别,主要是用力学平衡方程进行判断,最后提出支护的方案。

参考文献:

[1]石根华.岩体稳定分析的赤平投影方法[J].中国科学: 1977(3):260-270.

[2]石根华.岩体稳定分析的几何方法[J].中国科学,1981(4): 487-495.

[3]刘锦华,吕祖布.块体理论在工程岩体稳定性分析中的应用[M].北京:水利水电出生版社,1988.

[4]Warburton PM.Vector stability analysis of anarbitrary polyhedral rock block with any number of freefaces[J].Int. J.Rock Mech.Min.Geomech.Abstr.1981,18:415-427.

[5]Unwedge User's guide,3D visualization of potentially unstable wedges in the rock surrounding underground excavation and calculation of factors of safety and support requirements for these wedges,1992-1999.

[6]卢波,陈剑平,王良奎.基于三维网络模拟基础的复杂有限块体的自动搜索及其空间几何形态的判定[J].岩体力学与工程学报,2002(8):1232-1238.

[7]于青春,薛果夫,陈德基.裂隙岩体一般块体理论[M].北京:中国水利水电出版社,2007.

[8]于青春,陈德基,薛果夫.裂隙岩体一般块体理论初步[J].水文地质工程地质,2005(6):42-48.

[9]王述红,杨勇,王洋.裂隙岩体隧道施工关键块体识别数值方法[J].地下空间与工程学报,2009(5):976-979.

[10]王述红,穆檄江,张航,张世超,.岩体结构面精细化空间模型及块体失稳分析[J].东北大学学报(自然科学版), 2012(8):1186-1189.

中图分类号:TU45