⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dqbyhsj.cpp

📁 这是本人两年前兼职为某个公司做的石油钻进设计软件
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	{
		TTT[J][1] = sss[J * 2 - 2];
		TTT[J][2] = sss[J * 2 - 1];
		if( fabs(TTT[J][1] - tw) <= 3)
		{
			break;
		}
	}
    
	//电阻温度系数 FACTOR
	switch(Form)
	{
	case 5:
		FACTOR = 18.87;
		break;
	case 10:
		FACTOR = 31.2;
		break;
	}
	uj = sqrt(3) * ia * FACTOR * (ldl / 1000) * TTT[J][2] / S;
	UMHZ = hz1 * v / 60 + uj;
	
	// 变压器挡位选择
	YY = "△型输出";
	ZZ= "Y型输出";
	CString ssss[] = {"2080", "3617", "A-A", "2082", "3520", "A-B", "1976", "3423", "A-C", "1920", "3326", "A-D", "1864", "3229", "A-E", "1808", "3132", "B-A", "1752", "3035", "B-B", "1696", "2938", "B-C", "1640", "2841", "B-D", "1584", "2744", "B-E", "1528", "2647", "C-A", "1472", "2550", "C-B", "1416", "2453", "C-C", "1360", "2356", "C-D", "1304", "2259", "C-E", "1248", "2162", "D-A", "1192", "2065", "D-B", "1136", "1968", "D-C", "1080", "1871", "D-D", "1024", "1774", "D-E", "968", "1677", "E-A", "912", "1580", "E-B", "856", "1488", "E-C", "800", "1386", "E-D", "744", "1229", "E-E"};
	for(i=1;i<=25;i++)
	{
		A1[i] = atof(ssss[i * 3 - 3]);
		A2[i] = atof(ssss[i * 3 - 2]);
		X[i] = ssss[i * 3 - 1];
		C1[i] = fabs(A1[i] - UMHZ);
		C2[i] = fabs(A2[i] - UMHZ);
	}
	
	B1 = C1[1];
	B2 = C2[1];
	for(J1=2;J1<=25;J1++)
	{
		X1 = C1[J1];
		if( X1 < B1)
		{
			B1 = X1;
		}
	}
	
	for(I1=1;I1<=25;I1++)
	{
		if( fabs(A1[I1] - UMHZ) == B1)
		{
			T1 = X[I1];
			break;
		}
	}
	
	for(J2=2;J2<=25;J2++)
	{
		X2 = C2[J2];
		if( X2 < B2)
		{
			B2 = X2;
		}
	}
	
	for(I2=1;I2<=25;I2++)
	{
		if( fabs(A2[I2] - UMHZ) == B2)
		{
			T2 = X[I2];
			break;
		}
	}
	
	if( B1 > B2)
	{
		uouput = A2[I2];
		FF = T2;
		e = ZZ;
	}
	else
	{
		uouput = A1[I1];
		FF = T1;
		e = YY;
	}
	
	HZG = (uouput - uj) * 60 / v;
	Temp = int(100 * HZG + 0.5);
	hzg2=Temp/ 100.0;
	
	//============ BYB(升压器变压比) ====================
	
	BYB = int((uouput / 480 * 100 + 0.5) / 100);
	
	//=========== qddy(60Hz的驱动电压)  zggl(最高频率所需的功率)============
	
	qddy = uouput * 60 / hzg2 / BYB;
	zggl = uouput * ia * 1.73 / 1000;
}

extern	char  cGraphColor[][16];
extern	int   iGraphColorNum;

void dqbyhsj::dqbjdfx()//电潜泵举升井节点分析
{
	//分析参数个数[5]       [[[[     fxcsgs[5]
	//D产液量[500]          [[[[     dcyl[500]
	//D总流量[500]          [[[[     dzll[500]
	//D井底流压[500]        [[[[     djjly[500]
	//D吸入气液比[500]      [[[[     dxrqyb[500]
	//D吸入游离气液比[500]  [[[[     dxrylqyb[500]
	//D泵内实际气液比[500]  [[[[     dbnsjqyb[500]
	//D沉没压力[500]        [[[[     dcmyl[500]
	//D吸入压力[100][500]   [[[[     dxryl[100][500]
	//D流入压力[500]        [[[[     dlryl[500]
	//HP功率[500]           [[[[     HPgl[500]
	//D泵的效率[500]        [[[[     dbdxl[500]
	//T地层                 [[[[     tdiceng
	//T井口                 [[[[     tjingkou
	//D最小泵级数           [[[[     dzxbjs
	//D最大泵级数           [[[[     dzdbjs
	//D泵级数间隔           [[[[     dbjsjg
	//参数[5][5]            [[[[     canshu[6][6]
	//F井口压力             [[[[     fjkyl
	//F地层压力             [[[[     fdcyl
	//F产液指数             [[[[     fcyzs
	//F气液比               [[[[     fqyb
	//F泵挂深度             [[[[     fbgsd
	//N泵型                 [[[[     nbengxing
	//泵型                  [[[[     bengxing
	//特性参数个数          [[[[     txcsgs
	//P最大                 [[[[     pzuida
	//N计算点数             [[[[     njsds
	//计算流入              [[[[     jslr
	//计算流出              [[[[     jslc
	//井口压力              [[[[     jkyl
	//地层压力              [[[[     DCYL
	//气水比                [[[[     qyb
	//泵挂深度              [[[[     bgsd
	//产液指数              [[[[     cyzs
	//分析参数值            [[[[     fxcsz
	//PLI未来               [[[[     pliwl
	//QB未来                [[[[     qbwl
	//Qomax未来             [[[[     qomaxwl
	//Qtmax未来             [[[[     qtmaxwl
	//Pb未来                [[[[     pbwl
	//G计算方向             [[[[     gjsfx
	//G流动方向             [[[[     gldfx
	//D有无交点             [[[[     dywjd
	//N分级数               [[[[     nfjs
	//D总量                 [[[[     dzongliang
	//H压头                 [[[[     hyatou
	//H功率                 [[[[     hgonglv
	//D泵效                 [[[[     dbengxiao
	//D点数                 [[[[     ddianshu
	//泵的级数              [[[[     bengjishu
	//压力                  [[[[     yali
	//产液量                [[[[     chanyeliang
	//油量                  [[[[     youliang
	//产气量                [[[[     chanqiliang
	//产水量                [[[[     chanshuiliang
	//进泵总流量            [[[[     jbzll
	//沉没压力              [[[[     cmyl
	//沉没度                [[[[     chenmodu
	//吸入气液比            [[[[     xrqyb
	//泵需功率              [[[[     bxgl
	//泵效                  [[[[     bengxiao
	//产油量                [[[[     chanyouliang
	double fxcsgs[5],DVW,Prs,tdiceng,Pwh;
	double dcyl[500],dzll[500],djjly[500],tjingkou,PLI,Qtest;
	double dxrqyb[500],dxrylqyb[500],dbnsjqyb[500],Ptest,GWR,GIP;
	double dcmyl[500],dxryl[100][400],dlryl[500],DVT,DSP,DIT,DOT;
	double HPgl[500],dbdxl[500];
	int k,dzxbjs,dzdbjs,dbjsjg,i,J,MMPF,nbengxing,txcsgs,baizhi,K;
	int njsds,dybt,pfxcs,gjsfx,gldfx,KKKK,nfjs,NJ,nnnn,KK,ddianshu;
	int bengjishu,NK;
	char gs1[300],temp[100],temp1[100];
	double DIC,GG,CO2,H2S,N2,NaCl,GW,canshu[6][6],fjkyl,fdcyl;
	double fcyzs,fqyb,fbgsd,pzuida,Fw,OG,TG,Pb,Qtmax,DLTQ;
	double jkyl,DCYL,qyb,bgsd,cyzs,QB,Qomax,fxcsz,Q,pliwl,qbwl;
	double qomaxwl,qtmaxwl,pbwl,QO,QW,QG,T2,RR,P2,L,P0,T0,T,P;
	double PR,PC,TR,TC,ZZ,BO,RS,Pbb,BW,BG,GLRjb,PS,PD,ps0,Vf;
	double dzongliang,jx,ddq[100],ddh[100],ddhp[100],dde[100];
	double hyatou,hgonglv,dbengxiao,wogw,DLTPSN,DLTPSO,yali;
	double chanyeliang,youliang,chanqiliang,chanshuiliang,jbzll;
	double cmyl,chenmodu,xrqyb,bxgl,bengxiao;
	double chanyouliang;
	CString PUM[10][10],PL[100],title,title1,bengxing,AA,AA1,aa2;
	CString CCO,jsff,AXYZ,G2,G4,G6,str;
	CString fileDialogFilter2,fileDialogExt2,templs1,templs2;
	CString fxcs,fxcsdw,jslr,jslc,lclx,lrlx,dywjd,DY;
	
	int		iColorIndex = 0; // 颜色索引 lzj
	
	SetCursor(LoadCursor(NULL, IDC_WAIT));
	//赋初值
	v=0;ia=0;ldl=0;hzg2=0;uj=0;uouput=0;BYB=0;qddy=0;zggl=0;
	
	for(i=0;i<500;i++)
	{
		dcyl[i]=0;
		dzll[i]=0;
		djjly[i]=0;
		dxrqyb[i]=0;
		dxrylqyb[i]=0;
		dbnsjqyb[i]=0;
		dcmyl[i]=0;
		dcmyl[i]=0;
		dlryl[i]=0;
		HPgl[i]=0;
		dbdxl[i]=0;
	}
	for(i=0;i<5;i++)
	{
		fxcsgs[i]=0;
	}
	for(i=0;i<100;i++)
	{
		for(J=0;J<400;J++)
		{
			dxryl[i][J]=0;
		}
	}
	for(i=0;i<6;i++)
	{
		for(J=0;J<6;J++)
		{
			canshu[i][J]=0;
		}
	}
	for(i=1;i<100;i++)
	{
		ddq[i]=0;
		ddh[i]=0;
		ddhp[i]=0;
		dde[i]=0;
	}
	DVW=0;Prs=0;tdiceng=0;Pwh=0;tjingkou=0;PLI=0;Qtest=0;Ptest=0;GWR=0;GIP=0;
	DVT=0;DSP=0;DIT=0;DOT=0;
	k=0;dzxbjs=0;dzdbjs=0;dbjsjg=0;i=0;J=0;MMPF=0;nbengxing=0;txcsgs=0;baizhi=0;K=0;
	njsds=0;dybt=0;pfxcs=0;gjsfx=0;gldfx=0;KKKK=0;nfjs=0;NJ=0;nnnn=0;KK=0;ddianshu=0;
	bengjishu=0;NK=0;DIC=0;GG=0;CO2=0;H2S=0;N2=0;NaCl=0;GW=0;fjkyl=0;fdcyl=0;
	fcyzs=0;fqyb=0;fbgsd=0;pzuida=0;Fw=0;OG=0;TG=0;Pb=0;Qtmax=0;DLTQ=0;
	jkyl=0;DCYL=0;qyb=0;bgsd=0;cyzs=0;QB=0;Qomax=0;fxcsz=0;Q=0;pliwl=0;qbwl=0;
	qomaxwl=0;qtmaxwl=0;pbwl=0;QO=0;QW=0;QG=0;T2=0;RR=0;P2=0;L=0;P0=0;T0=0;T=0;P=0;
	PR=0;PC=0;TR=0;TC=0;ZZ=0;BO=0;RS=0;Pbb=0;BW=0;BG=0;GLRjb=0;PS=0;PD=0;ps0=0;Vf=0;
	dzongliang=0;jx=0;hyatou=0;hgonglv=0;dbengxiao=0;wogw=0;DLTPSN=0;DLTPSO=0;yali=0;
	chanyeliang=0;youliang=0;chanqiliang=0;chanshuiliang=0;jbzll=0;
	cmyl=0;chenmodu=0;xrqyb=0;bxgl=0;bengxiao=0;chanyouliang=0;
	
	yqsxz csjs;
	zpjjdfx zpjjs;
	LZXJD jslzjd;
	Pbb=0;
	chanyouliang=0;
	
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(1, 5);
	   DVW=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(2, 5);
	   Prs=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(3, 5);
	   tdiceng=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(4, 5);
	   Pwh=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(5, 5);
	   tjingkou=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(6, 5);
	   PLI=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(7, 5);
	   Qtest=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(8, 5);
	   Ptest=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(9, 5);
	   GWR=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(10, 5);
	   GIP=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(11, 5);
	   DVT=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(12, 5);
	   DSP=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(13, 5);
	   DIT=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(14, 5);
	   DOT=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(15, 5);
	   DIC=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(16, 5);
	   GG=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(17, 5);
	   CO2=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(18, 5);
	   H2S=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(19, 5);
	   N2=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(20, 5);
	   GW=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(21, 5);
	   NaCl=atof(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(22, 5);
	   dzxbjs=atoi(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(23, 5);
	   dzdbjs=atoi(str);
	   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(24, 5);
	   dbjsjg=atoi(str);
	   
	   k=24;
	   for(i=1;i<=5;i++)
	   {
		   for(J=1;J<=5;J++)
		   {
               k=k+1;
			   str = ((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_grid.GetTextRC(k, 5);
			   canshu[i][J]=atof(str);
		   }
	   }
	   
	   fjkyl=((CButton*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_CHECK1))->GetCheck();
	   fdcyl=((CButton*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_CHECK2))->GetCheck();
	   fcyzs=((CButton*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_CHECK3))->GetCheck();
	   fqyb=((CButton*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_CHECK4))->GetCheck();
	   fbgsd=((CButton*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_CHECK5))->GetCheck();
	   MMPF=((CComboBox*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_COMBO1))->GetCurSel();
	   MMPF=MMPF+1;
	   nbengxing=((CComboBox*)((CCVenusApp*)AfxGetApp())->m_pMainDlg->m_Page6.GetDlgItem(IDC_COMBO2))->GetCurSel();
	   nbengxing=nbengxing+1;
	   
	   i = 0;
	   bengxing = "";
	   txcsgs = 0;
	   g_iProgress = 5;	// 计算进度
	   
	   CStdioFile f5;
	   CFileException exception5;
	   BOOL status4;
	   title = ((CCVenusApp*)AfxGetApp())->m_strDataPath;
	   title=title+"\\电潜泵.DDD";
	   status4 = f5.Open(title,CFile::modeRead, &exception5);
	   if (!status4)
	   {
		   char s[100];
		   sprintf(s, "Error opening file for reading. Code:%d",
			   exception5.m_cause);
		   AfxMessageBox(s);
		   return;
	   }
	   else
	   {
		   try
		   {
			   f5.ReadString(gs1,300);
			   f5.ReadString(gs1,300);
		   }
		   catch (CFileException exception5)
		   {
			   AfxMessageBox("Error reading file");
			   return;
		   }
		   do
		   {
			   i = i + 1;
			   try
			   {
				   f5.ReadString(gs1,300);
			   }
			   catch (CFileException exception5)
			   {
				   AfxMessageBox("Error reading file");
				   return;
			   }
			   AA=gs1;
			   baizhi=0;
			   title="";
			   for(J=0;J<=AA.GetLength();J++)
			   {  
				   
				   if( AA.Mid(J,1)==","||AA.Mid(J,1)=="\n")
				   {
					   baizhi=baizhi+1;
					   if(baizhi==1)
					   {
						   AA1=title;
						   title="";
					   }
					   if(baizhi==2)
					   {
						   aa2=title;
					   }
				   }
				   else
				   {
					   title=title+AA.Mid(J,1);			
				   }
			   }
			   if( i == nbengxing)
			   {
				   bengxing = aa2;
				   break;
			   }
		   }
		   while(AA1 != "[END]\n");
		   do
		   {
			   try
			   {
				   f5.ReadString(gs1,300);
			   }
			   catch (CFileException exception5)
			   {
				   AfxMessageBox("Error reading file");
				   return;
			   }
			   AXYZ=gs1;
			   if(	AXYZ.Find(bengxing)!=-1)
			   {
				   break;
			   }
		   }
		   while(AXYZ!="[结束]\n");
		   if(	AXYZ.Find(bengxing)!=-1)
		   {
			   try
			   {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -