您好,欢迎访问三七文档
#includestdio.h#includestdlib.h#includemath.hstructlogging{floatdepth;floatsp;floatac;floatgr;floatcal;floatrsfl;floatilm;floatild;floatcnl;floatden;}data[501],*pp;structwell1{floatdepth;floatshale;floatporeD;floatporeN;floatporeS;floatsat;}result[501],*qq;voidmain(){FILE*in,*out;floatsa,sb1,sb2;floatpa1,pa2,pb1,pb2,pc1,pc2,pc3;floatrw,a,m,n;rw=0.03;inti;pp=data;qq=result;if((in=fopen(d:\\WELL-1.txt,r))==NULL){printf(位置错误!请将数据存在D盘根目录下!);getchar();exit(0);}fseek(in,256L,0);for(i=0;i501;i++,pp++)fscanf(in,%f%f%f%f%f%f%f%f%f%f,&pp-depth,&pp-sp,&pp-ac,&pp-gr,&pp-cal,&pp-rsfl,&pp-ilm,&pp-ild,&pp-cnl,&pp-den);pp=data;qq=result;printf(第一步,计算泥质含量\n);printf(1、自然电位法估计泥质含量\n请输入静自然电位值:);scanf(%f,&sa);printf(2、自然伽马法估计泥质含量\n请输入纯地层的读数纯泥岩层读数:);scanf(%f%f,&sb1,&sb2);printf(\n第二步,计算孔隙度\n);printf(1、密度测井计算孔隙度\n请输入骨架密度流体密度:);scanf(%f%f,&pa1,&pa2);printf(2、中子测井计算孔隙度\n请输入骨架含氢指数流体含氢指数:);scanf(%f%f,&pb1,&pb2);printf(3、声波测井计算孔隙度\n请输入骨架时差流体时差压实系数:);scanf(%f%f%f,&pc1,&pc2,&pc3);printf(\n第三步,计算含水饱和度\n);printf(利用阿尔奇公式计算含水饱和度\n请输入amn:);scanf(%f%f%f,&a,&m,&n);for(i=0;i501;i++,pp++,qq++){floatai,bi;(qq-depth)=(pp-depth);ai=1-(pp-sp)/sa;bi=((pp-gr)-sb1)/(sb1-sb2);(qq-shale)=aibi?ai:bi;(qq-poreD)=(pa1-(pp-den))/(pa1-pa2);(qq-poreN)=((pp-cnl)-pb1)/(pb2-pb1);(qq-poreS)=((pp-ac)-pc1)/((pc2-pc1)*pc3);(qq-sat)=pow((a*rw)/(pow(qq-poreD,m)*pp-ild),n);}pp=data;qq=result;if((out=fopen(d:\\result.txt,w))==NULL){printf(无法创建输出文件!);exit(1);}fprintf(out,%s%s%s%s%s%s\n,Depth,Vcl,PoreD,PoreN,PoreS,Sw);for(i=0;i501;i++,qq++)fprintf(out,%.4f%.3f%.3f%.3f%.3f%.3f\n,qq-depth,qq-shale,qq-poreD,qq-poreN,qq-poreS,qq-sat);fclose(in);fclose(out);printf(\n计算结果文件“result.txt”已保存到D盘根目录中!);}
本文标题:测井数据处理程序
链接地址:https://www.777doc.com/doc-2228479 .html