double eps1, eps2, eps3, eps4, eps5, eps6;
double q, w,e, r,t, y,q1,w1,e1,r1,t1,yy1;
double temptemp[n][m],uu[n][m],vv[n][m],rohroh[n][m],pp[n][m],fifi[n][m],temp[n][m],u[n][m],v[n][m],roh[n][m],p[n][m],fi[n][m];
double ka[n][m],kax[m],iot[n][m],Q[n][m],Z[n][m];
double a1[n][m],a2[n][m],a3[n][m],a4[n][m],a5[n][m],aa1[n][m],aa2[n][m],aa3[n][m],aa4[n][m],aa5[n][m];
double b1[n][m],b2[n][m],b3[n][m],b4[n][m],b5[n][m],bb1[n][m],bb2[n][m],bb3[n][m],bb4[n][m],bb5[n][m];
double c1[n][m],c2[n][m],c3[n][m],c4[n][m],c5[n][m],cc1[n][m],cc2[n][m],cc3[n][m],cc4[n][m],cc5[n][m];
void vivod ()
{
cout<<"roh"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
cout<<roh[i][j]<<" ";
}
cout<<endl;
}
сout<<endl;
cout<<endl;
cout<<endl;
cout<<"fi"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
cout<<fi[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"temp"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
cout<<temp[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"u"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
cout<<u[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"v"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
cout<<v[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"p"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
}
void pred ()
{
for(i=1; i<n-1; i++)
{
for(j=1; j<m-1; j++)
{
aa1[i][j]=a1[i][j]-tx*(b1[i][j+1]-b1[i][j])-ty*(c1[i+1][j]-c1[i][j]);
aa2[i][j]=a2[i][j]-tx*(b2[i][j+1]-b2[i][j])-ty*(c2[i+1][j]-c2[i][j]);//-Z[i][j]*dt;
aa3[i][j]=a3[i][j]-tx*(b3[i][j+1]-b3[i][j])-ty*(c3[i+1][j]-c3[i][j]);
aa4[i][j]=a4[i][j]-tx*(b4[i][j+1]-b4[i][j])-ty*(c4[i+1][j]-c4[i][j]);
aa5[i][j]=a5[i][j]-tx*(b5[i][j+1]-b5[i][j])-ty*(c5[i+1][j]-c5[i][j]);//-Q[i][j]*dt;
uu[i][j]=aa3[i][j]/aa1[i][j];
vv[i][j]=aa4[i][j]/aa1[i][j];
temptemp[i][j]=aa5[i][j]/aa1[i][j];
fifi[i][j]=1-aa1[i][j]/ro0;
rohroh[i][j]=aa2[i][j]/fifi[i][j];
pp[i][j]=rohroh[i][j]*temptemp[i][j]*R/2;
}
}
//условия на аноде/
for(j=0; j<m; j++)
{
fifi[0][j]=fifi[1][j];//2*fifi[1][j]-fifi[2][j];
rohroh[0][j]=rohroh[1][j];//2*rohroh[1][j]-rohroh[2][j];
uu[0][j]=0.0;
vv[0][j]=0.0;
temptemp[0][j]=tma;
pp[0][j]=rohroh[0][j]*temptemp[0][j]*R/2;
}
//условия на катоде/
for(j=0; j<m; j++)
{
fifi[n-1][j]=fifi[n-2][j];//2*fifi[n-2][j]-fifi[n-3][j];
rohroh[n-1][j]=rohroh[n-2][j];//2*rohroh[n-2][j]-rohroh[n-3][j];
uu[n-1][j]=0.0;
vv[n-1][j]=0.0;
temptemp[n-1][j]=tmk;
pp[n-1][j]=rohroh[n-1][j]*temptemp[n-1][j]*R/2;
}
//условия на входе/
for(i=1; i<n-1; i++)
{
fifi[i][0]=0.2;
uu[i][0]=u0;
vv[i][0]=0.0;
temptemp[i][0]=tm0;
rohroh[i][0]=roh0;
pp[i][0]=rohroh[i][0]*temptemp[i][0]*R/2;
}
//условия на выходе/
for(i=1; i<n-1; i++)
{
vv[i][m-1]=vv[i][m-2];//2*vv[i][m-2]-vv[i][m-3];
uu[i][m-1]=uu[i][m-2];//2*uu[i][m-2]-uu[i][m-3];
rohroh[i][m-1]=rohroh[i][m-2];//2*rohroh[i][m-2]-rohroh[i][m-3];
temptemp[i][m-1]=tmv;//2*temptemp[i][m-2]-temptemp[i][m-3];
fifi[i][m-1]=fifi[i][m-2];//2*fifi[i][m-2]-fifi[i][m-3];
pp[i][m-1]=rohroh[i][m-1]*temptemp[i][m-1]*R/2;
}
}
void bbcc ()
{
for(i=0; i<n-1; i++)
{
for(j=0; j<m; j++)
{
double Mu2=(1-fifi[i][j])*Mu1+fifi[i][j]*Mu;
bb1[i][j]=(1-fifi[i][j])*ro0*uu[i][j];
bb2[i][j]=rohroh[i][j]*fifi[i][j]*uu[i][j];
bb3[i][j]=(1-fifi[i][j])*ro0*uu[i][j]*uu[i][j]+pp[i][j];
bb4[i][j]=(1-fifi[i][j])*ro0*uu[i][j]*vv[i][j];
bb5[i][j]=(1-fifi[i][j])*ro0*uu[i][j]*temptemp[i][j];
cc1[i][j]=(1-fifi[i][j])*ro0*vv[i][j];
cc2[i][j]=fifi[i][j]*rohroh[i][j]*vv[i][j];
cc3[i][j]=(1-fifi[i][j])*ro0*uu[i][j]*vv[i][j]-Mu2*uu[i+1][j]/dy+Mu2*uu[i][j]/dy;
cc4[i][j]=(1-fifi[i][j])*ro0*vv[i][j]*vv[i][j]-4*Mu2*vv[i+1][j]/3/dy+4*Mu2*vv[i][j]/3/dy;
cc5[i][j]=(1-fifi[i][j])*ro0*temptemp[i][j]*vv[i][j];
}
}
}
void correc ()
{
for(i=1; i<n-1; i++)
{
for(j=1; j<m-1; j++)
{
a1[i][j]=((aa1[i][j]+a1[i][j])-tx*(bb1[i][j]-bb1[i][j-1])-ty*(cc1[i][j]-cc1[i-1][j]))*0.5;
a2[i][j]=((aa2[i][j]+a2[i][j])-tx*(bb2[i][j]-bb2[i][j-1])-ty*(cc2[i][j]-cc2[i-1][j]))*0.5;//-Z[i][j]*dt*0.5;
a3[i][j]=((aa3[i][j]+a3[i][j])-tx*(bb3[i][j]-bb3[i][j-1])-ty*(cc3[i][j]-cc3[i-1][j]))*0.5;
a4[i][j]=((aa4[i][j]+a4[i][j])-tx*(bb4[i][j]-bb4[i][j-1])-ty*(cc4[i][j]-cc4[i-1][j]))*0.5;
a5[i][j]=((aa5[i][j]+a5[i][j])-tx*(bb5[i][j]-bb5[i][j-1])-ty*(cc5[i][j]-cc5[i-1][j]))*0.5;//-Q[i][j]*dt*0.5;
u[i][j]=a3[i][j]/a1[i][j];
v[i][j]=a4[i][j]/a1[i][j];
temp[i][j]=a5[i][j]/a1[i][j];
fi[i][j]=1-a1[i][j]/ro0;
roh[i][j]=a2[i][j]/fi[i][j];
p[i][j]=roh[i][j]*temp[i][j]*R/2;
}
}
//условия на аноде/
for(j=0; j<m; j++)
{
fi[0][j]=fi[1][j];//fi[1][j];2*fi[1][j]-fi[2][j];
roh[0][j]=roh[1][j];//2*roh[1][j]-roh[2][j];
u[0][j]=0.0;
v[0][j]=0.0;
temp[0][j]=tma;
p[0][j]=roh[0][j]*temp[0][j]*R/2;
}
//условия на катоде/
for(j=0; j<m; j++)
{
fi[n-1][j]=fi[n-2][j];//2*fi[n-2][j]-fi[n-3][j];
roh[n-1][j]=roh[n-2][j];//2*roh[n-2][j]-roh[n-3][j];
u[n-1][j]=0.0;
v[n-1][j]=0.0;
temp[n-1][j]=tmk;
p[n-1][j]=roh[n-1][j]*temp[n-1][j]*R/2;
}
//условия на входе/
for(i=1; i<n-1; i++)
{
fi[i][0]=0.2;
u[i][0]=u0;
v[i][0]=0.0;
temp[i][0]=tm0;
roh[i][0]=roh0;
p[i][0]=roh[i][0]*temp[i][0]*R/2;
}
//условия на выходе/
for(i=1; i<n-1; i++)
{
v[i][m-1]=v[i][m-2];//2*v[i][m-2]-v[i][m-3];
u[i][m-1]=u[i][m-2];//2*u[i][m-2]-u[i][m-3];
temp[i][m-1]=tmv;//2*temp[i][m-2]-temp[i][m-3];
fi[i][m-1]=fi[i][m-2];//2*fi[i][m-2]-fi[i][m-3];
roh[i][m-1]=roh0*fi[i][m-1];//2*roh[i][m-2]-roh[i][m-3];
p[i][m-1]=roh[i][m-1]*temp[i][m-1]*R/2;
}
}
void bc ()
{
for(i=1; i<n; i++)
{
for(j=0; j<m; j++)
{
double Mu2=(1-fi[i][j])*Mu1+fi[i][j]*Mu;
b1[i][j]=(1-fi[i][j])*ro0*u[i][j];
b2[i][j]=roh[i][j]*fi[i][j]*u[i][j];
b3[i][j]=(1-fi[i][j])*ro0*u[i][j]*u[i][j]+p[i][j];
b4[i][j]=(1-fi[i][j])*ro0*u[i][j]*v[i][j];
b5[i][j]=(1-fi[i][j])*ro0*u[i][j]*temp[i][j];
c1[i][j]=(1-fi[i][j])*ro0*v[i][j];
c2[i][j]=fi[i][j]*roh[i][j]*v[i][j];
c3[i][j]=(1-fi[i][j])*ro0*u[i][j]*v[i][j]-Mu2*u[i][j]/dy+Mu2*u[i-1][j]/dy;
c4[i][j]=(1-fi[i][j])*ro0*v[i][j]*v[i][j]-4*Mu2*v[i][j]/3/dy+4*Mu2*v[i-1][j]/3/dy;
c5[i][j]=(1-fi[i][j])*ro0*temp[i][j]*v[i][j];
}
}
}
void nevyaz ()
{
q=0;
w=0;
e=0;
r=0;
t=0;
y=0;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
q=q+abs(u[i][j]);
w=w+abs(v[i][j]);
e=e+abs(fi[i][j]);
r=r+abs(roh[i][j]);
t=t+abs(temp[i][j]);
y=y+abs(p[i][j]);
}
}
eps1=abs(q-q1);
eps2=abs(w-w1);
eps3=abs(e-e1);
eps4=abs(r-r1);
eps5=abs(t-t1);
eps6=abs(y-yy1);
cout<<eps1<<" "<<eps2<<" "<<eps3<<" "<<eps4<<" "<<eps5<<" "<<eps6<<endl;
q1=q;
w1=w;
e1=e;
r1=r;
t1=t;
yy1=y;
}
void tok ()
{
for(i=2; i<n-2; i++)
{
for(j=2; j<m-2; j++)
{
ka[i][j]=ka0*(1-fi[i][j])*sqrt(1-fi[i][j])*(1-xi*(temp[i][j]-t0));
}
}
for(j=2; j<m-2; j++)
{
kax[j]=0;
for(i=2; i<n-2; i++)
{
kax[j]=kax[j]+ka[i][j];
}
kax[j]=kax[j]*dy;
}
for(i=2; i<n-2; i++)
{
for(j=2; j<m-2; j++)
{
iot[i][j]=kax[j]*uc*alf/ly;
}
}
for(i=2; i<n-2; i++)
{
for(j=2; j<m-2; j++)
{
Q[i][j]=iot[i][j]*uc/cp;
Z[i][j]=egas*iot[i][j];
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
fi[i][j]=0.5;
roh[i][j]=roh0;
temp[i][j]=300.0;
u[i][j]=0.0;
v[i][j]=0.0;
p[i][j]=roh[i][j]*temp[i][j]*R/2;
}
}
//условия на аноде/
for(j=0; j<m; j++)
{
fi[0][j]=fi[1][j];///*fi[1][j];*/2*fi[1][j]-fi[2][j];
roh[0][j]=roh[1][j];//2*roh[1][j]-roh[2][j];
u[0][j]=0.0;
v[0][j]=0.0;
temp[0][j]=tma;
p[0][j]=roh[0][j]*temp[0][j]*R/2;
}
//условия на катоде/
for(j=0; j<m; j++)
{
fi[n-1][j]=fi[n-2][j];//2*fi[n-2][j]-fi[n-3][j];
roh[n-1][j]=roh[n-2][j];//2*roh[n-2][j]-roh[n-3][j];
u[n-1][j]=0.0;
v[n-1][j]=0.0;
temp[n-1][j]=tmk;
p[n-1][j]=roh[n-1][j]*temp[n-1][j]*R/2;
}
//условия на входе/
for(i=1; i<n-1; i++)
{
fi[i][0]=0.2;
u[i][0]=u0;
v[i][0]=0.0;
temp[i][0]=tm0;
roh[i][0]=roh0;
p[i][0]=roh[i][0]*temp[i][0]*R/2;
}
//условия на выходе/
for(i=1; i<n-1; i++)
{
v[i][m-1]=v[i][m-2];//2*v[i][m-2]-v[i][m-3];
u[i][m-1]=u[i][m-2];//2*u[i][m-2]-u[i][m-3];
roh[i][m-1]=roh[i][m-2];//2*roh[i][m-2]-roh[i][m-3];
temp[i][m-1]=tmv;//2*temp[i][m-2]-temp[i][m-3];
fi[i][m-1]=fi[i][m-2];//2*fi[i][m-2]-fi[i][m-3];
p[i][m-1]=roh[i][m-1]*temp[i][m-1]*R/2;
}
for(i=1; i<n; i++)
{
for(j=0; j<m; j++)
{
double Mu2=(1-fi[i][j])*Mu1+fi[i][j]*Mu;
a1[i][j]=(1-fi[i][j])*ro0;
a2[i][j]=roh[i][j]*fi[i][j];
a3[i][j]=(1-fi[i][j])*ro0*u[i][j];
a4[i][j]=(1-fi[i][j])*ro0*v[i][j];
a5[i][j]=(1-fi[i][j])*ro0*temp[i][j];
b1[i][j]=(1-fi[i][j])*ro0*u[i][j];
b2[i][j]=roh[i][j]*fi[i][j]*u[i][j];
b3[i][j]=(1-fi[i][j])*ro0*u[i][j]*u[i][j]+p[i][j];
b4[i][j]=(1-fi[i][j])*ro0*u[i][j]*v[i][j];
b5[i][j]=(1-fi[i][j])*ro0*u[i][j]*temp[i][j];
c1[i][j]=(1-fi[i][j])*ro0*v[i][j];
c2[i][j]=fi[i][j]*roh[i][j]*v[i][j];
c3[i][j]=(1-fi[i][j])*ro0*u[i][j]*v[i][j]-Mu2*u[i][j]/dy+Mu2*u[i-1][j]/dy;
c4[i][j]=(1-fi[i][j])*ro0*v[i][j]*v[i][j]-4*Mu2*v[i][j]/3/dy+4*Mu2*v[i-1][j]/3/dy;
c5[i][j]=(1-fi[i][j])*ro0*temp[i][j]*v[i][j];
}
}
schet=0;
do
{
pred ();
bbcc();
correc();
bc();
nevyaz();
schet=schet+1;
}while(schet<1000000);
vivod ();
system ("pause");
return 0;
}
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |


