سلام دوست عزیز
من یه کد به زبان C دارم و می خوام به ++C تبدیلش کنم باید چکار کنم البته کد به زبان C رو در ++C اجرا کردم و به قرار زیر هست که می خوام به ++C تبدیل بشه خواهشا یکی کمک کنه
// Upwind for convective terms (Conservative)
// 2D flow in a bent channel
#include<math.h>
#include<stdio.h>
const int ie=30,je=10,ninp=10;
const double dx=0.1,dy=0.1,eta=1e-4,ro=1000,vinp=1.5,pout=0,pi=3.1415,dt=0.03;
double u[ie+2][je+2],v[ie+2][je+2],p[ie+2][je+2];
double rhsu[ie+2][je+2],rhsv[ie+2][je+2];
double ap[ie+1][je+1],apn[ie+1][je+1],ape[ie+1][je+1],aps[ie+1][je+1],apw[ie+1][je+1],bp[ie+1][je+1];
void init();
void prescof();
void rhs();
void solver();
void bound();
void surfdat();
long t;
void main(){
FILE *res;
res=fopen("Res.txt","w");
fprintf(res,"ie=%i, je=%i, ninp=%i",ie,je,ninp);
fprintf(res,", dt=%f, dx=%f, dy=%f, ETA=%f, RO=%f, vinp=%f, pout=%f",dt,dx,dy,eta,ro,vinp,pout);
fprintf(res,"\nStep p[%i][1] v[%i][%i]\n",ninp/2,ie-ninp/2,je+1);
init();
prescof();
for(t=1;t<900;t++){
printf("\nTry=%i",t);
rhs();
solver();
bound();
fprintf(res,"%i %f %f\n",t,p[ninp/2][1],v[ie-ninp/2][je+1]);
};
surfdat();
fclose (res);
}
void init(){
int i,j;
for(i=0;i<ie+2;i++){
for(j=0;j<je+2;j++){
p[i][j]=pout;
v[i][j]=0;
u[i][j]=0;
rhsu[i][j]=0;
rhsv[i][j]=0;
};
};
for(i=1;i<ninp+1;i++){v[i][1]=vinp;rhsv[i][1]=vinp;};
for(i=ie-ninp+1;i<ie+1;i++)p[i][je]=pout;
}
- - - Updated - - -
سلام دوست عزیز
من یه کد به زبان C دارم و می خوام به ++C تبدیلش کنم باید چکار کنم البته کد به زبان C رو در ++C اجرا کردم و به قرار زیر هست که می خوام به ++C تبدیل بشه خواهشا یکی کمک کنه
// Upwind for convective terms (Conservative)
// 2D flow in a bent channel
#include<math.h>
#include<stdio.h>
const int ie=30,je=10,ninp=10;
const double dx=0.1,dy=0.1,eta=1e-4,ro=1000,vinp=1.5,pout=0,pi=3.1415,dt=0.03;
double u[ie+2][je+2],v[ie+2][je+2],p[ie+2][je+2];
double rhsu[ie+2][je+2],rhsv[ie+2][je+2];
double ap[ie+1][je+1],apn[ie+1][je+1],ape[ie+1][je+1],aps[ie+1][je+1],apw[ie+1][je+1],bp[ie+1][je+1];
void init();
void prescof();
void rhs();
void solver();
void bound();
void surfdat();
long t;
void main(){
FILE *res;
res=fopen("Res.txt","w");
fprintf(res,"ie=%i, je=%i, ninp=%i",ie,je,ninp);
fprintf(res,", dt=%f, dx=%f, dy=%f, ETA=%f, RO=%f, vinp=%f, pout=%f",dt,dx,dy,eta,ro,vinp,pout);
fprintf(res,"\nStep p[%i][1] v[%i][%i]\n",ninp/2,ie-ninp/2,je+1);
init();
prescof();
for(t=1;t<900;t++){
printf("\nTry=%i",t);
rhs();
solver();
bound();
fprintf(res,"%i %f %f\n",t,p[ninp/2][1],v[ie-ninp/2][je+1]);
};
surfdat();
fclose (res);
}
void init(){
int i,j;
for(i=0;i<ie+2;i++){
for(j=0;j<je+2;j++){
p[i][j]=pout;
v[i][j]=0;
u[i][j]=0;
rhsu[i][j]=0;
rhsv[i][j]=0;
};
};
for(i=1;i<ninp+1;i++){v[i][1]=vinp;rhsv[i][1]=vinp;};
for(i=ie-ninp+1;i<ie+1;i++)p[i][je]=pout;
}