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