📄 qjyhsj.cpp
字号:
title.Left(10);
A14 = A14 + "\t" +title;
gcvt(fcdyl25[i],100,Temp);
title=Temp;
title=title+" ";
title.Left(10);
A15 = A15 + "\t" +title;
gcvt(ygxy[i - 1],100,Temp);
title=Temp;
title=title+" ";
title.Left(10);
A16 = A16 + "\t" +title;
}
try
{
A01=A01+"\n";
f3.WriteString(A01);
A02=A02+"\n";
f3.WriteString(A02);
A03=A03+"\n";
f3.WriteString(A03);
A33=A33+"\n";
f3.WriteString(A33);
A04=A04+"\n";
f3.WriteString(A04);
A05=A05+"\n";
f3.WriteString(A05);
A06=A06+"\n";
f3.WriteString(A06);
A07=A07+"\n";
f3.WriteString(A07);
A08=A08+"\n";
f3.WriteString(A08);
A09=A09+"\n";
f3.WriteString(A09);
A10=A10+"\n";
f3.WriteString(A10);
A11=A11+"\n";
f3.WriteString(A11);
A12=A12+"\n";
f3.WriteString(A12);
A13=A13+"\n";
f3.WriteString(A13);
A14=A14+"\n";
f3.WriteString(A14);
A15=A15+"\n";
f3.WriteString(A15);
A16=A16+"\n";
f3.WriteString(A16);
f3.WriteString("\n");
}
catch (CFileException exception3)
{
AfxMessageBox("Error reading file");
return;
}
if( fzs >= 3)
{
try
{
title="";
gcvt(QL,100,Temp);
title1=Temp;
title=title+"\t" + " 气举排液量 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (m^3/d)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(dzqd,100,Temp);
title1=Temp;
title=title+"\t" +" 注气点深度 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (m)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(pjszqd+pgzyc,100,Temp);
title1=Temp;
title=title+"\t" + " 注气点套压 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (MPa)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(pjszqd,100,Temp);
title1=Temp;
title=title+"\t" + " 注气点油压 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (MPa)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(qzhuru/10000,100,Temp);
title1=Temp;
title=title+"\t" +" 注入的气量 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (m^3/d)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt((qzql - qzhuru) / 10000,100,Temp);
title1=Temp;
title=title+"\t" +" 井的产气量 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (10^4m^3/d)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
f3.WriteString("\n");
}
catch (CFileException exception3)
{
AfxMessageBox("Error reading file");
return;
}
}
else
{
try
{
title="";
gcvt(QL,100,Temp);
title1=Temp;
title=title+"\t" + " 气举排液量 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (m^3/d)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(dzqd,100,Temp);
title1=Temp;
title=title+"\t"+" 注气点深度 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (m)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(pjszqd + pgzyc,100,Temp);
title1=Temp;
title=title+"\t"+" 注气点套压 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (MPa)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(pjszqd,100,Temp);
title1=Temp;
title=title+"\t"+" 注气点油压 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (MPa)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt(qzhuru / 10000,100,Temp);
title1=Temp;
title=title+"\t"+" 注入的气量 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (m^3/d)$12" + "\t" + "$14"+"\n";
f3.WriteString(title);
title="";
gcvt((qzql - qzhuru)/10000,100,Temp);
title1=Temp;
title=title+"\t"+" 井的产气量 =$13" + "\t" + "$12" + "\t" + title1 + "$12" + "\t" + " (10^4m$12" + "\t" + "^3/d)$14"+"\n";
f3.WriteString(title);
f3.WriteString("\n");
}
catch (CFileException exception3)
{
AfxMessageBox("Error reading file");
return;
}
}
try
{
// f3.WriteString("10\n");
}
catch (CFileException exception3)
{
AfxMessageBox("Error reading file");
return;
}
// 主窗口.SSPanel1.FloodPercent = 100
g_iProgress = 100; // 计算进度
//写入设计结果图形
CStdioFile f4;
CFileException exception4;
/* title=fileDialog2.GetPathName();
title1=title.Left(title.GetLength()-3);
title=title1+"GDF";*/
// templs1.Empty();
templs1 = ((CCVenusApp*)AfxGetApp())->GetMyAppPath();
templs1 += "\\tempfile.gra";
status1 = f4.Open(templs1,CFile::modeCreate|CFile::modeWrite);
if (!status1)
{
char s[100];
sprintf(s, "Error opening file for reading. Code:%d",
exception4.m_cause);
AfxMessageBox(s);
return;
}
try
{
title="$$";
title=title+"气举排水采气优化设计结果图["+ JSFF + "]\n";
f4.WriteString(title);
f4.WriteString("深度最小值,m:\n");
f4.WriteString("深度最大值,m:\n");
f4.WriteString("压力最小值,MPa:\n");
f4.WriteString("压力最大值,MPa:\n");
f4.WriteString("H\n");
f4.WriteString("P\n");
f4.WriteString("H__深度,m\n");
f4.WriteString("P__压力,MPa\n");
f4.WriteString(" 0\n");
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
for(J=1;J<=fzs;J++)
{
if( J == fzs)
{
NJ = 0;
}
else
{
NJ = J;
}
for(i=0;i<=CSGDZZ;i++)
{
gcvt(pftidu[NJ][i],100,Temp);
title=Temp;
gcvt(dfshendu[NJ][i],100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
try
{
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
if( J == fzs)
{
for(i=0;i<=CSGDZZ;i++)
{
if( dshendu[i] > dzqd)
{
gcvt(pitidu[i],100,Temp);
title=Temp;
gcvt(dshendu[i],100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
try
{
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
}
title1="";
gcvt(fzs,100,Temp);
title=Temp;
title.TrimLeft();
title1=title1+"第"+title+"只阀压力梯度"+"\n";
try
{
f4.WriteString("-1 -1\n");
// f4.WriteString(" 0 1\n");
f4.WriteString(cGraphColor[iColorIndex++]);
iColorIndex %= iGraphColorNum;
f4.WriteString(title1);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
else
{
title1="";
gcvt(J,100,Temp);
title=Temp;
title.TrimLeft();
title1=title1+"第"+title+"只阀压力梯度"+"\n";
try
{
f4.WriteString("-1 -1\n");
// f4.WriteString(" 0 1\n");
f4.WriteString(cGraphColor[iColorIndex++]);
iColorIndex %= iGraphColorNum;
f4.WriteString(title1);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
}
for(i=1;i<=6;i++)
{
gcvt(pjszqd,100,Temp);
title=Temp;
gcvt(dzqd,100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
try
{
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
try
{
f4.WriteString("-1 -1\n");
// f4.WriteString(" 0 1\n");
f4.WriteString(cGraphColor[iColorIndex++]);
iColorIndex %= iGraphColorNum;
f4.WriteString("注气点\n");
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
for(i=CSGDZZ;i>=0;i=i-1)
{
try
{
gcvt(pqtidu[i],100,Temp);
title=Temp;
gcvt(dshendu[i],100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
try
{
f4.WriteString("-1 -1\n");
// f4.WriteString(" 0 1\n");
f4.WriteString(cGraphColor[iColorIndex++]);
iColorIndex %= iGraphColorNum;
f4.WriteString("注气压力梯度\n");
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
if( pqidong > PIN)
{
for(i=CSGDZZ;i>=0;i=i-1)
{
gcvt(pqqdtd[i],100,Temp);
title=Temp;
gcvt(dshendu[i],100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
try
{
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
try
{
f4.WriteString("-1 -1\n");
// f4.WriteString(" 0 1\n");
f4.WriteString(cGraphColor[iColorIndex++]);
iColorIndex %= iGraphColorNum;
f4.WriteString("启动注气压力梯度\n");
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
// 以下模块有问题,不应该继续计算的,应该结束
for(J=1;J<=fzs - 1;J++)
{
gcvt(pftidu[J][CSGDZZ],100,Temp);
title=Temp;
gcvt(dfshendu[J][CSGDZZ],100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
try
{
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
gcvt(fczxyy[J],100,Temp);
title=Temp;
gcvt(dfshendu[J][CSGDZZ],100,Temp1);
title1=Temp1;
title=" "+title+" "+title1+"\n";
try
{
f4.WriteString(title);
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
}
try
{
f4.WriteString("-1 -1\n");
// f4.WriteString(" 0 1\n");
f4.WriteString(cGraphColor[iColorIndex++]);
iColorIndex %= iGraphColorNum;
// 问题就出在这里,
f4.WriteString("\n");
f4.WriteString("There are wrongs\n");
f4.WriteString("-10 -10\n");
}
catch (CFileException exception4)
{
AfxMessageBox("Error reading file");
return;
}
f3.Close();
f4.Close();
g_iProgress = 100; // 计算进度
}
double qjyhsj::ypwfqq(double PWF,double PLI,double QB,double Qomax,double Qtmax,double Prs,double Pb,double Fw)//由PWF求Q
{
zpjjdfx zpjjs;
double Q,DLTQ,P1,bccyl,sccyl;
if( Fw == 1)
{
if( PWF > Prs)
{
Q = 0;
}
else if( PWF <= 0)
{
Q = Qtmax;
}
else
{
//地层压力Pr和井底流压Pwf均低于泡点压力Pb时,流体呈两相流,入井动态关系式如下
Q = Qtmax * (1 - 0.2 * (PWF / Prs) - 0.8 * pow((PWF / Prs),2));
}
}
else
{
if( PWF > Prs)
{
Q = 0;
}
else if( PWF <= 0)
{
Q = Qtmax;
}
else
{
Q = 0;
DLTQ = Qtmax / 4;
int shejishi=10000;
do
{
Q = Q + DLTQ;
P1=zpjjs.YQPWF(Q, PLI, QB, Qomax, Qtmax, Prs, Pb, Fw);
if(fabs(P1 - PWF) <= 0.01)
{
break;
}
if( P1 > PWF)
{
bccyl = -1;//bccyl表示本次产液量,-1表示"偏小",0表示"偏大"
}
else
{
bccyl = 0;
}
if( bccyl == 0 && sccyl == 0)//sccyl上次产液量
{
DLTQ = -fabs(DLTQ);
}
else if( bccyl == -1 && sccyl == -1)
{
DLTQ = fabs(DLTQ);
}
else if( bccyl == 0 && sccyl == -1)
{
DLTQ = 0.618 * fabs(DLTQ);
}
else if( bccyl == -1 && sccyl == 0)
{
DLTQ = -0.618 * fabs(DLTQ);
}
sccyl = bccyl;
}
while(shejishi==10000);
Q=Q*10/ 10;
}
}
return (Q);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -