31515端口matlab,【物理应用】计算油气井井底压力【Matlab 315期】
一、源代码
function [Psum,h,V_gas,detap,P]=boreholepressure(Q_liquid)
Q_liquid=1;
%%%------------------------基础参数-----------------------------
p_stand=0.101325;
T_stand=273.15; %热力学温度
density_gas_stand=1.25/1000;
V_stand=0.022414;
T0=293;
Gt=2.84;
%%%%———————————————井身结构———————————————
H=43860;
H_1=1800 %%开始造斜
H_2=2634 %造斜结束
d_bore =244.5; %%技术套管
d_piple=127;
d_bore_1=215.9;%%三开井眼直径
d_collar=127; %177.8mm
L_collar=150;
%-----------------------钻井参数--------------------------------------
%Q_liquid=25;
Q_gas=111;
visocity_liquid=40; %%mpa s
visocity_gas=25;
Yp=8; %pa
density_mud=1.48;
deta_H=20;
N=H/deta_H;
Tg=zeros(N+1,1);
%------------------注气量----------------
Ratio_gas=Q_gas/Q_liquid;
p_gas=zeros(N+1,1);V_gas=zeros(N+1,1);;density_mix=zeros(N+1,1);
visocity_mix=zeros(N+1,1);Q_mix=zeros(N+1,1);detap=zeros(N+1,1);
v=zeros(N+1,1);Re=zeros(N+1,1);h=zeros(N,1);
%----------------------生产井眼温度和静液柱压力剖面----------------------------------
for i =1:N+1
if i>1 && i<=H_1/deta_H+1
Tg(i,1)=T0+(i-1)*deta_H*Gt/100;
p_gas(i,1)=(i-1)*deta_H*9.8*density_mud/1000; %%单位兆帕MPa
elseif i>H_1/deta_H+1 && i<=H_2/deta_H+1
Tg(i,1)=Tg(H_1/deta_H+1,1)+39.2*(i-(H_1/deta_H+1))*Gt/100;
p_gas(i,1)=9.8*density_mud/1000*H_1+12.7*(i-(H_1/deta_H+1))*9.8*density_mud/1000; %%单位兆帕MPa
V_gas(i,1)=1/(1+p_gas(i,1)*T_stand/(Ratio_gas/p_stand/Tg(i,1)));
elseif i>H_2/deta_H+1 && i<=N+1
Tg(i,1)=T0+(H_1+636)*Gt/100;
p_gas(i,1)=(H_1+636)*9.8*density_mud/1000; %%单位兆帕MPa
end
end
%---------------------计算气体浓度和混合物密度---------------------------
for i=1:N+1
V_gas(i,1)=1/(1+p_gas(i,1)*T_stand/(Ratio_gas*p_stand*Tg(i,1)));
density_mix(i,1)=density_mud*(1-V_gas(i,1))+V_gas(i,1)*density_gas_stand*p_gas(i,1)*T_stand/Tg(i,1)/p_stand;
end
%---------------------计算混合物粘度及混合物粘度---------------------------------------
for i=1:N+1
if V_gas(i,1)>0 && V_gas(i,1)<=0.54
visocity_mix(i,1)=visocity_liquid*(1+3.6*V_gas(i,1));
elseif V_gas(i,1)>0.54 && V_gas(i,1)<=0.96
visocity_mix(i,1)=visocity_liquid/(1-V_gas(i,1)^0.49);
else
visocity_mix(i,1)=visocity_gas*(1+2.5*(1-V_gas(i,1)));
end
Q_mix(i,1)=(1+Ratio_gas*p_stand*Tg(i,1)/T_stand/p_gas(i,1))*Q_liquid;
end
%-------------------------计算环空返速与雷诺数--------------------------
for i=1:N+1
if i>0 && i<=H_2/deta_H+1
v(i,1)=Q_mix(i,1)/(d_bore^2-d_piple^2)/3.14*4*1000; %%%%单位 m/s;
Re(i,1)=density_mix(i,1)*v(i,1)*(d_bore-d_piple)/visocity_mix(i,1)*1000;
elseif i>H_2/deta_H+1 && i<=(H-L_collar)/deta_H+1
v(i,1)=Q_mix(i,1)/(d_bore_1^2-d_piple^2)/3.14*4*1000;
Re(i,1)=density_mix(i,1)*v(i,1)*(d_bore_1-d_piple)/visocity_mix(i,1)*1000;
else
v(i,1)=Q_mix(i,1)/(d_bore_1^2-d_collar^2)/3.14*4*1000;
Re(i,1)=density_mix(i,1)*v(i,1)*(d_bore_1-d_collar)/visocity_mix(i,1)*1000;
end
end
%---------------------------计算摩阻系数------------------------------
f=zeros(N+1,1);
for i=1:N+1
if i>0 && i<=H_2/deta_H+1
ypsl=2*0.5/d_bore;
if Re(i,1)<=2000 %%层流区
f(i,1)=64/Re(i,1);
elseif Re(i,1)>2000 && Re(i,1)<=59.7/ypsl^(8/7) %%水力光滑区
f(i,1)=0.3164/(Re(i,1)^0.25);
elseif Re(i,1)>59.7/ypsl^(8/7) && Re(i,1)<=(665-765 *log(ypsl))/ypsl %%混合摩擦区
f(i,1)=1/(-1.8*(log(6.8/Re(i,1)+(0.5/(3.7 * d_bore))^1.11)/log(10)))^2;
elseif Re(i,1)>((665-765*(log(ypsl)/log(10)))/ypsl)
f(i,1)=1/(2*(log(3.7*d_bore/0.5)/log(10)))^2;
end
else
ypsl=2*1/d_bore_1;
if Re(i,1)<=2000 %%层流区
f(i,1)=64/Re(i,1);
elseif Re(i,1)>2000 && Re(i,1)<=59.7/ypsl^(8/7) %%水力光滑区
f(i,1)=0.3164/(Re(i,1)^0.25);
elseif Re(i,1)>59.7/ypsl^(8/7) && Re(i,1)<=(665-765 *log(ypsl))/ypsl %%混合摩擦区
f(i,1)=1/(-1.8*(log(6.8/Re(i,1)+(1/(3.7 * d_bore_1))^1.11)/log(10)))^2;
elseif Re(i,1)>((665-765*(log(ypsl)/log(10)))/ypsl)
f(i,1)=1/(2*(log(3.7*d_bore_1/1)/log(10)))^2;
end
end
end
%------------------------计算环空摩擦压降----------------------
for i=1:N+1
if i>0 && i<=H_2/deta_H+1
detap(i,1)=2*f(i,1)*density_mix(i,1)*deta_H*v(i,1)^2/(d_bore-d_piple);
elseif i>H_2/deta_H+1 && i<=(H-L_collar)/deta_H+1
detap(i,1)=2*f(i,1)*density_mix(i,1)*deta_H*v(i,1)^2/(d_bore_1-d_piple);
else
detap(i,1)=2*f(i,1)*density_mix(i,1)*deta_H*v(i,1)^2/(d_bore_1-d_collar);
end
end
%%---------------------------计算井筒压力剖面--------------------------------------
三、备注
标签:ypsl,log,油气井,gas,315,Re,zeros,Matlab,&&
来源: https://blog.csdn.net/m0_54742769/article/details/114436182
31515端口matlab,【物理应用】计算油气井井底压力【Matlab 315期】相关推荐
- matlab圆形器件,计算围绕点+ Matlab的圆形箱
我的问题与此链接stackoverflow问题有关 本质上,重复在此绘制的图形..我在图像中有一个中心点(x,y),我必须围绕它绘制四个1-4单位半径的圆,它们之间有8个角度. 在此图中,有12个角仓 ...
- matlab 万年历,转 计算万年历的Matlab程序
this.p={ m:2, b:2, loftPermalink:'', id:'fks_0800670800820800740840800950950850850820710820860820740 ...
- matlab各种潮流计算代码,基于MATLAB的潮流计算源程序代码
<基于MATLAB的潮流计算源程序代码>由会员分享,可在线阅读,更多相关<基于MATLAB的潮流计算源程序代码(7页珍藏版)>请在人人文库网上搜索. 1.*电力系统直角坐标系下 ...
- 【物理应用】matlab计算油气井井底压力
function [Psum,h,V_gas,detap,P]=boreholepressure(Q_liquid) Q_liquid=1; %%%------------------------基础 ...
- MATLAB及工具箱计算特点汇总及图形工作站配置探讨202007
(一)MATLAB及工具箱计算特点汇总 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和 ...
- matlab都有什么接口,介绍MATLAB与C++的几种接口方式
matlab调用c++,应该用mex把cpp编译成 .mex文件供MATLAB在命令行方式下调用吧 看下面这片文章 文章: 摘自北京理工大学BBS MATLAB是什么东东?不用我多说了,大批的高手会告 ...
- Matlab 集群计算平台搭建
家庭云服务器高阶应用:通过Matlab分布式计算来演示所谓的"家庭云计算"(非云储存)(转) Matlab是强大的计算软件,这不需要过多介绍了,大到航天航空领域,小到计算方程式,M ...
- matlab结课论文_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
科研小班 | 加州大学伯克利分校 | 物理.电子工程:MATLAB信号和数据处理课题(2021.1月开课)mp.weixin.qq.com 工程研究领域中,实验.模拟往往都会产生海量的数据.对这些数 ...
- matlab时频分析工具箱安装_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
科研小班 | 加州大学伯克利分校 | 物理.电子工程:MATLAB信号和数据处理课题(2021.1月开课)mp.weixin.qq.com 工程研究领域中,实验.模拟往往都会产生海量的数据.对这些数 ...
最新文章
- NAT环境无法访问云端的深层次分析
- 小蚂蚁学习数据结构(4)——线性结构——线性表的链式表示和实现(下)
- python for android-Python-for-Android安装笔记
- elementui表单校验原始密码_javascript 中入门数据校验
- 产品经理如何进行竞品分析?
- C++禁止隐式转换之explicit用法
- nginx 配置入门 进行跨域
- 附合导线坐标计算例题_附合导线计算例题步骤
- 项目管理——项目汇报总结
- 简易浏览器 java_365备用「永久地址0365.tv」java 实现简单浏览器Android 开发之快速实现一个简单Web浏览器...
- nc命令应用场景及使用
- ELK (三)安装kibana
- 华夏千秋事,风雨亦为之
- 短跑enti策略:如何在不破坏软件的情况下改进软件
- Advertising and public relations
- Python实现猜词游戏 Hangman Game(不带提示和带提示版本)
- 13个优秀的UML工具软件
- Android 编程实用代码大全
- 轻量级网络模型MobileNet发展脉络(V1-V2-V3)
- java基础 流程控制语句循环流程控制控制循环语句