CN101710465A - 钻井模拟器钻具提升模拟方法 - Google Patents

钻井模拟器钻具提升模拟方法 Download PDF

Info

Publication number
CN101710465A
CN101710465A CN200910263419A CN200910263419A CN101710465A CN 101710465 A CN101710465 A CN 101710465A CN 200910263419 A CN200910263419 A CN 200910263419A CN 200910263419 A CN200910263419 A CN 200910263419A CN 101710465 A CN101710465 A CN 101710465A
Authority
CN
China
Prior art keywords
drilling tool
tool lifting
drilling
simulation
drill string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910263419A
Other languages
English (en)
Other versions
CN101710465B (zh
Inventor
陈利学
梅大成
龚捷
胡卫东
郑巧
赵刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest Petroleum University
Original Assignee
Southwest Petroleum University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southwest Petroleum University filed Critical Southwest Petroleum University
Priority to CN2009102634195A priority Critical patent/CN101710465B/zh
Publication of CN101710465A publication Critical patent/CN101710465A/zh
Application granted granted Critical
Publication of CN101710465B publication Critical patent/CN101710465B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种钻井模拟器钻具提升模拟方法,它包括以下步骤:(1)读取前端设备的状态参数和操作指令;(2)根据获得的设备状态参数和操作指令类别以及预先建立的钻具提升模型,计算出实现钻具提升模拟动画的作业数据;(3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据,图形处理单元据此完成钻具提升的动画展现;(4)按照设定的数据格式与图形处理单元通讯,交换动画状态信息;(5)重复前述步骤(1)~(4)。本发明基于计算机仿真技术,参照钻井现场实际操作流程,对钻具提升过程和操作方法进行逼真模拟,增强了教学培训的现场感,缩短了培训周期、提高了培训效果、降低了培训成本。

Description

钻井模拟器钻具提升模拟方法
技术领域
本发明涉及一种钻井模拟器钻井过程模拟方法,特别是涉及一种钻井模拟器钻具提升模拟方法。
背景技术
石油工业是一种技术密集型行业,钻井作业是石油工业拿储量、上产能的重要手段之一。由于石油钻井生产条件的限制和井下情况的复杂性,使石油钻井作业面临极大的风险。为了获得更好生产效率和经济效益,减少人为事故的发生,对钻井现场操作人员和工程技术人员的技术技能培训就显得十分重要。钻井过程的模拟处于钻井过程中的较为重要的一部分,所以钻井模拟器钻具提升的模拟也是举足轻重。
目前,钻井操作培训主要在生产现场进行,由于各种条件和因素的制约,使培训内容受到极大的限制,培训的系统性、培训效果及培训人员数量等都受到极大的影响。
发明内容
本发明的目的即在于克服现有技术的缺点,提供一种基于计算机仿真技术的钻井模拟器钻具提升的模拟,该钻具提升的模拟参照钻井作业现场的实际情况,对钻具提升的过程和操作方法进行逼真模拟,增强教学培训的现场感,缩短培训周期、提高培训效果、降低培训成本。
本发明的目的通过以下技术方案来实现:钻井模拟器钻具提升模拟方法,专门针对钻具提升模拟的控制程序,按照以下步骤实现钻具提升模拟:
(1)读取前端设备的状态参数和操作指令;
(2)根据获得的设备状态参数和操作指令类别以及预先建立的钻具提升模型,计算出实现钻具提升模拟动画的作业数据;
(3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据,图形处理单元据此完成钻具提升的动画展现;
(4)按照设定的数据格式与图形处理单元通讯,交换动画状态信息;
(5)重复前述步骤(1)~(4)。
钻具提升模拟控制程序必须持续不断的与前端设备进行通信,以获取前端的设备状态以及培训学员的操作过程。这样做有以下几个原因:
(1)实时获取前端硬件的设备状态后,经过钻具提升模拟控制程序处理,可以驱动图形处理单元产生与硬件设备操作同步的动画过程
(2)实时获取的前端设备状态也是钻具提升模拟控制程序中模拟数学模型的基础数据。在钻具提升过程的模拟中,需要获得大钩提升力F、钻柱的加速度a、泥浆密度ρ、某段钻柱密度、管柱提升速度VP等参数。
钻具提升模拟控制程序所计算出的钻具提升参数也需要实时传输给前端设备,所以钻具提升模拟控制程序和前端设备之间的通信具备双向、高速和稳定的特性。
操作指令类别包括:正常下钻指令、下钻遇阻指令、控制波动压力下钻指令、正常起钻指令、起钻遇卡指令和控制抽吸压力起钻指令。
正常下钻的操作过程包括:开始本次作业,起控吊卡,然后摆立柱上扣,再移开吊卡,下放钻具,摘开吊环,判断是否下钻,如果是返回起控吊卡,否则结束本次作业。
下钻遇阻的操作过程包括:开始本次作业,正常下钻,如果下钻遇阻则冲阻,划眼,结束本次作业,如果未遇阻则返回。
控制波动压力下钻的操作过程包括:开始本次作业,起控吊卡,然后摆立柱上扣,再移开吊卡,慢速下放钻具,按下相应按钮摘开吊环,判断是否继续下钻,如果是返回开始本次作业,否则结束本次作业。
正常起钻的操作过程包括:开始本次作业,提升钻具,卸下立柱,灌注泥浆,判断是否起钻,如果是则返回开始本次作业,否则结束本次作业。
起钻遇卡的操作过程包括:开始本次作业,正常下钻,如果起钻遇卡则循环解卡,倒划眼,结束本次作业,如果未遇卡则返回正常起钻。
控制抽吸压力起钻的操作过程包括:开始本次作业,慢速提升钻具,卸下立柱,灌注泥浆,判断是否继续起钻,如果是则返回慢速提升钻具,否则结束本次作业。
本发明所述的钻具提升模拟必须建立在严格的数学模型基础上,这样才能使钻具提升模拟的各种参数符合实际现场的情况,才能达到良好的培训效果。
本发明所采用的钻具提升模型包括起下钻时钻柱受力模型、起下钻时提升加速度模型、起下钻时提升速度模型、起下钻时提升钻柱长度模型和起下钻时环空流速模型。模型使用的设备状态参数包括初始状态参数包括运动管柱内径dO、运动管柱外径di、井径D、钻柱的加速度a  钻柱的单位质量qi  某段钻柱的长度li  泥浆密度ρ、流体黏附系数KC、时间步长Δt、重力加速度g、单位时间排开的流体量Qt
动态参数包括:刹把产生的摩擦力Fm、管柱提升速度VP、管柱内返出的液体量Qi、提升钻柱长度LP、泥浆泵体积流量QP、环空平均流速V1、某段钻柱密度ρa、钻柱在井内的摩擦力Fk
钻具提升模型条件的假设:
(1)钻井液环空携岩能力Lc≥0.5;环空钻屑浓度Ca<0.09;环空流态稳定参数值Z≤井眼稳定值Z值。
(2)所用通用钻速方程是建立在地层统计可钻性的基础上的,它反映了不均质地层可钻性的宏观规律。只要按《钻井手册(甲方)》选出相应的钻头类型,建立准确的地层可钻性梯度公式,纳入设计的程序,即可得出符合实际的结果。
(3)波动压力的分析与计算是建立在刚性液柱(钻井液与井内管柱为不可压缩)理论基础上的。
(4)钻井中发生溢流时,单位时间内进入环空的泥浆和气体形成的混气泥浆是均匀混合的。在这种假设下,我们可以将单位体积的混和泥浆中的气体含量看成是相等的。
(5)发现溢流后,应及时停泵关井。在井内压力平衡前,地层气体仍然会不断地进入井内。因此,假设从停泵关井到关井稳定这段时间内,井内形成一段连续的纯气柱;且在压井过程中,此连续气柱不被破坏。
(6)气体从地层中进入井筒符合达西定律。
(7)若进入井内的溢流为气体,则假设气体溢流在环空内上升时要膨胀,其膨胀过程符合气体状态方程,且忽略气体滑脱现象。若进入井内的溢流为液体,则假设液体溢流在上升过程中不发生膨胀和滑脱现象。
(8)电动机的输出功率按恒定值考虑。
(9)假设井内的地温梯度为一常数,则:井底压力=地温梯度×井深+井口温度
(10)地层破裂压力梯度为一常数,则井内任一点的地层破裂压力为该点井深乘以地层破裂压力梯度。
(11)通用钻速方程式在假设影响钻速的钻压指数、转速指数、水力参数、钻井液密度差与地层宏观性等这些单因素是互不影响的独立变量的基础上建立起来的函数关系。
由于本模型主要用于模拟培训,因此,在计算时间、计算精度和和准确度发生冲突时,原则上以保时间为主,而将过分复杂的数学模型进行了适当简化,但保证定性方面的准确性。
建立的钻具提升模型包括:
1.起下钻时钻柱受力模型
起钻:
a(∑qili-Ff/g)=F-g∑qili-Fm+Ff-Fk
下钻:
a(∑qili-Ff/g)=g∑qili-Fm-Ff-Fk
式中:F--大钩提升力牛顿
Fm--刹把产生的摩擦力(或制动力)牛顿
Ff--浮力 牛顿
Ff=ρ(∑qilia
a--钻柱的加速度米/秒2
qi--钻柱的单位质量千克/米
li--某段钻柱的长度米
ρ--泥浆密度克/厘米3
ρa--某段钻柱密度克/厘米3
Fk--钻柱在井内的摩擦力 牛顿
g--重力加速度米/秒2
2.起下钻时提升加速度模型
起钻:
a = F - gΣ q i l i - F m + F f - F k Σ q i l i - F f / g
下钻:
a = gΣ q i l i - F m - F f - F k Σ q i l i - F f / g
3.起下钻时提升速度模型
Vpt(i)=Vpt(i-1)+aΔt
式中:Δt--计算时取时间步长,秒
Vpt(i)--t(i)时刻钻柱速度,米/秒
刹把的作用是产生一个摩擦力,以阻止井内钻柱的运动,因此,将刹把作用考虑在0~1之间,即当刹把完全压下时,其刹把作用为1,表示将绞车刹死;当刹把完全抬起时,其刹把作用为0,表示将刹带完全松开。这个在0~1之间的刹车作用(刹车作用就是刹带与刹车鼓产生的摩擦力)符合绞车刹车鼓摩擦模型。
4.起下钻时提升钻柱长度模型
Lpt(i)=Vpt(i-1)Δt+0.5aΔt2
∴LP=∑Lpt(i)
式中:LP--提升钻柱长度 米
Lpt(i)--某计算点内提升钻柱长度 米
i--取Δt时间步长的计算点
5.起下钻时环空流速模型
(1)堵口管,关泵情况下:
V 1 ‾ = ( d O 2 D 2 - d O 2 + K C ) V P
Q t = 0.000785 d O 2 V P
(2)开口管关泵情况:
V 1 ‾ = ( d O 2 - d i 2 D 2 - d O 2 + K C ) V P - 4000 Q i π ( D 2 - d O 2 )
Q t = 0.000785 ( d O 2 - d i 2 ) V P
(3)开(堵)口管关泵情况:
V 1 ‾ = ( d O 2 D 2 - d O 2 + K C ) V P + 4000 Q P π ( D 2 - d O 2 )
式中:Qt--单位时间排开的流体量 升/秒
VP--管柱提升速度 米/秒
KC--流体黏附系数(无因次量)
紊流时,KC=0.5
层流时,0.3<KC<0.5,一般取0.4。
V1--环空平均流速 米/秒
QP--泥浆泵体积流量 升/秒
Qi--从管柱内返出的液体量 升/秒
D--井径 毫米
di,dO--运动管柱内外径 毫米
钻具提升模拟控制程序与图形处理单元的通信通过广泛使用的TCP/IP协议进行。钻具提升模拟控制程序将通过数据处理得到的与图形有关的数据发向图形处理单元,这些数据包括:起下钻速度和控制图形各种动作的信号等。这样就能够把钻具提升流程中的动作以及设备的状态、空间位置等控制信号和数据准确的发给图形处理单元,使图形能迅速、准确地反映前端操作者的各种动作。钻具提升模拟控制程序与图形处理单元通信的数据格式如下:
(1)钻具提升模拟控制程序发送给图形处理单元的初始化及作业数据格式
{
    struct
    {
      unsigned short state;//0:表示初始数据,1:表示作业数据
      unsigned short d1;//表示动作指令
      float d2;//在初始状态下表示吊环下平面离钻台平面高度,在作业状态下表示物体上下的速度(单位:m/s,可正可负)
      float d3;//在初始状态下表示井深,在作业状态下表示顶驱旋转速度(单位:r/min,可正可负)
      unsigned short d4;//在初始状态下表示井下钻杆数量(单位:根),在作业状态下表示吊环前/后倾斜角度(单位:度,可正可负)
      unsigned short d5;//在初始状态下表示大钩下挂钻杆数量(注意:如果d5有值,则d4的值没有意义),在作业状态下表示吊环旋转角度(单位:度,可正可负)
      unsigned short d6;//在初始状态下表示立杆盒钻杆数量(单位:柱)
      unsigned short d7;//在初始状态下表示井下钻挺数量(单位:根)
      unsigned short d8;//在初始状态下表示立杆盒钻挺数量(单位:柱)
      unsigned short d9;//在初始状态下表示本次作业是否为压井作业
      unsigned short d10;//在初始状态下表示钻杆上是否有3根打捞线
    }data;
    struct
    {
        float js;//井深
        float gaslength1;//溢流气体长度
        float gasheight1;//溢流气体底部距井底高度
        float gaslength2;//在现有的作业中无用,保留
        float gasheight2;//在现有的作业中无用,保留
        float hkkillmudlength;//环空内压井泥浆长度
        float hkkillmudheight;//环空内压井泥浆距井底高度
        float hkovermudlength;//环空内重泥浆长度
        float hkovermudheight;//环空内重泥浆距井底高度
        float zzkillmudlength;//钻柱内压井泥浆长度
        float zzkillmudheight;//钻柱内压井泥浆距井口高度
        float zzovermudlength;//钻柱内重泥浆长度
        float zzovermudheight;//钻柱内重泥浆距井口高度
        unsigned short JingKongFlag;//在初始状态下表示本次作业是否为压井作业
        undigned short fireflag;//点火标志
    }jk;
};
(2)图形处理单元发送给钻具提升模拟控制程序的数据格式
    union JSRevTUData
    {
        struct
        {
            float d1;//大钩高度
            float d2;//大钩速度
            unsigned short d3;//每个动作绘制完成标记
            unsigned short d4;//半封状态,0表示关,1表示中间状态,2表示开
            unsigned short d5;//全封状态,0表示关,1表示中间状态,2表示开
            unsigned short d6;//环形状态,0表示关,1表示中间状态,2表示开
            unsigned short d7;//小鼠洞是否有杆,0表示无杆,1表示有杆
            unsigned short d8;//吊环下挂物体是否在钻台平面下,0表示在下面,1表示
在上面
        }data;
    };
由于系统规模较大,设计复杂,图形绘制程序的设计是基于面向对象的。鉴于在钻井工艺中涉及到的物体较多,并且各个物体在不同的方面有不同的特性,因此在设计之前,应确定设计类的准则。对本发明而言,这里关心的是用物体如何展现工艺流程,所以类的设计应该围绕物体的动画功能需要来进行,而所涉及到的图形处理单元包括图形绘制程序和视景仿真控制程序。
其中,图形绘制程序主要包括设备类图形绘制、粒子类图形绘制、管理类图形绘制和工艺动画绘制,视景仿真控制程序主要包括场景初始化、工艺动画控制、碰撞处理和特效渲染。类的设计包括:
(1)设备类
钻具提升模拟中涉及到动画的物体具有一些相同的特点,例如每个物体都具有场景坐标、旋转角度等特点,就将各个类中的相同属性和方法抽象出来集成为类Device。类Device是一个父类,它向子类提供了一些公共属性和方法。就属性而言,类Device的属性中除了场景坐标、旋转角度、上升速度之外、还应有ID,Device.preObject、Device.subObject等属性。其中ID是用来标志物体类型,由于本发明中动画涉及的物体类型较多,利用ID可以方便查找物体的类型。而属性Device.preObject、Device.subObject可以为查找某物体的前后物体带来便利。另外,类Device还应该具有公共方法,钻井中的物体都具有旋转、移动等动作,因此方法中必定有移动方法MoveDevice()和旋转方法RotateDevice()。鉴于所有物体都要以三维图形在计算机上显示出来,因此还应有物体的绘制方法,即Draw()。
(2)粒子类
钻具提升模拟中模拟微观事物具有多样性,因此设计了粒子类,在系统设计中把粒子系统抽象为一个类,命名为Particle。与Device相同Particle是为完成粒子模拟功能中所设计的父类。父类Particle的属性有粒子分别在XYZ坐标轴上的位置以及坐标轴上的位置增量,还有粒子生命状态。而Particle的子类有Fire类、Gas类和Blowout类。Fire类主要用于火焰燃烧效果的模拟;Gas类主要用于正常钻进过程中钻到气层时,气体溢出的模拟;Blowout类主要用于发生井喷时,井口泥浆喷涌的效果模拟。
(3)Shader管理类
Shader的使用是通过调用OpenGL API中的函数,这个函数让Shader的应用可以直接与OpenGL驱动相连接,它是存储一个OpenGL着色片段不可缺少的数据结构。这些数据结构被称为着色对象(Shader Object)。在一个着色对象创建好后,应用程序通过调用glShaderSourceARB把着色代码提供给着色对象。为了有效的使用和管理编写好的Shader,在设计过程中专门设计了GLShader类。这个类主要用来设定Shader对象,读入编写好的Vertex文件和Fragment文件,读入参数类型和参数值,读入纹理信息,Shader的使用和删除等。GLShader类的设计能使Shader的使用更为有效,提高了Shader使用的灵活性和可重用性。
视景仿真控制程序主要完成以下工作:
(1)场景初始化
一个新的作业开始前,图形处理单元在接收到钻具提升模拟控制程序发出的作业指令后初始化当前场景,例如:钻井平台上各操作部件当前的数量、状态以及位置。
(2)工艺动画控制
将与钻具提升模拟控制程序相互通信得到的参数及数据进行处理,体现出钻台上各种控制系统的运动参数、具体动作、视图选择(包括上视角、井下视角、防喷器视角、多视图显示等)等。
(3)碰撞处理
在三维图形的运动仿真过程中是不允许有“穿墙而过”的状况发生的,因此要对运动物体作碰撞检测的处理。为了遵循模型运动的真实感,钻井模拟视景仿真当然也包括碰撞的检测与处理部分。
(4)特效渲染
实现对火焰、气泡、液体喷涌效果的模拟,使用GLSL实现电影级的光照效果,可以分别模拟白天,夜晚,探照灯等光照模式,大大地提高了图形效果和真实感。
本发明的有益效果是:提供了钻井模拟器钻具提升的模拟方法,即参照钻井作业现场的实际情况,对钻具提升的过程和操作方法进行逼真模拟,增强教学培训的现场感,缩短培训周期、提高培训效果、降低培训成本。
附图说明
图1钻井模拟器的组成结构图
图2钻井模拟器钻具提升模拟控制程序组成框图
图3钻井模拟器钻具提升模拟控制程序流程图
图4钻井模拟器钻具提升模拟控制程序与前端设备通信框图
图5正常下钻流程图
图6下钻遇阻流程图
图7控制波动压力下钻流程图
图8正常起钻流程图
图9起钻遇卡流程图
图10控制抽吸压力起钻流程图
图11图形处理单元的组成框图
图12设备类及其部分子类的结构
图13粒子类及其部分子类的结构
图14Shader在OPENGL中的执行过程
图15设备类、粒子类和Shader管理类之间的调用关系
具体实施方式
下面通过实施例进一步描述本发明的技术方案,本发明不限于所述实施例。
为了实施本发明所述的技术方案,构建了一个钻井模拟系统,如图1,它包括主控计算机、图形处理计算机、前端设备和投影设备,主控计算机和图形处理计算机通过TCP/IP互联,前端设备与主控计算机通过Siemens PPI协议互联,图形处理计算机连接投影设备,主控计算机上运行钻具提升模拟控制程序,图形处理计算机运行图形处理单元,前端设备包括节流管汇、高压管汇、防喷器控制台、阻流器控制台、远程控制台和司钻控制台,投影设备包括两台投影仪和一个大尺寸屏幕。
如图2是钻具提升模拟控制程序的组成,钻具提升模拟控制程序包括与前端硬件设备及图形处理单元通信的通信模块和钻具提升模拟模块,与前端硬件设备通信是为了实时获得硬件设备状态,比如在钻具提升的模拟中,就需要获得大钩提升力、钻柱的加速度、泥浆密度、管柱提升速度和运动管柱内外径等参数,然后在内部通过相关数学模型,模拟钻具提升过程,钻具提升模拟包括正常下钻模拟、下钻遇阻模拟、控制波动压力下钻模拟、正常起钻模拟、起钻遇卡模拟和控制抽吸压力起钻模拟。进而通过TCP/IP协议向图形处理单元发送控制命令,驱动图形处理单元产生与硬件设备操作同步的动画过程;并将信号反馈给前端硬件,使前端仪表参数的显示符合现场情况。
如图3,钻井模拟器钻具提升模拟方法,钻具提升模拟控制程序,按照以下步骤实现钻具提升模拟:
(1)读取前端设备的状态参数和操作指令;
(2)根据获得的设备状态参数和操作指令类别以及预先建立的钻具提升模型,计算出实现钻具提升模拟动画的作业数据;
(3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据,图形处理单元据此完成钻具提升的动画展现;
(4)按照设定的数据格式与图形处理单元通讯,交换动画状态信息;
(5)重复前述步骤(1)~(4)。
由于前端设备采用PLC进行控制和处理,因此本发明采用通用OPC技术实现通信过程。
钻井模拟系统中,OPC服务器使用西门子公司提供的S7-200OPC Server。并且在西门子公司提供的PC Access软件中建立OPC服务器和需要访问的PLC硬件系统存储单元的映射关系。
在钻具提升模拟控制程序中实现OPC客户端功能。利用支持C++Builder的IOCOMP组件能够轻松建立客户端和服务器的通信过程。
如图4是钻具提升模拟控制程序与前端设备通信框图。该通信框图包括:OPC客户机,OPC服务器和PLC系统,其中OPC客户机通过OPC接口与OPC服务器连接,OPC服务器通过PPI电缆与PLC系统连接。
操作指令类别主要包括正常下钻指令、下钻遇阻指令、控制波动压力下钻指令、正常起钻指令、起钻遇卡指令和控制抽吸压力起钻指令。
如图5是正常下钻流程图,其工作流程大致可描述为:开始本次作业,起控吊卡,然后摆立柱上扣,再移开吊卡,下放钻具,摘开吊环,判断是否下钻,如果是返回起控吊卡,否则结束本次作业。
如图6是下钻遇阻流程图,其工作流程大致可描述为:开始本次作业,正常下钻,如果下钻遇阻则冲阻,划眼,结束本次作业,如果未遇阻则返回。
如图7是控制波动压力下钻流程图,其工作流程大致可描述为:开始本次作业,起控吊卡,然后摆立柱上扣,再移开吊卡,慢速下放钻具,按下相应按钮摘开吊环,判断是否继续下钻,如果是返回开始本次作业,否则结束本次作业。
如图8是正常起钻流程图,其工作流程大致可描述为:开始本次作业,提升钻具,卸下立柱,灌注泥浆,判断是否起钻,如果是则返回开始本次作业,否则结束本次作业。
如图9是起钻遇卡流程图,其工作流程大致可描述为:开始本次作业,正常下钻,如果起钻遇卡则循环解卡,倒划眼,结束本次作业,如果未遇卡则返回正常起钻。
如图10是控制抽吸压力起钻流程图,其工作流程大致可描述为:开始本次作业,慢速提升钻具,卸下立柱,灌注泥浆,判断是否继续起钻,如果是则返回慢速提升钻具,否则结束本次作业。
本发明所述的钻具提升模拟必须建立在严格的数学模型基础上,这样才能使钻具提升模拟的各种参数符合实际现场的情况,才能达到良好的培训效果。
本发明所采用的钻具提升模型包括起下钻时钻柱受力模型、起下钻时提升加速度模型、起下钻时提升速度模型、起下钻时提升钻柱长度模型和起下钻时环空流速模型。模型使用的设备状态参数包括初始状态参数包括运动管柱内径dO、运动管柱外径di、井径D、钻柱的加速度a 钻柱的单位质量qi 某段钻柱的长度li 泥浆密度ρ流体黏附系数KC、时间步长Δt、重力加速度g、单位时间排开的流体量Qt
动态参数包括:刹把产生的摩擦力Fm、管柱提升速度VP、管柱内返出的液体量Qi、提升钻柱长度LP、泥浆泵体积流量QP、环空平均流速V1、某段钻柱密度ρa、钻柱在井内的摩擦力Fk
如图11是图形处理单元的组成框图,它包括一个全三维实体模型库、图形绘制程序和视景仿真控制程序。
建立一个完美的模型,是钻井模拟系统真实感体现最为重要的元素,钻井模拟系统中虚拟环境的实现过程基本分为三步:第一步是几何建模,主要包括用多边形或三角形构成对象的立体外形;第二步是物理建模,主要包括对几何建模的结果进行纹理、颜色、光照等处理;第三步是具体程序控制,主要通过运动建模的方法实现虚拟环境下的物体运动模拟。前两步是虚拟场景的构建过程,第三步则是运动建模。
几何建模是开发虚拟现实系统中最基本、最重要的工作之一。虚拟环境中的几何模型是物体几何信息的表示,涉及表示几何信息的数据结构、相关的构造与操纵该数据结构的算法。虚拟环境中的每个物体包含形状和外观两个方面。物体的形状由构造物体的各个多边形、三角形和顶点来确定,物体的外观则由表面纹理、颜色、光照系数等来决定。因此,用于存储虚拟环境中几何模型的模型文件应该能够提供以上信息,同时还要满足虚拟建模技术的三个常用指标:交互显示能力、交互式操纵能力、易于构造的能力对虚拟对象模型的要求。
几何建模技术分为体素和结构两个方面。体素用来构造物体的原子单位,体素的选取决定了建模系统所能构造的对象范围。结构用来决定体素如何组成新的对象。
物理建模指的是虚拟对象的质量、重量、惯性、表面纹理、硬度、变形模式等特征的建模,这些特征与几何建模和行为法则相融合,形成一个更具真实感的虚拟环境。物理建模是虚拟现实系统中比较高层次的建模,它需要物理学与计算机图形学配合,涉及到力的反馈问题,主要是重量建模、表面形变和软硬度等物体属性的体现。
在虚拟环境中,物体的特性还涉及到位置改变、碰撞、捕获、缩放和表面变形等,仅仅建立静态三位几何体对虚拟现实系统是不够的。
对象位置包括对象的移动、旋转和缩放。在虚拟现实系统中,不仅要涉及到绝对的坐标系统,还要涉及到每个对象相对的坐标系统。碰撞检测是VR技术的重要技术,它在运动建模中经常使用,例如虚拟环境中,人不能穿墙而过。碰撞检测技术是虚拟环境中对象与对象之间碰撞的一种识别技术。为了节省系统开销,在本发明中采用矩形边界检测方法。
本实施例中用三维建模工具3ds max建立所有设备的模型,将3ds max所绘制的模型导入到实时3D环境虚拟实境编辑软件Virtools中,根据设备的物理特性配置Virtools中模型的所有特性,使用Virtools控制模型的运动和显示,在初始状态下可以实现全场景的漫游,搭建Cave环境实现全三维仿真。
图形绘制程序的设计是面向对象的,本发明将钻具提升中涉及到的对象分为三类:设备类图、粒子类和shader管理类。
钻井系统中涉及到动画的物体具有一些相同的特点,例如每个物体都具有场景坐标、旋转角度等特点,于是就可以将各个类中的相同属性和方法抽象出来集成为类Device。类Device是一个父类,它向子类提供了一些公共属性和方法。就属性而言,类Device的属性中除了场景坐标、旋转角度、上升速度之外、还应有ID,Device.preObject、Device.subObject等属性。其中ID是用来标志物体类型,由于本发明中图形处理单元中动画涉及的物体类型较多,利用ID可以方便查找物体的类型。而属性Device.preObject、Device.subObject可以为查找某物体的前后物体带来便利。另外,类Device还应该具有公共方法,起钻中的物体都具有旋转、移动等动作,因此方法中必定有移动方法MoveDevice()和旋转方法RotateDevice()。鉴于所有物体都要以三维图形在计算机上显示出来,因此还应有物体的绘制方法,即Draw()。根据分析,从父类派生下来的是大钩、液压大钳等子类,它们不仅继承了父类的公有属性和方法,还具有自己的属性和方法。例如大钩就有SetState()这个方法以设置大钩当前的状态。
图12是钻井模拟器钻具提升模拟过程中涉及到的设备类及其部分子类。
由于系统模拟微观事物的多样性,粒子系统的使用在整个系统中也有较高的重用性,因此设计了粒子类。
图13展示了粒子类及其子类。在系统设计中把粒子系统抽象为一个类,命名为Particle。与Device相同Particle是为完成粒子模拟功能中所设计的父类。父类Particle的属性有粒子分别在XYZ坐标轴上的位置以及坐标轴上的位置增量,还有粒子生命状态。而Particle的子类有Fire类、Gas类和Blowout类。Fire类主要用于火焰燃烧效果的模拟;Gas类主要用于正常钻进过程中钻到气层时,气体溢出的模拟;Blowout类主要用于发生井喷时,井口泥浆喷涌的效果模拟。这些子类还分别有自己的属性,例如:粒子大小、大小增量、颜色分量R/G/B等。
Particle类的方法主要是Init()、Draw(),用于对粒子的初始化和绘制,而子类中引入了继承结构中的多态性概念。由于Fire、Gas、Blowout粒子系统采用的数学模型不同,所以各自的绘制方法都不尽相同,每个子类都有自己的初始化状态和绘制方法。除了共有的Init()、Draw()方法,每个子类有自己的私有方法,例如:Fire类就有计算尾焰、向量计算等方法。
OpenGL是目前跨平台最广泛的三维图形引擎,它在真实感图形制作上的优秀性能使之成为诸大公司的图形标准,所以OpenGL成为新一代的三维图形工业标准。
图14说明了Shader在OpenGL中的执行过程,Shader的使用是通过调用OpenGL API中的函数。OpenGL提供了一个新的函数glCreateShaderObjectARB,这个函数让Shader的应用可以直接与OpenGL驱动相连接,它是存储一个OpenGL着色片段不可缺少的数据结构。这些数据结构被称为着色对象(Shader Object)。在一个着色对象创建好后,应用程序通过调用glShaderSourceARB把着色代码提供给着色对象。
为了有效的使用和管理编写好的Shader,在设计过程中专门设计了GLShader类。这个类主要用来设定Shader对象,读入编写好的Vertex文件和Fragment文件,读入参数类型和参数值,读入纹理信息,Shader的使用和删除等。GLShader类的设计能使Shader的使用更为有效,提高了Shader使用的灵活性和可重用性。
由于父类Device和Particle所有的属性和方法都是公有的,因此子类可以调用父类的所有方法。鉴于子类较多,这里只给出父类间的调用关系,如图15所示。面向对象的设计方法非常灵活,系统可以根据需要方便的添加新的类、属性和方法,对程序的扩展是非常有利的。
视景仿真控制程序主要负责与钻具提升模拟控制程序通讯,获取实时动画的指令和数据,对图形绘制程序发出作业指令完成实时动画的绘制,由于在三维图形的运动仿真过程中是不允许有“穿墙而过”的状况发生的,所以视景仿真控制程序要对运动物体作碰撞检测与处理,为了提高图形效果和真实感,采用渲染特效,模拟火焰、气泡、液体喷涌效果,还使用GLSL实现电影级的光照效果,可以分别模拟白天,夜晚,探照灯等光照模式。
在作业开始后,由钻具提升模拟控制程序发出指令让视角固定,也可以通过钻具提升模拟控制程序发出指令让图形分成三个部分进行分屏显示,钻具提升模拟控制程序接收来自前端操作者发出的各种指令及参数信息,并行数据处理。然后通过TCP/IP协议将数据处理后得到的与图形有关的数据发向图形处理单元,这些数据包括:起下钻速度、转盘转速、控制图形各种动作的信号;压井中的钻井液颜色、气柱长度等,图形处理单元得到数据后,做出具体反映,体现出钻台上各种控制系统的运动参数、具体动作、视图选择(包括上视角、井下视角、防喷器视角、多视图显示等)等,并将一些设备状态参数和图形绘制完成标记反馈回钻具提升模拟控制程序。
图形处理单元与钻具提升模拟控制程序之间通信的数据格式如下:
钻具提升模拟控制程序发送给图形处理单元的初始化及作业数据格式:
union JSSendTUData
{
    unsigned char buff[100];
    struct
    {
        unsigned short state;//0:表示初始数据,1:表示作业数据
        unsigned short d1;//表示动作指令
        float d2;//在初始状态下表示吊环下平面离钻台平面高度,在作业状态下表示物体
上下的速度(单位:m/s,可正可负)
        float d3;//在初始状态下表示井深,在作业状态下表示顶驱旋转速度(单位:r/min,
可正可负)
        unsigned short d4;//在初始状态下表示井下钻杆数量(单位:根),在作业状态下表示吊环前/后倾斜角度(单位:度,可正可负)
        unsigned short d5;//在初始状态下表示大钩下挂钻杆数量(注意:如果d5有值,则d4的值没有意义),在作业状态下表示吊环旋转角度(单位:度,可正可负)
        unsigned short d6;//在初始状态下表示立杆盒钻杆数量(单位:柱)
        unsigned short d7;//在初始状态下表示井下钻挺数量(单位:根)
        unsigned short d8;//在初始状态下表示立杆盒钻挺数量(单位:柱)
        unsigned short d9;//在初始状态下表示本次作业是否为压井作业
        unsigned short d10;//在初始状态下表示钻杆上是否有3根打捞线
    }data;
    struct
    {
        float js;//井深
        float gaslength1;//溢流气体长度
        float gasheight1;//溢流气体底部距井底高度
        float gaslength2;//在现有的作业中无用,保留
        float gasheight2;//在现有的作业中无用,保留
        float hkkillmudlength;//环空内压井泥浆长度
        float hkkillmudheight;//环空内压井泥浆距井底高度
        float hkovermudlength;//环空内重泥浆长度
        float hkovermudheight;//环空内重泥浆距井底高度
        float zzkillmudlength;//钻柱内压井泥浆长度
        float zzkillmudheight;//钻柱内压井泥浆距井口高度
        float zzovermudlength;//钻柱内重泥浆长度
        float zzovermudheight;//钻柱内重泥浆距井口高度
        unsigned short JingKongFlag;//在初始状态下表示本次作业是否为压井作业
        undigned short fireflag ;//点火标志
    }jk;
};
图形处理单元发送给钻具提升模拟控制程序的状态信息数据格式
union JSRevTUData
{
    unsigned char buff[20];
    struct
    {
        float d1;//大钩高度
        float d2;//大钩速度
        unsigned short d3;//每个动作绘制完成标记
        unsigned short d4;//半封状态,0表示关,1表示中间状态,2表示开
        unsigned short d5;//全封状态,0表示关,1表示中间状态,2表示开
        unsigned short d6;//环形状态,0表示关,1表示中间状态,2表示开
        unsigned short d7;//小鼠洞是否有杆,0表示无杆,1表示有杆
        unsigned short d8;//吊环下挂物体是否在钻台平面下,0表示在下面,1表示在上面
    }data;
};
这样就把钻井工艺流程中的钻具提升动作以及钻井现场各种设备的状态、空间位置等控制信号和数据准确的发给图处理单元,使图形能迅速、准确地反映前端操作者的动作,完成全三维实时钻具提升的模拟。

Claims (6)

1.钻井模拟器钻具提升模拟方法,其特征是:专门针对钻井过程中钻具提升模拟的控制程序,按照以下步骤实现钻具提升模拟:
(1)读取前端设备的状态参数和操作指令;
(2)根据获得的设备状态参数和操作指令类别以及预先建立的钻具提升模型,计算出实现钻具提升模拟动画的作业数据;
(3)按照设定的数据格式与专门设置的图形处理单元通讯,交换初始化数据和作业数据,图形处理单元据此完成钻具提升的动画展现;
(4)按照设定的数据格式与图形处理单元通讯,交换动画状态信息;
(5)重复前述步骤(1)~(4)。
2.根据权利要求1所述的钻井模拟器钻具提升模拟方法,其特征是:所述的设备状态参数包括初始状态参数和动态参数,其中,初始状态参数包括运动管柱内径dO、运动管柱外径di、井径D、钻柱的加速度a 钻柱的单位质量qi 某段钻柱的长度li 泥浆密度ρ、流体黏附系数KC、时间步长Δt、重力加速度g、单位时间排开的流体量Qt
动态参数包括:刹把产生的摩擦力Fm、管柱提升速度VP、管柱内返出的液体量Qi、提升钻柱长度LP、泥浆泵体积流量QP、环空平均流速V1、某段钻柱密度ρa、钻柱在井内的摩擦力Fk
3.根据权利要求1所述的钻井模拟器钻具提升模拟方法,其特征是:所述的操作指令包括正常下钻指令、下钻遇阻指令、控制波动压力下钻指令、正常起钻指令、起钻遇卡指令和控制抽吸压力起钻指令。
4.根据权利要求1所述的钻井模拟器钻具提升模拟方法,其特征是:所述钻具提升模型包括起下钻时钻柱受力模型、起下钻时提升加速度模型、起下钻时提升速度模型、起下钻时提升钻柱长度模型和起下钻时环空流速模型。
5.根据权利要求1所述的钻井模拟器钻具提升模拟方法,其特征是:所述的数据格式包括初始化数据格式、作业数据格式和动画状态信息格式。
6.根据权利要求1所述的钻井模拟器钻具提升模拟方法,其特征是:所述的图形处理单元包括图形绘制程序和视景仿真控制程序,其中,图形绘制程序包括设备类图形绘制、粒子类图形绘制、管理类图形绘制和工艺动画绘制,视景仿真控制程序包括工艺动画控制、碰撞处理、特效渲染和参数显示。
CN2009102634195A 2009-12-16 2009-12-16 钻井模拟器钻具提升模拟方法 Expired - Fee Related CN101710465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102634195A CN101710465B (zh) 2009-12-16 2009-12-16 钻井模拟器钻具提升模拟方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102634195A CN101710465B (zh) 2009-12-16 2009-12-16 钻井模拟器钻具提升模拟方法

Publications (2)

Publication Number Publication Date
CN101710465A true CN101710465A (zh) 2010-05-19
CN101710465B CN101710465B (zh) 2011-11-16

Family

ID=42403248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102634195A Expired - Fee Related CN101710465B (zh) 2009-12-16 2009-12-16 钻井模拟器钻具提升模拟方法

Country Status (1)

Country Link
CN (1) CN101710465B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102953692A (zh) * 2012-11-19 2013-03-06 无锡市京锡冶金液压机电有限公司 一种岩凿机防缓变卡钻模拟实验方法
CN102953691A (zh) * 2012-11-19 2013-03-06 无锡市京锡冶金液压机电有限公司 一种岩凿机防裂隙卡钻模拟实验方法
CN104599575A (zh) * 2015-01-08 2015-05-06 西南石油大学 井下作业模拟系统
CN104616553A (zh) * 2015-01-08 2015-05-13 西南石油大学 井下作业模拟系统及方法
CN104700680A (zh) * 2015-01-08 2015-06-10 西南石油大学 基于无定序操作模式的钻井模拟系统
CN104766526A (zh) * 2015-01-22 2015-07-08 中国石油技术开发公司 一种陆地钻机安装操作模拟系统的led环幕投影显示系统
CN108694258A (zh) * 2017-04-10 2018-10-23 中国石油化工股份有限公司 用于施工方案预演优化的钻井井下虚拟仿真方法及系统
CN111598042A (zh) * 2020-05-25 2020-08-28 西安科技大学 一种用于井下钻杆计数的视觉统计方法
CN112446942A (zh) * 2020-11-09 2021-03-05 北京达佳互联信息技术有限公司 特效渲染方法、装置、电子设备及存储介质
CN113047776A (zh) * 2020-12-01 2021-06-29 中国石油天然气股份有限公司 用于下套管过程中的井底压力控制系统及下套管方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102953692A (zh) * 2012-11-19 2013-03-06 无锡市京锡冶金液压机电有限公司 一种岩凿机防缓变卡钻模拟实验方法
CN102953691A (zh) * 2012-11-19 2013-03-06 无锡市京锡冶金液压机电有限公司 一种岩凿机防裂隙卡钻模拟实验方法
CN104700680B (zh) * 2015-01-08 2017-07-28 西南石油大学 基于无定序操作模式的钻井模拟系统
CN104616553A (zh) * 2015-01-08 2015-05-13 西南石油大学 井下作业模拟系统及方法
CN104700680A (zh) * 2015-01-08 2015-06-10 西南石油大学 基于无定序操作模式的钻井模拟系统
CN104599575A (zh) * 2015-01-08 2015-05-06 西南石油大学 井下作业模拟系统
CN104766526A (zh) * 2015-01-22 2015-07-08 中国石油技术开发公司 一种陆地钻机安装操作模拟系统的led环幕投影显示系统
CN108694258A (zh) * 2017-04-10 2018-10-23 中国石油化工股份有限公司 用于施工方案预演优化的钻井井下虚拟仿真方法及系统
CN108694258B (zh) * 2017-04-10 2021-09-07 中国石油化工股份有限公司 用于施工方案预演优化的钻井井下虚拟仿真方法及系统
CN111598042A (zh) * 2020-05-25 2020-08-28 西安科技大学 一种用于井下钻杆计数的视觉统计方法
CN111598042B (zh) * 2020-05-25 2023-04-07 西安科技大学 一种用于井下钻杆计数的视觉统计方法
CN112446942A (zh) * 2020-11-09 2021-03-05 北京达佳互联信息技术有限公司 特效渲染方法、装置、电子设备及存储介质
CN112446942B (zh) * 2020-11-09 2023-12-19 北京达佳互联信息技术有限公司 特效渲染方法、装置、电子设备及存储介质
CN113047776A (zh) * 2020-12-01 2021-06-29 中国石油天然气股份有限公司 用于下套管过程中的井底压力控制系统及下套管方法
CN113047776B (zh) * 2020-12-01 2024-03-01 中国石油天然气股份有限公司 用于下套管过程中的井底压力控制系统及下套管方法

Also Published As

Publication number Publication date
CN101710465B (zh) 2011-11-16

Similar Documents

Publication Publication Date Title
CN101710465B (zh) 钻井模拟器钻具提升模拟方法
CN101710468B (zh) 钻井模拟器压力控制模拟方法
CN101719331A (zh) 钻井模拟器钻进工艺模拟方法
CN101710467A (zh) 钻井模拟器溢流模拟方法
CN101719332A (zh) 全三维实时钻井模拟的方法
CN108694258B (zh) 用于施工方案预演优化的钻井井下虚拟仿真方法及系统
US7596481B2 (en) Three-dimensional wellbore analysis and visualization
CN111583414B (zh) 一种油气井动态井控vr系统的搭建方法
RU2461707C2 (ru) Моделирование переходного режима кнбк/бурильной колонны в процессе бурения
CN103717832B (zh) 显示与钻取钻孔相关联的数据的方法及钻井系统
CA3047723A1 (en) Subsurface modeler workflow and tool
CN101710466B (zh) 钻井模拟器气体膨胀模拟方法
CN103069460B (zh) 用于呈现钻井记录值的方法和系统
CN104637362A (zh) 基于无定序操作模式的钻井模拟系统及方法
CN115510778A (zh) 一种陆相页岩储层无限级压裂工艺优化方法及系统
CN104700680B (zh) 基于无定序操作模式的钻井模拟系统
CN204808639U (zh) 一种陆地钻机虚拟装配系统
US11625162B2 (en) Geologic formation operations framework
CN104575151A (zh) 一种陆地钻机虚拟装配系统
CN104599543A (zh) 一种陆地钻机虚拟装配系统及其操作方法
CN104766524A (zh) 一种钻机安装模拟系统的软件总体构造
CN204965898U (zh) 一种钻机安装模拟系统的总体构造
CN210136597U (zh) 裸眼井测井模拟系统硬件平台
Kim et al. Support form-based codes with building information modelling–the parametric urban model case study
CN217655612U (zh) 一种海洋钻井数字化模拟设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111116

Termination date: 20181216

CF01 Termination of patent right due to non-payment of annual fee