MATLAB实现有杆抽油系统的数学建模及诊断

这篇具有很好参考价值的文章主要介绍了MATLAB实现有杆抽油系统的数学建模及诊断。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
目录 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 的悬点位移数据进行比较。

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}');

MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码
MATLAB实现有杆抽油系统的数学建模及诊断,数学建模,matlab,有杆抽油机,Gibbs 模型,粘滞阻尼系数,毕业设计,源码文章来源地址https://www.toymoban.com/news/detail-853381.html

到了这里,关于MATLAB实现有杆抽油系统的数学建模及诊断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模】多元线性回归(Python&Matlab代码实现)

    目录 1 概述 2 算例1 2.1 算例 2.2 Python代码实现  2.3 结果 3 算例2  3.1 算例 3.2 Python代码 3.3 结果 4 算例3 4.1 算例 4.2 Python代码 4.3 结果 5 算例4——Matlab代码实现 5.1 算例 5.2 Matlab代码实现 5.3 结果  6 写在最后 一元线性回归模型研究的是一个因变量与一个自变量之间呈直线趋势的

    2023年04月15日
    浏览(46)
  • 2023年数学建模:种群竞争模型及其MATLAB实现

    目录 种群竞争模型 MATLAB实现 实战案例:两种昆虫的竞争

    2024年02月11日
    浏览(34)
  • 马尔可夫链:随机过程的数学建模及MATLAB实现

    目录 1. 马尔可夫链简介 1.1. 马尔可夫性质 1.2. 马尔可夫链定义

    2024年02月13日
    浏览(39)
  • 数学建模之熵权法(EWM)matlab实例实现

    本文参考http://blog.sina.com.cn/s/blog_710e9b550101aqnv.html 熵权法是一种客观赋值的方法,即它通过数据所包含的信息量来确定权重,形象的说如果每个人考试都能考100分,那么这个指标对于这些人的评价是毫无意义的,因为没有任何区分度,熵权法就是通过区分度来确定对于特征的

    2023年04月08日
    浏览(40)
  • 图论在数学建模中的应用及MATLAB实现

    目录 图论基本概念 图论原理 1. 最短路径问题

    2024年02月08日
    浏览(41)
  • 【数学建模】单、多因素试验的方差分析(Matlab代码实现)

    目录   1 概述 2 单因素方差分析 2.1 语法 2.2 算例 1 2.2.1 算例 2.2.2 Matlab代码 2.2.3 结果 2.3 算例2 2.3.1 算例 2.3.2 Matlab代码 2.4 算例3 2.4.1 算例 2.4.2 Matlab代码 2.4.3 结果 2.5 算例4(不均衡样本) 2.5.1 算例  2.5.2 Matlab代码 2.5.3 结果 3 双因子方差分析 3.1 语法 3.2 算例 3.3 Matlab代码 3

    2024年02月06日
    浏览(36)
  • 【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码

    【2023五一杯数学建模】B题 快递需求分析 31页论文 请依据以下提供的附件数据和背景内容,建立数学模型,完成接下来的问题:问题背景是,网络购物作为一种重要的消费方式,带动着快递服务需求飞速增长,为我国经济发展做出了重要贡献。准确地预测快递运输需求数量对

    2024年02月01日
    浏览(70)
  • 【数学建模学习】matlab实现评价模型——层次分析法(AHP)

    目录 1概述  2算法实现流程 3实例  4matlab实现层次分析法 5计算结果 层次分析法,简称AHP,是评价模型中的一种算法,指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。层次分析法的缺陷在于判断矩阵是主观决定的,

    2024年02月04日
    浏览(54)
  • 【数学建模】元胞自动机(CA)详解 + Matlab代码实现

    元胞自动机(cellular automata,CA) 是一种时间、空间、状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。 元胞自动机的构建没有固定的数学公式,构成方式繁杂,变种很多,行为复杂。故其分类难度也较大,自元胞自

    2024年02月11日
    浏览(36)
  • 数学建模-MATLAB神经网络工具箱实现数据拟合预测

    将数据集保存在矩阵data中 在APP页面找到Neural Net Fitting 3.输入与目标均为 data,Samples are 选择 Matrix rows 4.训练集和验证集的百分比可以自定义,一般默认 三种算法,各有优劣,一般默认第一个,点击Train进行训练 4.点击Performance 5.以此图为例,13.1572代表误差,误差越低越好,可

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包