天天看点

【数学建模】复杂水平井三维轨道设计附论文和matlab代码

1 内容介绍

在油气田开采过程中,井眼轨迹直接影响着整个钻井整体效率。对于复杂水

平井,较差的井眼轨迹很可能会造成卡钻或施加钻压困难等重大事故的发生。因

而,在施工之前分析影响井眼轨迹走向规律的诸多因素,设计最适当的井眼轨迹

显得十分重要。

在井眼轨道设计模型中,设计轨道往往由一些连续的曲线构成。目前常用的

复杂水平井的井眼轨道设计模型有“垂直段 + 增斜段 + 稳斜段 + 扭方位段 +

稳斜段 + 增斜段 + 水平段”的七段式井眼轨道设计模型,如图 1 所示。描述井

眼轨道的参数可分为基本测斜参数、坐标参数、挠曲参数和工艺参数,基本测斜

参数包括井深、井斜角、方位角;坐标参数用来确定轨道上一点的空间位置,在

空间直角坐标系下,空间坐标可由北坐标、东坐标和垂深表示;挠曲参数主要指

井眼轨道的曲率、挠率等参数;工艺参数是指钻井施工中用来确定井眼轨道的参

数,主要包括造斜点、工具造斜率和工具面角。

七段式井眼轨道设计模型由空间上的圆弧(如增斜段、扭方位段)和直线(如

垂直段、稳斜段)构成,相邻曲线、直线之间光滑连接。对于井眼轨道设计模型

的每个井段,通过表征三维井眼轨道所需要的特征参数将观测点 1 到观测点 2

处确定井眼轨道的形状和姿态,如图 2 所示。图 2 中所示井段是由观测点 1 的方

位角(

𝜃1)和井斜角(𝜑1)、观测点 2 的方位角(

𝜃2)和井斜角(𝜑2)以及狗腿

度(𝑇)征成。狗腿度为从井眼内的一点到另一点,井眼前进方向变化的角度。

狗腿度既反映了井斜角度的变化,又反映了方位角度的变化。

石油套管是用于支撑油、气井井壁的钢管,以保证完井后整个油井的正常运

行。为此,套管坐封点应该位于合适的地层中,以便在固井后为套管鞋提供压力

完整性。对于七段式井眼轨道设计模型,套管坐封点限制了井斜角的角度。为此,

在设计时需要考虑套管坐封点的影响,如图 1 所示。

钻井公司作为采油厂的服务方,合理的完工验收标准是服务合同的要件。由

于地层的复杂性,完全精准地按设计的井眼轨道完成钻井的可能性较小。如何平

衡钻井成本和风险与完井采油的方便之间的冲突,提出一套合理的钻井完工验收

标准也是本题目的任务之一。

【数学建模】复杂水平井三维轨道设计附论文和matlab代码
【数学建模】复杂水平井三维轨道设计附论文和matlab代码

2 部分代码

%% 求系统信息及系统图形

%% 利用离散枚举法计算bestx0, besty0情况下的系统信息及系统图形

clc

clear

%风速为12时的系统情况

H = 18;

N = 1000;

x0 = 20;

v_wind = 12;

m_qiu = 1200;

I = 2;

L = 22.05;

y0_yn_figure = 1;

xitong_figure = 1;

[besty0, bestx0] = bestpoint(H, N, x0, v_wind, m_qiu, I, L, y0_yn_figure);

y0 = besty0;

x0 = bestx0;

[y1, x1, theta1, T1, stat1] = For2D(y0, x0, v_wind, m_qiu, I, L, xitong_figure);

%风速为24时的系统情况

v_wind = 24;

[besty0, bestx0] = bestpoint(H, N, x0, v_wind, m_qiu, I, L, y0_yn_figure);

y0 = besty0;

x0 = bestx0;

[y2, x2, theta2, T2, stat2] = For2D(y0, x0, v_wind, m_qiu, I, L, xitong_figure);  

%风速为36时的系统情况

y0_yn_figure = 0;

v_wind = 36;

[besty0, bestx0] = bestpoint(H, N, x0, v_wind, m_qiu, I, L, y0_yn_figure);

y0 = besty0;

x0 = bestx0;

[y3, x3, theta3, T3, stat3] = For2D(y0, x0, v_wind, m_qiu, I, L, xitong_figure);

%% 利用迭代算法计算bestx0, besty0情况下的系统信息及系统图形

clc

clear

%风速为12时的系统情况

y0 = -0.5;

x0 = 20;

H = 18;

eta = 0.001;%注:学习率严重影响求解精度

maxt = 500;

eps = 0.01;

v_wind = 12;

m_qiu = 1200;

I = 2;

L = 22.05;

[besty0, bestx0, bestyn] = bestpoint2(y0, x0, H, eta, maxt, eps, v_wind, m_qiu, I, L);

y0 = besty0;

x0 = bestx0;

xitong_figure = 1;

[y1, x1, theta1, T1, stat1] = For2D(y0, x0, v_wind, m_qiu, I, L, xitong_figure);

%% 利用fzero计算bestx0, besty0情况下的系统信息及系统图形

clc

clear

%风速为12时的系统情况

H = 18;

x0 = 20;

v_wind = 12;

m_qiu = 1200;

I = 2;

L = 22.05;

xitong_figure = 0;

[besty0, bestx0] = bestpoint3(H, x0, v_wind, m_qiu, I, L, xitong_figure);

xitong_figure = 1;

[y, x, theta, T, stat] = For2D(besty0, bestx0, v_wind, m_qiu, I, L, xitong_figure);

% 注:fzero函数可以用fsolve函数代替

3 运行结果

【数学建模】复杂水平井三维轨道设计附论文和matlab代码
【数学建模】复杂水平井三维轨道设计附论文和matlab代码
【数学建模】复杂水平井三维轨道设计附论文和matlab代码
【数学建模】复杂水平井三维轨道设计附论文和matlab代码
【数学建模】复杂水平井三维轨道设计附论文和matlab代码

4 参考文献

博主简介:擅长​​智能优化算法​​、​​神经网络预测​​、​​信号处理​​、​​元胞自动机​​、​​图像处理​​、​​路径规划​​、​​无人机​​、​​雷达通信​​、​​无线传感器​​等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。