目录
目录 3
有杆抽油系统的数学建模及诊断 4
一、问题重述与提出 4
二、模型假设 5
三、符号约定 5
四、模型的分析、建立与求解 6
4.1光杆悬点运动规律 6
4.1.1简谐运动简化模型 7
4.1.2曲柄滑块机构简化模型 8
4.1.3精确解析法 10
4.2泵功图计算 12
4.2.1Gibbs 模型求解方法探讨 13
4.2.2Gibbs 模型的算法实现 16
4.2.3油井泵功图 18
4.2.4对结果的误差讨论 20
4.3泵功图在油井产量中的应用 21
4.3.1泵的理论排量模型 21
4.3.2油井的实际产量模型 22
4.4Gibbs 模型的深入研究 25
4.4.1考虑比能损失推导的阻尼粘滞系数 25
4.4.2利用摩擦功确立的阻尼系数计算公式 27
4.4.3改进的利用摩擦功确立的阻尼系数计算公式 29
五、模型的评价及推广 30
六、参考文献 31
附录 32
3
有杆抽油系统的数学建模及诊断
一、问题重述与提出
有杆泵抽油是国内外石油工业的传统采油方式之一,在我国石油开采中有杆抽油系统一直占主导地位。在我国各油田中,大约 80%以上杆抽油系统。其中,60%的产液量、75%的产油量均依靠该采油方式进行采油生产。有杆抽油机以其结构简单、制造容易、可靠性高、耐久性好、维修方便、适应现场工况等优点,在采油机械中占有举足轻重的地位。原理简单来说是由电机旋转运动转化为抽油杆上下往返周期运动,带动设置在杆下端的泵的两个阀的相继开闭,从而将地下上千米深处蕴藏的原油抽到地面上来。
钢制抽油杆由很多节连接而成,具有相同直径的归为同一级,级数从上到下按 1,2„进行编号,可多达 5 级,从上端点到下端点可能长达上千米。描述抽油杆中任意一水平截面(为表述方便,下面把杆水平截面抽象称为“点”)处基本信息的通用方法是示功图:它是该点随时间 t 而变化的荷载(合力,向下为正)数据作为纵坐标,以该点垂直方向上随时间 t 而变化的位置相对于 t=0 时刻该点位置的位移数据作为横坐标构成的图形。函数关系表现为位移-荷载关于时间 t 的参数方程。一个冲程中示功图是一条封闭的曲线。构成示功图的数据称为示功数据。
抽油杆上端点称为悬点。在一个冲程期间,仪器以一系列固定的时间间隔测得悬点 E 处的一系列位移数据和荷载数据,据此建立悬点 E 的示功图称为悬点示功图。悬点示功图可由油田某井采油工作时采集的悬点处原始位移-荷载示功数据作图得到。
“泵”是由柱塞、游动阀、固定阀、部分油管等几个部件构成的抽象概念, 泵中柱塞处的示功图称为泵功图。因为受到诸多因素的影响,在同一时刻 t, 悬点处的受力(荷载)与柱塞的受力是不相同的;同样,在同一时刻 t,悬点处的相对位移与柱塞的相对位移也不相同。因此悬点示功图与泵功图是不同的。示功图包含了很多信息,其中就有有效冲程,泵的有效冲程是指泵中柱塞在一个运动周期内真正实现从出油口排油的那段冲程。工程上一般根据示功图形状与理论示功图进行对比来判断抽油机工作状态。
通过悬点示功图可以初步诊断该井的工作状况,如产量、气体影响、阀门漏液、沙堵等等。要精确诊断油井的工作状况,最好采用泵功图。然而,泵在地下深处,使用仪器测试其示功数据实现困难大、成本高。因此,通过数学建模,把悬点示功图转化为杆上任意点的示功图(统称为地下示功图)并最终确定泵功图,以准确诊断该井的工作状况,是一个很有价值的实际问题。
本文我们需要解决以下几个问题:
1.光杆悬点运动规律
光杆的运动与地下抽油杆的运动息息相关,获取光杆的运动规律是对抽油过程进行合理分析首要条件。电机旋转运动通过四连杆机构转变为抽油杆的垂直运动。假设驴头外轮廓线为部分圆弧、电机匀速运动,悬点 E 下只挂光杆(光杆下不接其它杆,不抽油,通常用来调试设备)。利用附录 4 给出四连杆各段尺寸以及附件 1 的参数,求出悬点 E 的一个冲程的运动规律:位移函数、速度函数、加速度函数。并与有荷载的附件 1 的悬点位移数据进行比较。文章来源:https://www.toymoban.com/news/detail-853381.html
clc;
clear;
%实验结果
phi_exp = [0: 2*pi/(147-4) :2*pi]';
E_dis_exp = load ('E_dis_exp_new.dat'); % m
x=phi_exp;
f=inline('c(1)*sin(c(2)*x+c(3))+c(4)','c','x');
c=lsqcurvefit(f,[1,1,1,1],phi_exp,E_dis_exp);
f_exp= c(1)*sin(c(2)*x+c(3))+c(4);
t = 60/7.6/629; %s
t_exp =60/7.6/144;
phi_expv = [0 : 2*pi/(147-4):2*pi-(2*pi/(147-4))]';
phi_expa = [0 : 2*pi/(147-4):2*pi-2*(2*pi/(147-4))]';
E_Vt_exp = diff(f_exp)/t_exp;
E_Vt_expr = diff(E_dis_exp)/t_exp;
fit_Vt=polyfit(phi_expv,E_Vt_expr,9);
fit_Vt_exp = polyval(fit_Vt,phi_expv);
E_at_exp = diff(fit_Vt_exp)/t_exp;
%曲柄连杆方法
ao = 4315; % mm
bo = 2495; % mm
bd = 3675; % mm
r = 950; % mm
phi = 0 : 0.01 : 2*pi;
phi_v = [0:0.01:2*pi-0.01]';
phi_a = 0:0.01:2*pi-0.02;
lamda = r / bo;
S_qb = ao/bo*(2*r);
E_dis_qb = ao / bo * r * (1- cos(phi)+ lamda/2 * (sin (phi)).^2)/1000; % m
E_Vt_qb = diff(E_dis_qb)/t; %m/s
E_at_qb = diff(E_Vt_qb)/t; %m/s*s
%简谐振动方法
E_dis_jx = ao / bo * r *(1- cos(phi))/1000; %m
E_Vt_jx = diff(E_dis_jx)/t; %m/s
E_at_jx = diff(E_Vt_jx)/t; %m/s*s
S_jx = ao/bo*(2*r);
%严格解析法
E_dis_yg = load ('E_dis_ygjx.dat'); %m
E_Vt_yg = diff(E_dis_yg)/t; %m/s
fit_Vt_yg=polyfit(phi_v,E_Vt_yg,9);
fit_Vt_ygr = polyval(fit_Vt_yg,phi_v);
E_at_yg = load('a_jqjx.dat'); %m/s*s
figure (1)
hold on;
set(gca,'box','on')
set(gca,'linewidth',2);
plot(phi, E_dis_qb,'-','LineWidth',2);
plot(phi, E_dis_jx,'black--','LineWidth',2);
plot(phi, E_dis_yg,'m-.','LineWidth',2);
plot(phi_exp, E_dis_exp,'r.','LineWidth',2);
plot(phi_exp, f_exp,'g-','LineWidth',2);
xlabel('\phi / rad ','fontsize',16);
ylabel('E-displacement / m','fontsize',16);
legend('曲柄连杆近似','简谐近似','严格解析法','实验悬点位移','实验悬点位移拟合值');
figure (2)
hold on;
set(gca,'box','on')
set(gca,'linewidth',2);
plot(phi_v, E_Vt_qb,'-','LineWidth',2);
plot(phi_v, E_Vt_jx,'black--','LineWidth',2);
plot(phi_v, E_Vt_yg,'m-.','LineWidth',2);
plot(phi_expv, E_Vt_expr,'r.','LineWidth',2);
plot(phi_expv, fit_Vt_exp,'g-','LineWidth',2);
xlabel('\phi / rad ','fontsize',16);
ylabel('E-V / ms^{-1}','fontsize',16);
legend('曲柄近似','简谐近似','严格解析法','实验悬点速度','实验悬点速度拟合');
figure(3)
hold on;
set(gca,'box','on')
set(gca,'linewidth',2);
plot(phi_a, E_at_qb,'-','LineWidth',2);
plot(phi_a, E_at_jx,'black--','LineWidth',2);
plot(phi, E_at_yg,'m-.','LineWidth',2);
plot(phi_expa, E_at_exp,'r-','LineWidth',2);
xlabel('\phi / rad ','fontsize',16,'LineWidth',2);
ylabel('E-a / ms^{-2}','fontsize',16);
legend('曲柄近似','简谐近似','严格解析法','实验悬点加速度');
figure (4)
hold on;
set(gca,'box','on')
set(gca,'linewidth',2);
plot(phi, E_dis_jx,'r-','LineWidth',2);
plot(phi_v, E_Vt_jx,'black--','LineWidth',2);
plot(phi_a, E_at_jx,'m-.','LineWidth',2);
xlabel('\phi / rad ','fontsize',16);
ylabel('变量','fontsize',16);
legend('位移 / m','速度 / ms^{-1}','加速度 / ms^{-2}');
figure (5)
hold on;
set(gca,'box','on')
set(gca,'linewidth',2);
plot(phi, E_dis_qb,'r-','LineWidth',2);
plot(phi_v, E_Vt_qb,'black--','LineWidth',2);
plot(phi_a, E_at_qb,'-.','LineWidth',2);
xlabel('\phi / rad ','fontsize',16);
ylabel('变量','fontsize',16);
legend('位移 / m','速度 / ms^{-1}','加速度 / ms^{-2}');
文章来源地址https://www.toymoban.com/news/detail-853381.html
到了这里,关于MATLAB实现有杆抽油系统的数学建模及诊断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!