Orkiszewski算法的C语言实现.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Orkiszewski算法的C语言实现

Orkiszewski的C语言实现中国石油大学(华东) 石油工程学院Orkiszewski方法是计算气液两相垂直管流的方法,由于中间步骤涉及大量计算及迭代,使用计算机编程是实现计算的简便方法。笔者使用C语言编程。整个代码分为三大块,主程序、综合函数、功能函数。编程思路:多相管流计算所需的具体参数已经在程序中给出。采用从井底向上计算,按深度增量迭代。读者可以根据自己的需要修改参数和迭代方法。由于在一口井中一般很难同时出现四种流态。对于低含气井只会出现泡流或段塞流。下面所给程序中,没有给出过渡流的计算代码,请读者根据自身需要加以完善。编程中的主要难点是参数过多,所需计算的物性参数很多,导致定义变量时容易造成混乱。由于计算物性参数的程序和Orkiszewski程序的编写是分开进行的,讲两者很好的结合又是一个很大的问题。读者可以采用代码复用或文件包含的方法将二者结合。限于笔者的水平,以下所给的程序是将两者放在一个程序里,导致变量很多且混乱。请读者自行完善!如有好的建议,欢迎来信!参考资料:张琪.采油工程原理与设计.—东营:中国石油大学出版社步玉环、谷建伟、薛建泉.石油工程综合设计.—东营:中国石油大学出版社zxyzgsydx@//奥奇斯泽斯基算法多相管流计算。质量含水率0.44,初始产液量设定为50t/d.//假设给定温度、压力、液体流速、流体密度、流体表面张力、管子直径、溶解气油比、生产气油比、压缩因子、原油体积系数//vs为滑脱速度:0.244m/s#include stdio.h#include math.hdoubletempc(double Q,doubleH,doubleh,doubletr,double t0,double Fw);doubleRsc(double gamao,doublegamag,doubleta,doublepa,doubleRp);doubleBoc(double Rs,doublegamag,doublegamao,double ta);doubledopc(double gamao,doublegamag,doubleRs,double Bo);doubleZc(double gamag,doubleta,double pa);doublevlc(double gamaAPI,doubleta,doubleRs,doublefw);doublevgc(double gamag,doublepa,doubleZ,double ta);doublesigmac(double ta,doublepa,doublegamaAPI,doublefw);double zhhs(double p1,int j);//定义综合函数。double dz=100,H=2400;//定义两个全局变量,计算段长度和油层中深int main(){char c;int j=0;double p1;for(j=1;; j++) {if(j==1) {printf(Please enter p1(MPa):);scanf(%lf,p1); } p1=zhhs(p1,j);printf(计算点处深度:%.2lfm\n,H-j*dz);printf(Do you want to continue?(y/n):\n);getchar();//吸收回车 c=getchar();if(c==n||c==N) break; }printf(共进行了%d次,计算点处深度%lfm\n,j,H-j*dz);return 0;}doublezhhs(double p1,int j){/*q 日产液量;Rp生产气油比;fw体积含水率;Fw质量含水率;dop油的密度;gamao油的相对密度;gamag气的相对密度;D 管的直径(套管或油管);tr油层温度;t3 地表温度;dp设定压力增量;da 大气密度;er误差精度;qo日产油量Qg日产气量;*/ double q=50,Rp=20,fw=0.4,Fw,dop=850,gamao=0.85,gamag=0.7,D=0.124,tr=95,t3=20,dp=0.5,da=1.205,er=0.02; double dl,dg,sigmal,sigma,gamaAPI,Rs,Z,ta,pa,p2,p2c=0,Bo,vl; double qo,Q,Qg,Wg,Wl,Ql,Qt,Wt,deta,vg,vs=0.244,vsg,vsi,Nb,taof,dpc; double Ap,X,vt,vga,Hg,dm,vlh,Re,e,f;//D的值取决于是在套管中还是油管中double LB,LM,LS;int leap=

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档