Академический Документы
Профессиональный Документы
Культура Документы
APPENDIX 1
Gas AL BL CL DL
CO 299180 37.85 -4571.9 -31.1
CO2 56835 66.27 -11634 -200
H 357070 20.79 -7.9 -3.9
H2 326490 40.35 -8085.2 -121
H2O 88923 49.36 -7940.8 -117
N2 31317 37.46 -4559.3 -34.82
O 255120 24.6 -2729.2 13.86
O2 43388 42.27 -6635.4 -55.15
OH 217810 37.36 -5561.4 -44.06
NO 111050 37.81 -2874.8 -15.7
N 326040 17.19 5371.4 64.67
154
Gas AH BH CH DH
CO 309070 39.29 -6201.9 -42.77
CO2 93048 68.58 -16979 -220.4
H 357010 20.79 0 -3.82
H2 461750 46.23 -27649 -176.6
H2 O 154670 60.43 -19212 -204.6
N2 44639 39.32 -6753.4 -50.24
O 298360 23.17 -6910.3 21.81
O2 127010 46.25 -18798 -92.15
OH 298750 42.86 -17695 -92.24
NO 138670 39.92 -7061.8 -33.9
N 486400 26.91 -18159 -20.31
Heat of
CO2 H2O O2 N2
reaction
Urp (kJ/kmole) 9364 57316 17200 15780
APPENDIX 2
DIESEL
Chemical composition
Chemical Formula
ESTERS
RCOOH + R OH RCOOR
R
O R'
2-ETHOXYETHANOL
H2
C O CH3
HO C C
H2 H2
2-ethoxyethanol
Properties
Uses
DIETHYL CARBONATE
O CH3
H2
C CH2
H3C O O
DIETHYL CARBONATE
Flash point : 33 C
Uses
ETHERS
O
C C
EPOXIDES: These are cyclic ethers. The first member of this class
is oxirane also called ethylene oxide.
163
DIETHYL ETHER
H2 H2
C C
H3C O CH3
APPENDIX 3
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define pi 3.1415926
long double AL[]={299180,56835,88923,31317,43388};
long double BL[]={37.85,66.27,49.36,37.46,42.27};
long double CL[]={-4571.9,-11634,-7940.8,-4559.3,-6635.4};
long double AH[]={309070,93048,154670,44639,127010};
long double BH[]={39.29,68.58,60.43,39.32,46.25};
long double CH[]={-6201.9,-16979,-19212,-6753.4,-18798};
int RPM = 1500;
long double Hrp = -6261300; heating value of diesel at constant pressure in
kJ/kmol*/
float MOLWP[]={28,44,18,28,32};
float R = 8.314; /* gas constant in KJ/Kmole K */
float Rlit = 0.082060; /* gas constant in litre-atmosphere/Kmole K */
float IVO = 535.5; float IVC = 35.5;
float EVO = 324.5 ; float EVC = 544.5; /* Valve Timing in degree crank angle*/
float calVOL(int i,int j);
float calN(int i);
float calCP(float T);
float calHP(float T);
float calHT(float G[],int o);
float calTRR(int i,float T,float G[]);
void main()
{
clrscr();
int i,j,I,I1,I2,ID,IMX,IBC,ICE,ICB,ICAMAX,JCAMAX;
169
float b,s,l;
float r,vtotal,vdisp,vtdc,vbdc,vcv,v[800];
float DT,Nx,k,CM,NP,NMO,NM,NA,SUM,PMOLWT,RMOLWT,RMIX;
float pa,p1,p2,p3,p3D,p4,ta,t1,t2,t3,t4,v1,v2,v3,v4;
float Mc,Mh,Mo,y,ycc,ymin,AFR;
float PMAX,PMX,PRMAX,T,Tnew,Cv,n[50];
float CPR,CPP,CVR,KR,KP,Wcomp,Wcomb,Wexp,Wnet;
float GASMAS,PRESS[1800],TEMP[1800],PRR[1800],DELV[1800],G[1800];
float RK1,RK2,RK3,RK4,DELP[1800],FUN[3000];
float Vdel,TPMAX;
long double Qp;
b =0.102; /* bore */
s =0.118; /* stroke */
l =0.231; /* crank length */
r = 17.5; /* compresssion ratio */
pa = 1; /* ambient pressure */
ta = 303; /* ambient air temperature */
vdisp = pi*b*b*s/4;
vbdc = vdisp*r/(r-1);
vtdc = vbdc - vdisp;
printf("Displacement Volume = %f",vdisp);
printf("\n");
printf("Volume at BDC = %f",vbdc);
printf("\n");
printf("Volume at TDC = %f",vtdc);
printf("\n\n\n");
p1 = pa;
t1 = ta;
Nx = 0; /* residual exhaust from previous cycle */
k = 1.4; /* polytropic index */
/* fuel used is diesel .......... C10H22 */
Mc = 10; /* number of moles of carbon */
Mh = 22; /* number of moles of hydrogen */
Mo = 0; /* number of moles of oxygen */
ycc = Mc + 0.25*Mh - 0.5*Mo; /* chemically correct amount of oxygen */
170
NMO = 1 + 4.76*y;
NA = p1*calVOL(0,1)*1000/(Rlit*t1);
NM = NA + NA/AFR;
SUM = 0;
for(i=0;i<=4;i++)
SUM = SUM + calN(i)*MOLWP[i];
PMOLWT = SUM/calN(5);
RMOLWT = (NA*28.96 + Nx*PMOLWT)/(NA + Nx);
RMIX = R/PMOLWT;
CPR = 27.5 + 0.0057*t1;
CPR = (CPR*NA + Nx*calCP(t1))/(NA + Nx);
KR = CPR/(CPR - R);
CM = NM/NMO + Nx/calN(5);
NP = calN(5)*CM;
Qp = -Hrp - calN(0)*282800;
T = 1500; /* Assumed value for combustion temperature */
iter:
Tnew = T - (calHP(T) - calHP(t2) - Qp)/calCP(T);
if(Tnew-T>0.1)
{
172
T = Tnew;
goto iter;
}
t3 = Tnew;
p3D = p2*(t3/t2)*NP/(NA + Nx);
p3 = p2;
CPP = calCP(t2);
KP = calCP(t2)/(calCP(t2)-R);
printf("Temperature at the end of combustion = %f\n",Tnew);
printf("P1 = %f\t T1 = %f\n",p1,t1);
printf("P2 = %f\t T2 = %f\n",p2,t2);
printf("P3 = %f\t T3 = %f\n",p3,t3);
printf("Pressure when combustion at constant volume = %f\n",p3D);
getch();
SUM = 0;
ID = 0;
I = 1;
j = IBC;
iter20:
FUN[I] = 1/(0.00044*pow(PRESS[j],-1.19)*exp(4650/TEMP[j])*6*RPM);
DELV[j] = calVOL(j+1,1)*1e6 - calVOL(j,1)*1e6;
G[1] = PRESS[j];
G[2] = DT;
G[3] = GASMAS;
G[4] = t1*pow((calVOL(180,1)/calVOL(j,1)),(KR-1));
G[5] = DELV[j]/G[2];
PRESS[j+1] = PRESS[j]*pow((calVOL(j,1)/calVOL(j+1,1)),KR);
PRESS[j+1] = PRESS[j+1] + calHT(G,1);
TEMP[j+1] = t1*pow((calVOL(0,1)/calVOL(j+1,1)),(KR-1));
FUN[I+1] = 1/(0.00044*pow(PRESS[j+1],-1.19)*exp(4650/TEMP[j+1])*6*RPM);
SUM = SUM + (FUN[I] + FUN[I+1])/2;
if(SUM>1)
173
goto iter10;
I = I+1;
j = j+1;
goto iter20;
iter10:
ID = j - IBC;
ICB = IBC + ID;
printf("Delay Period = %d\t ICB = %d\n",ID,ICB);
for(j=IBC;j<=ICB;j++)
{
DELV[j] = calVOL(j+1,1)*1e6 - calVOL(j,1)*1e6;
G[1] = PRESS[j];
G[2] = DT;
G[3] = GASMAS;
G[4] = t1*pow((calVOL(0,1)/calVOL(j,1)),(KR-1));
G[5] = DELV[j]/G[2];
PRESS[j+1] = PRESS[j]*pow((calVOL(j,1)/calVOL(j+1,1)),KR);
PRESS[j+1] = PRESS[j+1] + calHT(G,1);
PRR[j] = PRESS[j+1] - PRESS[j];
TEMP[j+1] = t1*pow((calVOL(0,1)/calVOL(j+1,1)),(KR-1));
}
for(i=IBC+1;i<=ICB;i++ )
{
fprintf(press,"%d \t\t%f \t\t %f",i,PRESS[i],TEMP[i]);
fprintf(press,"\n");
}
CVR = CPR - R;
T = TEMP[j];
Wcomp = (NA + Nx)*CVR*(TEMP[ICB] - t1);
ICE = ICB + 50; /* 50 is the combustion duration */
Wcomb = 0;
j = ICB;
TEMP[j] = TEMP[ICB];
iter40:
G[1] = PRESS[j];
174
G[2] = DT;
G[3] = GASMAS;
G[4] = TEMP[j];
G[5] = (calVOL(j+1,1)*1e6 - calVOL(j,1)*1e6)/G[2];
T = TEMP[j];
I2 = 2;
I1 = I2/2;
iter55:
RK1 = I2*calTRR(j,T,G);
RK2 = I2*calTRR((j+I1),(T+0.5*RK1),G);
RK3 = I2*calTRR((j+I1),(T+0.5*RK2),G);
RK4 = I2*calTRR((j+I2),(T+RK3),G);
/* printf("RK1 = %f\t RK2 = %f\t RK3 = %f\t RK4 = %f\n",RK1,RK2,RK3,RK4);*/
j = j+1;
TEMP[j] = T + (RK1 + (RK2 + RK3)*2 + RK4)/6;
PRESS[j] = TEMP[j]*(RMIX*GASMAS*1000)/(calVOL(j,1)*101325);
DELP[j] = PRESS[j-1] - PRESS[j];
PMX = 0.6*p3D;
PRR[j] = fabs(DELP[j])/I2;
PRMAX = 10.00;
if(PRR[j]>PRMAX)
goto iter60;
if(PRESS[j]>PMX)
goto iter60;
Vdel = calVOL(j+1,1)*1e6 - calVOL(j,1)*1e6;
Wcomb = Wcomb + (PRESS[j] + 0.5*DELP[j])*fabs(Vdel)*1e-6*101325;
if(j>ICE)
goto iter50;
goto iter40;
iter60:
j = j - 1;
IMX = j;
T = TEMP[j];
goto iter55;
iter50:
175
if(j>ICE)
ICE = j - 1;
else
ICE = j;
PMAX = PRESS[ICB];
for(i=ICB;i<=ICE;i++)
{
if((PMAX-PRESS[i])<0)
{
PMAX = PRESS[i];
ICAMAX = i;
}
}
TPMAX = TEMP[ICB];
for(i=ICB;i<=ICE;i++)
{
if((TPMAX-TEMP[i])<0)
{
TPMAX = TEMP[i];
JCAMAX = i;
}
}
printf("Maximum Pressure = %f at crank angle = %d\n",PMAX,ICAMAX);
printf("Maximum Temperature = %f at crank angle =%d\n ",TPMAX,JCAMAX);
int IEC;
float TEAC,UPteac,UPt4;
printf("ICE = %d\n",ICE);
IEC = ICE;
TEAC = PRESS[IEC]*calVOL(IEC,1)*1000/(Rlit*NP);
KP = calCP(TEAC)/(calCP(TEAC) - R);
t4 = TEAC*pow((calVOL(IEC,1)/calVOL(EVO,1)),(KP-1));
176
/*........................................................................................... */
/*SUBROTINE FOR CALCULATION NUMBER OF MOELS OF EACH
ELEMENT IN PRODUCT*/
/*........................................................................................... */
float calN(int i)
{
float Mc,Mh,Mo,y,ycc,ymin,n[10],NPO;
Mc = 10;
Mh = 22;
Mo = 0;
ycc = Mc + 0.25*Mh - 0.5*Mo;
ymin = ycc - 0.5*Mc;
y = ycc*1.5;
if(y>ycc)
{
n[0] = 0;
n[1] = Mc;
n[2] = 0.5*Mh;
n[3] = 3.76*y;
n[4] = y - ycc;
n[5] = n[0]+n[1]+n[2]+n[3]+n[4];
}
else
{
n[0] = 2*(ycc-y);
n[1] = 2*(y-ymin);
n[2] = 0.5*Mh;
n[3] = 3.76*y;
n[4] = 0;
n[5] = n[0]+n[1]+n[2]+n[3]+n[4];
}
return(n[i]);
}
178
/*........................................................................................... */
/* SUBROTINE FOR THE CALCULATION OF CP */
/*........................................................................................... */
float calCP(float T)
{
int i;
float cp,CT[50],CPT;
CT[-1] = 0.0;
if(T>1600)
{
for(i=0;i<=4;i++)
{
cp = calN(i)*(BH[i] + CH[i]/T);
CT[i] = CT[i-1] + cp;
CPT = CT[i];
}
}
else
{
for(i=0;i<=4;i++)
{
cp = calN(i)*(BL[i] + CL[i]/T);
CT[i] = CT[i-1] + cp;
CPT = CT[i];
}
}
return(CPT);
}
/*........................................................................................... */
/* SUBROTINE FOR THE CALCULATION OF HP */
/*........................................................................................... */
float calHP(float T)
179
{
int i;
float ht,HT[50],HPT;
if(T>=1600)
{
for(i=0;i<=4;i++)
{
ht = calN(i)*(AH[i] + BH[i]*T + CH[i]*log(T));
HT[i] = HT[i-1] + ht;
HPT = HT[i];
}
}
else
{
for(i=0;i<=4;i++)
{
ht = calN(i)*(AL[i] + BL[i]*T + CL[i]*log(T));
HT[i] = HT[i-1] + ht;
HPT = HT[i];
}
}
return(HPT);
}
/*........................................................................................... */
/* SUBROTINE FOR CALCULATION VOLUME AT ANY CRANK ANGLE */
/*........................................................................................... */
float calVOL(int i,int j)
{
float b,s,l;
float r,vdisp,v[800],vd[800];
b = 0.102; /* bore */
s = 0.118; /* stroke */
l = 0.231; /* crank length */
r = 17.5; /* compression ratio */
vdisp = pi*b*b*s/4;
180
v[i] = 0;
vd[i] = 0;
v[i] = vdisp*((r/(r-1))- ((1-cos(i*pi/180))/2) + (l/s) - (sqrt((pow((2*l/s),2))- (pow(sin
(i*pi/180),2))))/2);
vd[i] = (vdisp/2) * ((0.5*sin(2*i*pi/180)/(sqrt((pow((2*l/s),2))- (pow(sin
(i*pi/180),2))))) - sin(i*pi/180));
if(j==1)
return(v[i]);
if(j==2)
return(vd[i]);
/*........................................................................................... ..*/
/*SUBROTINE FOR CALCULATION HEAT TRANSFER*/
/*..................................................................................................................... */
float calHT(float G[],int o)
{
float i,j,b,s,r,G1,G2,G3,G4,G5;
float CV,Tw,Patm,SAREA,VEL,T,dP,PMOLWT;
double HC;
b = 0.102;
s = 0.118;
r = 17.5;
j = 0;
for(i=0;i<=4;i++)
j = j + calN(i)*MOLWP[i];
PMOLWT = j/calN(5);
G1 = G[1];
G2 = G[2];
G3 = G[3];
G4 = G[4];
G5 = fabs(G[5])*1e-6;
CV = calCP(G4) - R;
Tw = 376;
T = G4;
Patm = G1;
SAREA = pi*b*s*r/(r-1);
181
VEL = G5/SAREA;
HC = 0.13*pow(b,0.2)*pow((Patm*VEL),0.8)/pow(T,0.5);
dP = G1*HC*SAREA*(Tw-T)*G2*PMOLWT/(G3*CV*T);
if(o==1)
return(fabs(dP));
if(o==2)
return(HC);
}
/*........................................................................................... */
/* SUBROTINE FOR CALCULATION HEAT RELEASE RATE */
/*........................................................................................... */
float calTRR(int j,float T,float G[])
{
int ICB,l,i;
float CVT,FKM,FKG,HR,p1,t1,M;
float RMIX,NA,y,WT,C1,Yx;
float HC,b,s,r,Patm,VEL,GASMAS;
float HTR,SAREA,Tw,DT,VDEL,WTR,TRR,PMOLWT,HV,PRESS[1800];
float COMDUR = 50;
WT = 142; /* Molecuate weight of C10H22 */
p1 = 1.0;
t1 = 303.0;
y = 23.25;
ICB = 171;
Yx = (j - ICB)/COMDUR;
NA = (p1*calVOL(0,1)*1000)/(Rlit*t1);
CVT = calCP(T) - R;
FKM = NA/(4.76*y);
FKG = 0.9*FKM*WT;
HV = -Hrp/WT;
C1 = FKG*HV*1e-3/COMDUR;
M = 0.25;
GASMAS = G[3];
182
HR =
6.908*(M+1)*pow(C1,M)*pow(fabs(Yx),M)*exp(6.908*pow(fabs(Yx),(M+1)))
;
i = 0;
for(l=0;l<=4;l++)
i = i + calN(l)*MOLWP[l];
PMOLWT = i/calN(5);
RMIX = R/PMOLWT;
b = 0.102;
s = 0.118;
r = 17.5;
SAREA = pi*b*s*r/(r-1);
DT = 0.0001;
Tw = 376;
HC = calHT(G,2);
HTR = fabs(HC)*SAREA*(T - Tw)*DT;
VDEL = calVOL(j+1,1) - calVOL(j,1);
WTR = (GASMAS*RMIX*T)*fabs(VDEL)/(calVOL(j,1));
TRR = (HR+HTR-WTR)*PMOLWT/(GASMAS*CVT);
return(TRR);
}
183
APPENDIX 4
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define pi 3.14
main()
{
int i;
float b,l,s,vdisp,Mm,Re,a,Tw,hc,j;
float v[720],r,Tg[720],qht[720]qcht[720],qc[720], q[720];
b=0.102;
s=0.116;
l=0.2311;
r=17.5;
Mm=0.000225;Re=0.04132;
hc=385.37;
a=pi*b*l;
vdisp=pi/4 * pow(b,2)*s;
for(i=0;i<=360;i=i+5)
{
j=(pi/180)*i;
v[i]=vdisp*((r/r-1)-((1-cos(j))/2))+(l/s)-0.5*(sqrt((pow(2*l/s,2)-(pow(sin(j),2)))));
}
184
for(i=140;i<=360;i=i+5)
{
FILE *2eeft=fopen("2eeft.txt","w");
if(2eeft)
{
for(i=140;i<=360;i=i+5)
{
Tg[i]=(p[i]*100*v[i])/Mm*Re;
fprintf(2eeft,"%f\n",Tg[i]);
}
fclose(2eeft);
}
}
Tw=(376+373)/2;
printf("Tw=%f\n",Tw);
for(i=0;i<=360;i=i+5)
{
FILE *2eefq=fopen("2eefq.txt","w");
if(2eefq)
{
for(i=0;i<=360;i=i+5)
{
qht[i]=hc*a*(Tg[i]-Tw)/1000;
fprintf(2eefq,"qht[%d]=%f\n",i,qht[i]);
}
fclose(2eefq);
}
}
q[0]=0;
printf("q[0]=%f",q[0]);
for(i=0;i<=360;i=i+5)
{
185
FILE *2eefqt=fopen("2eefqt.txt","w");
if(2eefqt)
{
for(i=5;i<=360;i=i+5)
{
q[i]=q[i-5]+qht[i];
fprintf(2eefqt,"q[%d]=%f\n",i,q[i]);
}
fclose(2eefqt);
}
}
for(i=0;i<=360;i=i+5)
{
FILE *2eefqc1=fopen("2eefqc1.txt","w");
if(2eefqc1)
{
for(i=140;i<=360;i=i+5)
{
qcht[i]=qht[i]+qch[i];
fprintf(2eefqc1,"qcht[%d]=%f\n",i,qcht[i]);
}
fclose(2eefqc1);
}
}
for(i=0;i<=360;i=i+5)
{
FILE *2eefqct1=fopen("2eefqct1.txt","w");
if(2eefqct1)
{
for(i=140;i<=360;i=i+5)
{
qc[i]=q[i]+qt[i];
186
fprintf(2eefqct1,"qc[%d]=%f\n",i,qc[i]);
}
fclose(2eefqct1);
}
}
getch();
clrscr();
}
APPENDIX 5
(Extracted from MIRA Report No. 1965 / 10, Nuneaton 1965, AG Dodd and Z
Holubecki)
191
APPENDIX 6
5 Page 69: As shown from Figure 5.6, Fig. 5.6 compares the simulated
the premixed combustion value of pressure for Diesel and
advancement in using diesel blends. Title of figure corrected.
oxygenate blends is not significant Page: 73
Page 128 and 129: Again, I do not Conclusions modified. Page: 147
recall any investigation made in the Other properties of the blending
present study to examine the compounds like cetane number
influences of Solubility, and sulphur content also have a
stability, flash point, lubricity say in smoke reduction.
and biodegradability on smoke
reduction, and the vibration and
noise reduction abilities of the
diesel oxygenate blends. It is not
acceptable to have empty statements
in the concluding section.
Chapter Corrections
No. Indian Examiner remarks carried out
- P.164: References: There are several Mistakes in references
mistakes in references. Please pickup corrected Page: 198
any journals Author Guidelines and
do the referencing carefully
according to it following a uniform
style and provide complete
referencing information.