You are on page 1of 43

#include <iostream.

h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
/* Geometry
L1 = 0.65 mm
L2 = *** mm
L = L1 + L2 = 2.4
Ri = 5.7 mm
Rt = 5.5328 mm
Re = 6 mm
At/A* = 1.176
M = 1.5
Yc = 5.7 - 0.2679487179x
Yd = 5.365607937 + 0.267935998x
Grid Info
47 Internal Nodes along X-direction with uniform grid spacing of 0.05 mm
** Internal Nodes along Y-direction with a spacing of 0.05 mm at the exit plane
(5.5328/60) = 0.092213333 mm spacing along the throat
*/
// Total no.of x[i] nodes = 49 (i = 0 to 48)
// Total no.of y[i] nodes = 5978 (i = 0 to 5977)
// Total no.of cy[i] nodes = 5928 (i = 0 to 5927)
// Each y[i] node is the center of a cell
#include <fstream.h>
#include <conio.h>
class nozzle
{
public:
void Grid();
void SaveGrid();
void Initialize();

void Solve();

// total no.of cells = 48*120 =


// total no.of contour nodes = 49*121

double cx[50], cy[6000],cywall[50],spacing[50]; // no.of internal nodes =


double q1[6000],q2[6000],q3[6000],q4[6000],Et[6000];
double E1ab[6000],E2ab[6000],E3ab[6000],E4ab[6000];
double e1ab[6000],e2ab[6000],e3ab[6000],e4ab[6000];
double E1bc[6000],E2bc[6000],E3bc[6000],E4bc[6000];
double e1bc[6000],e2bc[6000],e3bc[6000],e4bc[6000];
double E1cd[6000],E2cd[6000],E3cd[6000],E4cd[6000];
double e1cd[6000],e2cd[6000],e3cd[6000],e4cd[6000];
double E1da[6000],E2da[6000],E3da[6000],E4da[6000];
double e1da[6000],e2da[6000],e3da[6000],e4da[6000];
double f1ab[6000],f2ab[6000],f3ab[6000],f4ab[6000];
double f1bc[6000],f2bc[6000],f3bc[6000],f4bc[6000];
double f1cd[6000],f2cd[6000],f3cd[6000],f4cd[6000];
double f1da[6000],f2da[6000],f3da[6000],f4da[6000];
double E1ab_avg, E1bc_avg, E1cd_avg, E1da_avg;
double E2ab_avg, E2bc_avg, E2cd_avg, E2da_avg;
double E3ab_avg, E3bc_avg, E3cd_avg, E3da_avg;
double E4ab_avg, E4bc_avg, E4cd_avg, E4da_avg;
double rho[6000],p[6000],t[6000],u[6000],v[6000],c[6000],M[6000];
double cfl,viscosity,qab,qbc,qcd,qda,Vnab,Vnbc,Vncd,Vnda,Mnab,Mnbc,Mncd,Mnda,U,deltat;
double deltaxab[6000],deltaxbc[6000],deltaxcd[6000],deltaxda[6000];
double deltayab[6000],deltaybc[6000],deltaycd[6000],deltayda[6000];
double deltasab[6000],deltasbc[6000],deltascd[6000],deltasda[6000];

double
nxab[6000],nyab[6000],nxbc[6000],nybc[6000],nxcd[6000],nycd[6000],nxda[6000],nyda[6000];
double Q1,Q2,Q3,Q4,error,error1,error2,error3,error4;
double criterion;
double R,gamma,Cp,Po,Pa,To,Ta;
double uab,vab,ubc,vbc,ucd,vcd,uda,vda;
};
void nozzle:: Grid()
{
int node,i,j;
double cslope,dslope;
node = 0;
// GRID GENERATION FOR CONTROL VOLUME SURFACES
// Along X-direction
cx[0]= 0;
for (i = 1; i < 49; i++) // 47 internal nodes
{
cx[i] = cx[i-1] + 0.005;
//cout << i << "\t" << x[i] << "\n";
}

// Along Y-direction
// Wall contour Grid
cslope = (0.55 - 0.57)/0.065;
dslope = (0.6 - 0.55)/(0.24-0.065);
for(i = 0; i < 49; i++)
{
if(cx[i] <= 0.066)
cywall[i] = 0.57 + cx[i]*cslope;

if(cx[i] > 0.066)


cywall[i] = 0.55 + (cx[i]-0.065)*dslope;
}
// Symmetry Grid (along X)
for(i = 0; i < 49; i++)
{
cy[121*i] = 0;
}
// Internal Grid (this spacing is based on exit radius -> 6/0.05 = 120; hence 121 nodes along Y)
for (i = 0; i < 49; i++)
{
spacing[i] = cywall[i] / 120;
for( j = 0; j < 121; j++)
{
cy[node] = j*spacing[i];
node++;
}
}
// Wall Grid - final
for(i = 0; i < 49; i++)
{
cy[120*(i+1)] = cywall[i];
}
// Total no.of nodes = 49 x 121 =

/* char filename[20] = "finalgrid.txt";


ofstream savefile(filename);
for(i = 0; i < node; i++)
{
cout << "hi" << "\n";

savefile << "\n" << cx[i/121] << "\t" << cy[i];


}
savefile.close();*/
}
/*void SaveGrid()
{
char filename[20] = "nozzle1.txt";
ofstream savefile(filename);
for(j = 0; j < cn; j++)
{
for(i = 0; i < cm; i++)
{
savefile << "\n" << cx[i] << "\t" << cy[j*cm+i];
}
}
savefile.close();
}*/

// INITIALIZATION
void nozzle:: Initialize()
{
int i;
Pa = 101325;
Ta = 300;
R = 287.5;
gamma = 1.4;
for(i = 0; i < 5760; i++) // 120x48 cell centers
{
p[i] = Pa;

t[i] = Ta;
u[i] = 0;
v[i] = 0;
rho[i] = Pa / (R*Ta);
q1[i] = rho[i];
q2[i] = 0; //rho[i]*u[i];
q3[i] = 0; //rho[i]*v[i];
Et[i] = p[i]/( rho[i]*(gamma - 1) ); // + 0.5*( pow(u[i],2) + pow(v[i],2) );
q4[i] = rho[i] * Et[i];
}
for(i = 0; i < 5760; i++) // 120x48 cell centers
{
deltaxab[i] = 0.00005;
deltaxbc[i] = 0;
deltaxcd[i] = -0.00005;
deltaxda[i] = 0;
if(i<120)
deltayab[i] = cy[121+i] - cy[i];
else
deltayab[i] = cy[122+i] - cy[i];
deltaybc[i] = spacing[(i/120)+1];
if(i<120)
deltaycd[i] = -cy[122+i] + cy[i+1];
else
deltaycd[i] = -cy[123+i] + cy[i+2];
deltayda[i] = -spacing[i/120];
deltasab[i] = sqrt( (deltaxab[i]*deltaxab[i]) + (deltayab[i]*deltayab[i]) );
deltasbc[i] = spacing[(i/120)+1]; //sqrt( pow(deltaxbc[i],2) + pow(deltaybc[i],2) );

deltascd[i] = sqrt( (deltaxcd[i]*deltaxcd[i]) + (deltaycd[i]*deltaycd[i]) );


deltasda[i] = -spacing[i/120]; //sqrt( pow(deltaxda[i],2) + pow(deltayda[i],2) );
c[i] = sqrt(gamma*R*Ta);
if(i%120!=0)
{
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;
Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = Vnab /c[i];
}
if(i > 5639)
{
ubc = u[i];
vbc = v[i];
}
else
{
ubc = (u[i] + u[i+120]) * 0.5;
vbc = (v[i] + v[i+120]) * 0.5;
}
Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
if(i%120!=119)
{
ucd = (u[i] + u[i+1]) * 0.5;
vcd

= (v[i] + v[i+1]) * 0.5;

}
Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
Mncd = Vncd / c[i];
if(i < 120)
{

uda = u[i];
vda = v[i];
}
else
{
uda = (u[i] + u[i-120]) * 0.5;
vda = (v[i] + v[i-120]) * 0.5;
}
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
nxab[i] = deltayab[i] / deltasab[i];
nyab[i] = - deltaxab[i] / deltasab[i];
nxbc[i] = 1; //deltaybc[i] / deltasbc[i];
nybc[i] = 0; //- deltaxbc[i] / deltasbc[i];
nxcd[i] = deltaycd[i] / deltascd[i];
nycd[i] = - deltaxcd[i] / deltascd[i];
nxda[i] = 1; //deltayda[i] / deltasda[i];
nyda[i] = 0; //- deltaxda[i] / deltasda[i];
// 1/gamma = 0.7142857
// 1/(2*(gamma^2 - 1)) = 0.520833333
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
if(i%120 == 0)
{
e1ab[i] = 0; e2ab[i] = 0; e3ab[i] = 0; e4ab[i] = 0;
f1ab[i] = 0; f2ab[i] = 0; f3ab[i] = 0; f4ab[i] = 0;

}
else
{
e1ab[i] = 0.25*rho[i]*c[i]*(Mnab + 1)*(Mnab + 1);
e2ab[i] = e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = e1ab[i] * (v[i] + 0.7142857*nyab[i]*(2*c[i] - Vnab));
e4ab[i] = e1ab[i] * (qab + 0.520833333*(0.4*Vnab + 2*c[i])*(0.4*Vnab + 2*c[i]) );
f1ab[i] = - 0.25*rho[i]*c[i]*(Mnab - 1)*(Mnab - 1);
f2ab[i] = f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = f1ab[i] * ( qab + 0.520833333*(0.4*Vnab - 2*c[i])*(0.4*Vnab - 2*c[i]) );
}
if(i%120 == 119)
{
e1cd[i] = 0; e2cd[i] = 0; e3cd[i] = 0; e4cd[i] = 0;
f1cd[i] = 0; f2cd[i] = 0; f3cd[i] = 0; f4cd[i] = 0;
}
else
{
e1cd[i] = 0.25*rho[i]*c[i]*(Mncd + 1)*(Mncd + 1);
e2cd[i] = e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = e1cd[i] * ( qcd + 0.520833333*(0.4*Vncd + 2*c[i])*(0.4*Vncd + 2*c[i]) );
f1cd[i] = - 0.25*rho[i]*c[i]*(Mncd - 1)*(Mncd - 1);
f2cd[i] = f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = f1cd[i] * ( qcd + 0.520833333*(0.4*Vncd - 2*c[i])*(0.4*Vncd - 2*c[i]) );
}

e1bc[i] = 0.25*rho[i]*c[i]*(Mnbc + 1)*(Mnbc + 1);


e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc + 2*c[i])*(0.4*Vnbc + 2*c[i]) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);
f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
}
/*char filename[20] = "deltay.txt";
ofstream savefile(filename);
for(i = 0; i < 5760; i++)
{
savefile << "\n" << i << "\t" << deltayab[i] << "\t" << deltaybc[i] << "\t" << deltaycd[i] << "\t" <<
deltayda[i];
}
savefile.close();*/
}

void nozzle:: Solve()


{
int iterations,i;
double R = 287.5;
double gamma = 1.4;
double cp = 1006.5;
double Po = 1.015e+5; //(For perfect expansion)
double Pa = 101325;
double To = 300;
double Ta = 298.15;
deltat = 1e-10;
double viscosity = .6;
double relax = 0.0001;
char filename[20] = "output.txt";
ofstream savefile(filename);
for(iterations=0;iterations<100;iterations++)
{
// INLET SYMMETRY POINT (i = 0, u[i] = u[i-1])
i = 0;
u[i] = u[i+120];
v[i] = v[i+120];
t[i] = To - (0.5*u[i]*u[i])/cp;
c[i] = sqrt(gamma*R*t[i]);
p[i] = Po*pow(t[i]/To,3.5);
rho[i] = p[i]/(R*t[i]);
q1[i] = rho[i];
q2[i] = rho[i]*u[i];
q3[i] = rho[i]*v[i];

Et[i] = p[i]/(rho[i]*(gamma-1)) + 0.5*u[i]*u[i];


q4[i] = rho[i]*Et[i];
uab = u[i]; //(u[i] + u[i]) * 0.5;
vab = 0;
Vnab = 0; //( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = 0; //Vnab / c;
ubc = (u[i] + u[i+121]) * 0.5;
vbc = (v[i] + v[i+121]) * 0.5;
Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
ucd = (u[i] + u[i+1]) * 0.5;
vcd = (v[i] + v[i+1]) * 0.5;
Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
Mncd = Vncd / c[i];
uda = u[i]; //(u[i] + u[i]) * 0.5;
vda = u[i]; //(v[i] + v[i]) * 0.5;
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
e1ab[i] = 0; //0.25*rho[i]*c[i]*pow((Mnab + 1),2);
e2ab[i] = 0; //e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = 0; //e1ab[i] * (v[i] + 0.7142857*nyab*(2*c[i] - Vnab));
e4ab[i] = 0; //e1ab[i] * ( qab + 0.520833333*pow( (0.4*Vnab + 2*c[i]),2) );
e1bc[i] = 0.25*rho[i]*c[i]*pow((Mnbc + 1),2);

e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));


e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*pow( (0.4*Vnbc + 2*c[i]),2) );
e1cd[i] = 0.25*rho[i]*c[i]*(Mncd + 1)*(Mncd + 1);
e2cd[i] = e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = e1cd[i] * ( qcd + 0.520833333*(0.4*Vncd + 2*c[i])*(0.4*Vncd + 2*c[i]) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );
f1ab[i] = 0; //- 0.25*rho[i]*c[i]*pow((Mnab - 1),2);
f2ab[i] = 0; //f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = 0; //f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = 0; //f1ab[i] * ( qab + 0.520833333*pow( (0.4*Vnab - 2*c[i]),2) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1cd[i] = - 0.25*rho[i]*c[i]*(Mncd - 1)*(Mncd - 1);
f2cd[i] = f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = f1cd[i] * ( qcd + 0.520833333*(0.4*Vncd - 2*c[i])*(0.4*Vncd - 2*c[i]) );

f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);

f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));


f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
if(Mnab <= -1)
E1ab[i] = f1ab[i];
if(Mnab > -1 && Mnab < 1)
E1ab[i] = e1ab[i] + f1ab[i];
if(Mnab >= 1)
E1ab[i] = e1ab[i];
if(Mnbc <= -1)
E1bc[i] = f1bc[i];
if(Mnbc > -1 && Mnbc < 1)
E1bc[i] = e1bc[i] + f1bc[i];
if(Mnbc >= 1)
E1bc[i] = e1bc[i];
if(Mncd <= -1)
E1cd[i] = f1cd[i];
if(Mncd > -1 && Mncd < 1)
E1cd[i] = e1cd[i] + f1cd[i];
if(Mncd >= 1)
E1cd[i] = e1cd[i];

if(Mnda <= -1)


E1da[i] = f1da[i];
if(Mnda > -1 && Mnda < 1)
E1da[i] = e1da[i] + f1da[i];
if(Mnda >= 1)

E1da[i] = e1da[i];
// 1/gamma = 0.7142857
// 1/(2*(gamma^2 - 1)) = 0.520833333
// BOUNDARY CONDITION FOR SUBSONIC INLET - INTERIOR POINTS
for(i = 1;i < 119;i++)
{
u[i] = u[i+120];
v[i] = v[i+120];
t[i] = To - (0.5*u[i]*u[i])/cp;
c[i] = sqrt(gamma*R*t[i]);
p[i] = Po*pow(t[i]/To,3.5);
rho[i] = p[i]/(R*t[i]);
q1[i] = rho[i];
q2[i] = rho[i]*u[i];
q3[i] = rho[i]*v[i];
Et[i] = p[i]/(rho[i]*(gamma-1)) + 0.5*u[i]*u[i];
q4[i] = rho[i]*Et[i];
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;
Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = Vnab / c[i];
ubc = (u[i] + u[i+120]) * 0.5;
vbc = (v[i] + v[i+120]) * 0.5;
Vnbc = ubc; //( (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
ucd = (u[i] + u[i+1]) * 0.5;
vcd = (v[i] + v[i+1]) * 0.5;

Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];


Mncd = Vncd / c[i];
uda = u[i]; //(u[i] + u[i]) * 0.5;
vda = u[i]; //(v[i] + v[i]) * 0.5;
Vnda = uda; //( (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
e1ab[i] = 0.25*rho[i]*c[i]*(Mnab + 1)*(Mnab + 1);
e2ab[i] = e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = e1ab[i] * (v[i] + 0.7142857*nyab[i]*(2*c[i] - Vnab));
e4ab[i] = e1ab[i] * (qab + 0.520833333*(0.4*Vnab + 2*c[i])*(0.4*Vnab + 2*c[i]) );
e1bc[i] = 0.25*rho[i]*c[i]*(Mnbc + 1)*(Mnbc + 1);
e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc + 2*c[i])*(0.4*Vnbc + 2*c[i]) );
e1cd[i] = 0.25*rho[i]*c[i]*(Mncd + 1)*(Mncd + 1);
e2cd[i] = e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = e1cd[i] * ( qcd + 0.520833333*(0.4*Vncd + 2*c[i])*(0.4*Vncd + 2*c[i]) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );

f1ab[i] = - 0.25*rho[i]*c[i]*(Mnab - 1)*(Mnab - 1);


f2ab[i] = f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = f1ab[i] * ( qab + 0.520833333*(0.4*Vnab - 2*c[i])*(0.4*Vnab - 2*c[i]) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1cd[i] = - 0.25*rho[i]*c[i]*(Mncd - 1)*(Mncd - 1);
f2cd[i] = f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = f1cd[i] * ( qcd + 0.520833333*(0.4*Vncd - 2*c[i])*(0.4*Vncd - 2*c[i]) );

f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);


f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
if(Mnab <= -1)
E1ab[i] = f1ab[i];
if(Mnab > -1 && Mnab < 1)
E1ab[i] = e1ab[i] + f1ab[i];
if(Mnab >= 1)
E1ab[i] = e1ab[i];
if(Mnbc <= -1)
E1bc[i] = f1bc[i];

if(Mnbc > -1 && Mnbc < 1)


E1bc[i] = e1bc[i] + f1bc[i];
if(Mnbc

>= 1)

E1bc[i] = e1bc[i];
if(Mncd <= -1)
E1cd[i] = f1cd[i];
if(Mncd > -1 && Mncd < 1)
E1cd[i] = e1cd[i] + f1cd[i];
if(Mncd >= 1)
E1cd[i] = e1cd[i];
if(Mnda <= -1)
E1da[i] = f1da[i];
if(Mnda > -1 && Mnda < 1)
E1da[i] = e1da[i] + f1da[i];
if(Mnda >= 1)
E1da[i] = e1da[i];
// 1/gamma = 0.7142857
// 1/(2*(gamma^2 - 1)) = 0.520833333
}
// INLET WALL POINT (i = 119)
i = 119;
u[i] = u[i+120];
v[i] = v[i+120];
t[i] = To - (0.5*u[i]*u[i])/cp;
c[i] = sqrt(gamma*R*t[i]);
p[i] = Po*pow(t[i]/To,3.5);
rho[i] = p[i]/(R*t[i]);

q1[i] = rho[i];
q2[i] = rho[i]*u[i];
q3[i] = rho[i]*v[i];
Et[i] = p[i]/(rho[i]*(gamma-1)) + 0.5*u[i]*u[i];
q4[i] = rho[i]*Et[i];
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;
Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = Vnab / c[i];
ubc = (u[i] + u[i+120]) * 0.5;
vbc = (v[i] + v[i+120]) * 0.5;
Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
//ucd = (u[i] + u[i+1]) * 0.5;
//vcd = (v[i] + v[i+1]) * 0.5;
Vncd = 0; //( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
Mncd = 0; //Vncd / c[i];
uda = u[i]; //(u[i] + u[i]) * 0.5;
vda = u[i]; //(v[i] + v[i]) * 0.5;
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
e1ab[i] = 0.25*rho[i]*c[i]*(Mnab + 1)*(Mnab + 1);
e2ab[i] = e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = e1ab[i] * (v[i] + 0.7142857*nyab[i]*(2*c[i] - Vnab));

e4ab[i] = e1ab[i] * (qab + 0.520833333*(0.4*Vnab + 2*c[i])*(0.4*Vnab + 2*c[i]) );


e1bc[i] = 0.25*rho[i]*c[i]*(Mnbc + 1)*(Mnbc + 1);
e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc + 2*c[i])*(0.4*Vnbc + 2*c[i]) );
e1cd[i] = 0; //0.25*rho[i]*c[i]*pow((Mncd + 1),2);
e2cd[i] = 0; //e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = 0; //e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = 0; //e1cd[i] * ( qcd + 0.520833333*pow( (0.4*Vncd + 2*c[i]),2) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );
f1ab[i] = - 0.25*rho[i]*c[i]*(Mnab - 1)*(Mnab - 1);
f2ab[i] = f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = f1ab[i] * ( qab + 0.520833333*(0.4*Vnab - 2*c[i])*(0.4*Vnab - 2*c[i]) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1cd[i] = 0; //- 0.25*rho[i]*c[i]*pow((Mncd - 1),2);
f2cd[i] = 0; //f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = 0; //f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = 0; //f1cd[i] * ( qcd + 0.520833333*pow( (0.4*Vncd - 2*c[i]),2) );

f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);


f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
if(Mnab <= -1)
E1ab[i] = f1ab[i];
if(Mnab > -1 && Mnab < 1)
E1ab[i] = e1ab[i] + f1ab[i];
if(Mnab >= 1)
E1ab[i] = e1ab[i];
if(Mnbc <= -1)
E1bc[i] = f1bc[i];
if(Mnbc > -1 && Mnbc < 1)
E1bc[i] = e1bc[i] + f1bc[i];
if(Mnbc >= 1)
E1bc[i] = e1bc[i];
if(Mncd <= -1)
E1cd[i] = f1cd[i];
if(Mncd > -1 && Mncd < 1)
E1cd[i] = e1cd[i] + f1cd[i];
if(Mncd >= 1)
E1cd[i] = e1cd[i];

if(Mnda <= -1)


E1da[i] = f1da[i];
if(Mnda > -1 && Mnda < 1)

E1da[i] = e1da[i] + f1da[i];


if(Mnda >= 1)
E1da[i] = e1da[i];

// OUTLET SYMMETRY POINT (i = 5640)


i = 5640;
u[i] = u[i-120];
v[i] = v[i-120];
p[i] = p[i-120];
t[i] = t[i-120];
c[i] = sqrt(gamma*R*t[i]);
rho[i] = p[i]/(R*t[i]);
q1[i] = rho[i];
q2[i] = rho[i]*u[i];
q3[i] = rho[i]*v[i];
Et[i] = p[i]/(rho[i]*(gamma-1)) + 0.5*u[i]*u[i];
q4[i] = rho[i]*Et[i];
uab = u[i]; //(u[i] + u[i]) * 0.5;
vab = 0;
Vnab = 0; //( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = 0; //Vnab / c;
ubc = (u[i] + u[i+120]) * 0.5;
vbc = (v[i] + v[i+120]) * 0.5;
Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
ucd = (u[i] + u[i+1]) * 0.5;
vcd = (v[i] + v[i+1]) * 0.5;
Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];

Mncd = Vncd / c[i];


uda = u[i]; //(u[i] + u[i]) * 0.5;
vda = u[i]; //(v[i] + v[i]) * 0.5;
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
e1ab[i] = 0; //0.25*rho[i]*c[i]*pow((Mnab + 1),2);
e2ab[i] = 0; //e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = 0; //e1ab[i] * (v[i] + 0.7142857*nyab*(2*c[i] - Vnab));
e4ab[i] = 0; //e1ab[i] * ( qab + 0.520833333*pow( (0.4*Vnab + 2*c[i]),2) );
e1bc[i] = 0.25*rho[i]*c[i]*pow((Mnbc + 1),2);
e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*pow( (0.4*Vnbc + 2*c[i]),2) );
e1cd[i] = 0.25*rho[i]*c[i]*(Mncd + 1)*(Mncd + 1);
e2cd[i] = e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = e1cd[i] * ( qcd + 0.520833333*(0.4*Vncd + 2*c[i])*(0.4*Vncd + 2*c[i]) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );

f1ab[i] = 0; //- 0.25*rho[i]*c[i]*pow((Mnab - 1),2);


f2ab[i] = 0; //f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = 0; //f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = 0; //f1ab[i] * ( qab + 0.520833333*pow( (0.4*Vnab - 2*c[i]),2) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1cd[i] = - 0.25*rho[i]*c[i]*(Mncd - 1)*(Mncd - 1);
f2cd[i] = f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = f1cd[i] * ( qcd + 0.520833333*(0.4*Vncd - 2*c[i])*(0.4*Vncd - 2*c[i]) );

f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);


f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
if(Mnab <= -1)
E1ab[i] = f1ab[i];
if(Mnab > -1 && Mnab < 1)
E1ab[i] = e1ab[i] + f1ab[i];
if(Mnab >= 1)
E1ab[i] = e1ab[i];
if(Mnbc <= -1)
E1bc[i] = f1bc[i];
if(Mnbc > -1 && Mnbc < 1)

E1bc[i] = e1bc[i] + f1bc[i];


if(Mnbc >= 1)
E1bc[i] = e1bc[i];
if(Mncd <= -1)
E1cd[i] = f1cd[i];
if(Mncd > -1 && Mncd < 1)
E1cd[i] = e1cd[i] + f1cd[i];
if(Mncd >= 1)
E1cd[i] = e1cd[i];

if(Mnda <= -1)


E1da[i] = f1da[i];
if(Mnda > -1 && Mnda < 1)
E1da[i] = e1da[i] + f1da[i];
if(Mnda >= 1)
E1da[i] = e1da[i];
// BOUNDARY CONDITION FOR SUPERSONIC OUTLET - INTERIOR POINTS
for(i = 5640;i < 5760;i++)
{
u[i] = u[i-120];
v[i] = v[i-120];
p[i] = p[i-120];
t[i] = t[i-120];
c[i] = sqrt(gamma*R*t[i]);
rho[i] = p[i]/(R*t[i]);
q1[i] = rho[i];
q2[i] = rho[i]*u[i];

q3[i] = rho[i]*v[i];
Et[i] = p[i]/(rho[i]*(gamma-1)) + 0.5*u[i]*u[i];
q4[i] = rho[i]*Et[i];
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;
Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = Vnab / c[i];
ubc = (u[i] + u[i+120]) * 0.5;
vbc = (v[i] + v[i+120]) * 0.5;
Vnbc = ubc; //( (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
ucd = (u[i] + u[i+1]) * 0.5;
vcd = (v[i] + v[i+1]) * 0.5;
Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
Mncd = Vncd / c[i];
uda = u[i]; //(u[i] + u[i]) * 0.5;
vda = u[i]; //(v[i] + v[i]) * 0.5;
Vnda = uda; //( (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
// 1/gamma = 0.7142857
// 1/(2*(gamma^2 - 1)) = 0.520833333
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
e1ab[i] = 0.25*rho[i]*c[i]*(Mnab + 1)*(Mnab + 1);
e2ab[i] = e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));

e3ab[i] = e1ab[i] * (v[i] + 0.7142857*nyab[i]*(2*c[i] - Vnab));


e4ab[i] = e1ab[i] * (qab + 0.520833333*(0.4*Vnab + 2*c[i])*(0.4*Vnab + 2*c[i]) );
e1bc[i] = 0.25*rho[i]*c[i]*(Mnbc + 1)*(Mnbc + 1);
e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc + 2*c[i])*(0.4*Vnbc + 2*c[i]) );
e1cd[i] = 0.25*rho[i]*c[i]*(Mncd + 1)*(Mncd + 1);
e2cd[i] = e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = e1cd[i] * ( qcd + 0.520833333*(0.4*Vncd + 2*c[i])*(0.4*Vncd + 2*c[i]) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );
f1ab[i] = - 0.25*rho[i]*c[i]*(Mnab - 1)*(Mnab - 1);
f2ab[i] = f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = f1ab[i] * ( qab + 0.520833333*(0.4*Vnab - 2*c[i])*(0.4*Vnab - 2*c[i]) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1cd[i] = - 0.25*rho[i]*c[i]*(Mncd - 1)*(Mncd - 1);
f2cd[i] = f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));

f4cd[i] = f1cd[i] * ( qcd + 0.520833333*(0.4*Vncd - 2*c[i])*(0.4*Vncd - 2*c[i]) );

f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);


f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
if(Mnab <= -1)
E1ab[i] = f1ab[i];
if(Mnab > -1 && Mnab < 1)
E1ab[i] = e1ab[i] + f1ab[i];
if(Mnab >= 1)
E1ab[i] = e1ab[i];
if(Mnbc

<= -1)

E1bc[i] = f1bc[i];
if(Mnbc > -1 && Mnbc < 1)
E1bc[i] = e1bc[i] + f1bc[i];
if(Mnbc >= 1)
E1bc[i] = e1bc[i];
if(Mncd <= -1)
E1cd[i] = f1cd[i];
if(Mncd > -1 && Mncd < 1)
E1cd[i] = e1cd[i] + f1cd[i];
if(Mncd >= 1)
E1cd[i] = e1cd[i];
if(Mnda <= -1)
E1da[i] = f1da[i];

if(Mnda > -1 && Mnda < 1)


E1da[i] = e1da[i] + f1da[i];
if(Mnda >= 1)
E1da[i] = e1da[i];
}
// OUTLET WALL POINT (i = 5759)
i = 5759;
u[i] = u[i-120];
v[i] = v[i-120];
p[i] = p[i-120];
t[i] = t[i-120];
c[i] = sqrt(gamma*R*t[i]);
rho[i] = p[i]/(R*t[i]);
q1[i] = rho[i];
q2[i] = rho[i]*u[i];
q3[i] = rho[i]*v[i];
Et[i] = p[i]/(rho[i]*(gamma-1)) + 0.5*u[i]*u[i];
q4[i] = rho[i]*Et[i];
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;
Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = Vnab / c[i];
ubc = u[i]; //(u[i] + u[i+120]) * 0.5;
vbc = v[i]; //(v[i] + v[i+120]) * 0.5;
Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
//ucd = (u[i] + u[i+1]) * 0.5;

//vcd = (v[i] + v[i+1]) * 0.5;


//Vncd = 0;//( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
//Mncd = 0;Vncd / c[i];
uda = (u[i] + u[i-120]) * 0.5;
vda = (v[i] + v[i-120]) * 0.5;
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );
qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
e1ab[i] = 0.25*rho[i]*c[i]*(Mnab + 1)*(Mnab + 1);
e2ab[i] = e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = e1ab[i] * (v[i] + 0.7142857*nyab[i]*(2*c[i] - Vnab));
e4ab[i] = e1ab[i] * (qab + 0.520833333*(0.4*Vnab + 2*c[i])*(0.4*Vnab + 2*c[i]) );
e1bc[i] = 0.25*rho[i]*c[i]*(Mnbc + 1)*(Mnbc + 1);
e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc + 2*c[i])*(0.4*Vnbc + 2*c[i]) );
e1cd[i] = 0; //0.25*rho[i]*c[i]*pow((Mncd + 1),2);
e2cd[i] = 0; //e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = 0; //e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = 0; //e1cd[i] * ( qcd + 0.520833333*pow( (0.4*Vncd + 2*c[i]),2) );
e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);
e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));

e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );


f1ab[i] = - 0.25*rho[i]*c[i]*(Mnab - 1)*(Mnab - 1);
f2ab[i] = f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = f1ab[i] * ( qab + 0.520833333*(0.4*Vnab - 2*c[i])*(0.4*Vnab - 2*c[i]) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1cd[i] = 0; //- 0.25*rho[i]*c[i]*pow((Mncd - 1),2);
f2cd[i] = 0; //f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = 0; //f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = 0; //f1cd[i] * ( qcd + 0.520833333*pow( (0.4*Vncd - 2*c[i]),2) );
f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);
f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
if(Mnab <= -1)
E1ab[i] = f1ab[i];
if(Mnab > -1 && Mnab < 1)
E1ab[i] = e1ab[i] + f1ab[i];
if(Mnab >= 1)
E1ab[i] = e1ab[i];
if(Mnbc <= -1)
E1bc[i] = f1bc[i];

if(Mnbc > -1 && Mnbc < 1)


E1bc[i] = e1bc[i] + f1bc[i];
if(Mnbc >= 1)
E1bc[i] = e1bc[i];
if(Mncd <= -1)
E1cd[i] = f1cd[i];
if(Mncd > -1 && Mncd < 1)
E1cd[i] = e1cd[i] + f1cd[i];
if(Mncd >= 1)
E1cd[i] = e1cd[i];

if(Mnda <= -1)


E1da[i] = f1da[i];
if(Mnda > -1 && Mnda < 1)
E1da[i] = e1da[i] + f1da[i];
if(Mnda >= 1)
E1da[i] = e1da[i];

//*********************** ITERATIONS FOR INTERIOR POINTS ************************************


error = 0;
for(i = 120; i < 5640; i++)
{
//cout << i << "\n";
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;
Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];
Mnab = Vnab / c[i];
ubc = (u[i] + u[i+120]) * 0.5;

vbc = (v[i] + v[i+120]) * 0.5;


Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
ucd = (u[i] + u[i+1]) * 0.5;
vcd = (v[i] + v[i+1]) * 0.5;
Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
Mncd = Vncd / c[i];
uda = (u[i] + u[i-120]) * 0.5;
vda = (v[i] + v[i-120]) * 0.5;
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];
if(i%120==0)
Mnab = 0;
if(i%120==119)
Mncd = 0;
if(Mnab <= -1)
{
E1ab[i] = f1ab[i];
E1ab_avg = (f1ab[i] + f1ab[i+1]) * 0.5 + e1ab[i+1]????XXXXXXXXX;
E2ab[i] = f2ab[i];
E2ab_avg = (f2ab[i] + f2ab[i+1]) * 0.5;
E3ab[i] = f3ab[i];
E3ab_avg = (f3ab[i] + f3ab[i+1]) * 0.5;
E4ab[i] = f4ab[i];
E4ab_avg = (f4ab[i] + f4ab[i+1]) * 0.5;
}

if(Mnab > -1 && Mnab < 1)

{
E1ab_avg = (e1ab[i] + e1ab[i-1]) * 0.5 + (f1ab[i] + f1ab[i+1]) * 0.5;
E2ab_avg = (e2ab[i] + e2ab[i-1]) * 0.5 + (f2ab[i] + f2ab[i+1]) * 0.5;
E3ab_avg = (e3ab[i] + e3ab[i-1]) * 0.5 + (f3ab[i] + f3ab[i+1]) * 0.5;
E4ab_avg = (e4ab[i] + e4ab[i-1]) * 0.5 + (f4ab[i] + f4ab[i+1]) * 0.5;
//E4ab[i] = e4ab[i] + f4ab[i];
}
if(Mnab >= 1)
{
E1ab[i] = e1ab[i];
E1ab_avg = (E1ab[i] + E1ab[i-1]) * 0.5;
E2ab[i] = e2ab[i];
E2ab_avg = (E2ab[i] + E2ab[i-1]) * 0.5;
E3ab[i] = e3ab[i];
E3ab_avg = (E3ab[i] + E3ab[i-1]) * 0.5;
E4ab[i] = e4ab[i];
E4ab_avg = (E4ab[i] + E4ab[i-1]) * 0.5;
}
if(Mnbc <= -1)
{
E1bc[i] = f1bc[i];
E1bc_avg = (E1bc[i] + E1bc[i+1]) * 0.5;
E2bc[i] = f2bc[i];
E2bc_avg = (E2bc[i] + E2bc[i+1]) * 0.5;
E3bc[i] = f3bc[i];
E3bc_avg = (E3bc[i] + E3bc[i+1]) * 0.5;
E4bc[i] = f4bc[i];
E4bc_avg = (E4bc[i] + E4bc[i+1]) * 0.5;
}

if(Mnbc > -1 && Mnbc < 1)


{
E1bc_avg = (e1bc[i] + e1bc[i-1]) * 0.5 + (f1bc[i] + f1bc[i+1]) * 0.5;
E2bc_avg = (e2bc[i] + e2bc[i-1]) * 0.5 + (f2bc[i] + f2bc[i+1]) * 0.5;
E3bc_avg = (e3bc[i] + e3bc[i-1]) * 0.5 + (f3bc[i] + f3bc[i+1]) * 0.5;
E4bc_avg = (e4bc[i] + e4bc[i-1]) * 0.5 + (f4bc[i] + f4bc[i+1]) * 0.5;
//E4bc[i] = e4bc[i] + f4bc[i];
}
if(Mnbc >= 1)
{
E1bc[i] = e1bc[i];
E1bc_avg = (E1bc[i] + E1bc[i-1]) * 0.5;
E2bc[i] = e2bc[i];
E2bc_avg = (E2bc[i] + E2bc[i-1]) * 0.5;
E3bc[i] = e3bc[i];
E3bc_avg = (E3bc[i] + E3bc[i-1]) * 0.5;
E4bc[i] = e4bc[i];
E4bc_avg = (E4bc[i] + E4bc[i-1]) * 0.5;
}
if(Mncd <= -1)
{
E1cd[i] = f1cd[i];
E1cd_avg = (E1cd[i] + E1cd[i+1]) * 0.5;
E2cd[i] = f2cd[i];
E2cd_avg = (E2cd[i] + E2cd[i+1]) * 0.5;
E3cd[i] = f3cd[i];
E3cd_avg = (E3cd[i] + E3cd[i+1]) * 0.5;
E4cd[i] = f4cd[i];

E4cd_avg = (E4cd[i] + E4cd[i+1]) * 0.5;


}
if(Mncd > -1 && Mncd < 1)
{
E1cd_avg = (e1cd[i] + e1cd[i-1]) * 0.5 + (f1cd[i] + f1cd[i+1]) * 0.5;
E2cd_avg = (e2cd[i] + e2cd[i-1]) * 0.5 + (f2cd[i] + f2cd[i+1]) * 0.5;
E3cd_avg = (e3cd[i] + e3cd[i-1]) * 0.5 + (f3cd[i] + f3cd[i+1]) * 0.5;
E4cd_avg = (e4cd[i] + e4cd[i-1]) * 0.5 + (f4cd[i] + f4cd[i+1]) * 0.5;
//E4cd[i] = e4cd[i] + f4cd[i];
}
if(Mncd >= 1)
{
E1cd[i] = e1cd[i];
E1cd_avg = (E1cd[i] + E1cd[i-1]) * 0.5;
E2cd[i] = e2cd[i];
E2cd_avg = (E2cd[i] + E2cd[i-1]) * 0.5;
E3cd[i] = e3cd[i];
E3cd_avg = (E3cd[i] + E3cd[i-1]) * 0.5;
E4cd[i] = e4cd[i];
E4cd_avg = (E4cd[i] + E4cd[i-1]) * 0.5;
}
if(Mnda <= -1)
{
E1da[i] = f1da[i];
E1da_avg = (E1da[i] + E1da[i+1]) * 0.5;
E2da[i] = f2da[i];
E2da_avg = (E2da[i] + E2da[i+1]) * 0.5;
E3da[i] = f3da[i];

E3da_avg = (E3da[i] + E3da[i+1]) * 0.5;


E4da[i] = f4da[i];
E4da_avg = (E4da[i] + E4da[i+1]) * 0.5;
}
if(Mnda > -1 && Mnda < 1)
{
E1da_avg = (e1da[i] + e1da[i-1]) * 0.5 + (f1da[i] + f1da[i+1]) * 0.5;
E2da_avg = (e2da[i] + e2da[i-1]) * 0.5 + (f2da[i] + f2da[i+1]) * 0.5;
E3da_avg = (e3da[i] + e3da[i-1]) * 0.5 + (f3da[i] + f3da[i+1]) * 0.5;
E4da_avg = (e4da[i] + e4da[i-1]) * 0.5 + (f4da[i] + f4da[i+1]) * 0.5;
//E4da[i] = e4da[i] + f4da[i];
}
if(Mnda >= 1)
{
E1da[i] = e1da[i];
E1da_avg = (E1da[i] + E1da[i-1]) * 0.5;
E2da[i] = e2da[i];
E2da_avg = (E2da[i] + E2da[i-1]) * 0.5;
E3da[i] = e3da[i];
E3da_avg = (E3da[i] + E3da[i-1]) * 0.5;
E4da[i] = e4da[i];
E4da_avg = (E4da[i] + E4da[i-1]) * 0.5;
}
// AVERAGING OF CELL-CENTRE FLUXES TO OBTAIN CELL-FACE FLUXES
if(i%120==0) // FOR SYMMETRY BOUNDARY
{
E1ab_avg = 0;
E2ab_avg = 0;

E3ab_avg = 0;
E4ab_avg = 0;
}
/* else
{
E1ab_avg = (E1ab[i] + E1ab[i-1]) * 0.5;
E2ab_avg = (E2ab[i] + E2ab[i-1]) * 0.5;
E3ab_avg = (E3ab[i] + E3ab[i-1]) * 0.5;
E4ab_avg = (E4ab[i] + E4ab[i-1]) * 0.5;
}*/
if(i%119==0) // FOR WALL BOUNDARY
{
E1cd_avg = 0;
E2cd_avg = 0;
E3cd_avg = 0;
E4cd_avg = 0;
}
/* else
{
E1cd_avg = (E1cd[i] + E1ab[i+1]) * 0.5;
E2cd_avg = (E2cd[i] + E2ab[i+1]) * 0.5;
E3cd_avg = (E3cd[i] + E3ab[i+1]) * 0.5;
E4cd_avg = (E4cd[i] + E4ab[i+1]) * 0.5;
}
E1bc_avg = (E1bc[i] + E1bc[i+120]) * 0.5;
E2bc_avg = (E2bc[i] + E2bc[i+120]) * 0.5;
E3bc_avg = (E3bc[i] + E3bc[i+120]) * 0.5;
E4bc_avg = (E4bc[i] + E4bc[i+120]) * 0.5;

E1da_avg = (E1da[i] + E1da[i-120]) * 0.5;


E2da_avg = (E2da[i] + E2da[i-120]) * 0.5;
E3da_avg = (E3da[i] + E3da[i-120]) * 0.5;
E4da_avg = (E4da[i] + E4da[i-120]) * 0.5;*/
Q1 = q1[i] - deltat * ( E1ab_avg*deltasab[i] + E1bc_avg*deltasbc[i] + E1cd_avg*deltascd[i]
+ E1da_avg*deltasda[i] ) + viscosity * deltat * 2 * (q1[i+1] - q1[i-1]);
Q2 = q2[i] - deltat * ( E2ab_avg*deltasab[i] + E2bc_avg*deltasbc[i] + E2cd_avg*deltascd[i]
+ E2da_avg*deltasda[i] ) + viscosity * deltat * 2 * (q2[i+1] - q2[i-1]);
Q3 = q3[i] - deltat * ( E3ab_avg*deltasab[i] + E3bc_avg*deltasbc[i] + E3cd_avg*deltascd[i]
+ E3da_avg*deltasda[i] ) + viscosity * deltat * 2 * (q3[i+1] - q3[i-1]);
Q4 = q4[i] - deltat * ( E4ab_avg*deltasab[i] + E4bc_avg*deltasbc[i] + E4cd_avg*deltascd[i]
+ E4da_avg*deltasda[i] ) + viscosity * deltat * 2 * (q4[i+1] - q4[i-1]);
error1 = fabs(Q1 - q1[i]);
error2 = fabs(Q2 - q2[i]);
error3 = fabs(Q3 - q3[i]);
error4 = fabs(Q4 - q4[i]);
if(error3 > error)
error = error3;
q1[i] = relax*Q1;
q2[i] = relax*Q2;
q3[i] = relax*Q3;
q4[i] = relax*Q4;
rho[i] = q1[i];
u[i] = q2[i] / q1[i];
v[i] = q3[i] / q1[i];
p[i] = (gamma - 1) * ( q4[i] - (q2[i]*q2[i] + q3[i]*q3[i])*0.5/q1[i] );
uab = (u[i] + u[i-1]) * 0.5;
vab = (v[i] + v[i-1]) * 0.5;

Vnab = ( uab * deltayab[i] - vab * deltaxab[i] ) / deltasab[i];


Mnab = Vnab / c[i];
ubc = (u[i] + u[i+120]) * 0.5;
vbc = (v[i] + v[i+120]) * 0.5;
Vnbc = (ubc * deltaybc[i] - vbc * deltaxbc[i] ) / deltasbc[i];
Mnbc = Vnbc / c[i];
ucd = (u[i] + u[i+1]) * 0.5;
vcd = (v[i] + v[i+1]) * 0.5;
Vncd = ( ucd * deltaycd[i] - vcd * deltaxcd[i] ) / deltascd[i];
Mncd = Vncd / c[i];
uda = (u[i] + u[i-120]) * 0.5;
vda = (v[i] + v[i-120]) * 0.5;
Vnda = (uda * deltayda[i] - vda * deltaxda[i] ) / deltasda[i];
Mnda = Vnda / c[i];

qab = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnab*Vnab) );


qbc = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnbc*Vnbc) );
qcd = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vncd*Vncd) );
qda = 0.5 * ( (u[i]*u[i]) + (v[i]*v[i]) - (Vnda*Vnda) );
if(i%120 == 0)
{
e1ab[i] = 0; e2ab[i] = 0; e3ab[i] = 0; e4ab[i] = 0;
f1ab[i] = 0; f2ab[i] = 0; f3ab[i] = 0; f4ab[i] = 0;
}
else
{
e1ab[i] = 0.25*rho[i]*c[i]*(Mnab + 1)*(Mnab + 1);
e2ab[i] = e1ab[i] * (u[i] + 0.7142857*nxab[i]*(2*c[i] - Vnab));
e3ab[i] = e1ab[i] * (v[i] + 0.7142857*nyab[i]*(2*c[i] - Vnab));

e4ab[i] = e1ab[i] * (qab + 0.520833333*(0.4*Vnab + 2*c[i])*(0.4*Vnab + 2*c[i]) );


f1ab[i] = - 0.25*rho[i]*c[i]*(Mnab - 1)*(Mnab - 1);
f2ab[i] = f1ab[i] * (u[i] + 0.7142857*nxab[i]*(- 2*c[i] - Vnab));
f3ab[i] = f1ab[i] * (v[i] + 0.7142857*nyab[i]*(- 2*c[i] - Vnab));
f4ab[i] = f1ab[i] * ( qab + 0.520833333*(0.4*Vnab - 2*c[i])*(0.4*Vnab - 2*c[i]) );
}
if(i%120 == 119)
{
e1cd[i] = 0; e2cd[i] = 0; e3cd[i] = 0; e4cd[i] = 0;
f1cd[i] = 0; f2cd[i] = 0; f3cd[i] = 0; f4cd[i] = 0;
}
else
{
e1cd[i] = 0.25*rho[i]*c[i]*(Mncd + 1)*(Mncd + 1);
e2cd[i] = e1cd[i] * (u[i] + 0.7142857*nxcd[i]*(2*c[i] - Vncd));
e3cd[i] = e1cd[i] * (v[i] + 0.7142857*nycd[i]*(2*c[i] - Vncd));
e4cd[i] = e1cd[i] * ( qcd + 0.520833333*(0.4*Vncd + 2*c[i])*(0.4*Vncd + 2*c[i]) );
f1cd[i] = - 0.25*rho[i]*c[i]*(Mncd - 1)*(Mncd - 1);
f2cd[i] = f1cd[i] * (u[i] + 0.7142857*nxcd[i]*(- 2*c[i] - Vncd));
f3cd[i] = f1cd[i] * (v[i] + 0.7142857*nycd[i]*(- 2*c[i] - Vncd));
f4cd[i] = f1cd[i] * ( qcd + 0.520833333*(0.4*Vncd - 2*c[i])*(0.4*Vncd - 2*c[i]) );
}
e1bc[i] = 0.25*rho[i]*c[i]*(Mnbc + 1)*(Mnbc + 1);
e2bc[i] = e1bc[i] * (u[i] + 0.7142857*nxbc[i]*(2*c[i] - Vnbc));
e3bc[i] = e1bc[i] * (v[i] + 0.7142857*nybc[i]*(2*c[i] - Vnbc));
e4bc[i] = e1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc + 2*c[i])*(0.4*Vnbc + 2*c[i]) );

e1da[i] = 0.25*rho[i]*c[i]*(Mnda + 1)*(Mnda + 1);


e2da[i] = e1da[i] * (u[i] + 0.7142857*nxda[i]*(2*c[i] - Vnda));
e3da[i] = e1da[i] * (v[i] + 0.7142857*nyda[i]*(2*c[i] - Vnda));
e4da[i] = e1da[i] * ( qda + 0.520833333*(0.4*Vnda + 2*c[i])*(0.4*Vnda + 2*c[i]) );
f1bc[i] = - 0.25*rho[i]*c[i]*(Mnbc - 1)*(Mnbc - 1);
f2bc[i] = f1bc[i] * (u[i] + 0.7142857*nxbc[i]*(- 2*c[i] - Vnbc));
f3bc[i] = f1bc[i] * (v[i] + 0.7142857*nybc[i]*(- 2*c[i] - Vnbc));
f4bc[i] = f1bc[i] * ( qbc + 0.520833333*(0.4*Vnbc - 2*c[i])*(0.4*Vnbc - 2*c[i]) );
f1da[i] = - 0.25*rho[i]*c[i]*(Mnda - 1)*(Mnda - 1);
f2da[i] = f1da[i] * (u[i] + 0.7142857*nxda[i]*(- 2*c[i] - Vnda));
f3da[i] = f1da[i] * (v[i] + 0.7142857*nyda[i]*(- 2*c[i] - Vnda));
f4da[i] = f1da[i] * ( qda + 0.520833333*(0.4*Vnda - 2*c[i])*(0.4*Vnda - 2*c[i]) );
}
//cout << "ONE MORE ITERATION DONE" << "\n";

savefile << iterations << "\t" << error << "\t" << u[8000] << "\n";

}
savefile.close();

void main()
{
nozzle newnozzle;
fflush(stdout);
newnozzle.Grid();
// newnozzle.SaveGrid();

newnozzle.Initialize();
newnozzle.Solve();
}

You might also like