推力室热力计算大作业

  • 格式:pdf
  • 大小:622.20 KB
  • 文档页数:12

火箭发动机原理 2015年推力室热力计算大作业报告

学 号 12151171 学 生 姓 名 段 毓

2015年5月18日 1. 理论方法 首先设定两个假定的燃烧温度T1,T2,用迭代编程方法计算出两种温度下的燃烧室平衡组分,再由平衡组分计算出两个总焓,然后线性插值求出Tf。 根据Tf,计算燃烧室真正的平衡组分、焓值、熵值以及比热比。 根据压强比和燃烧室温度求出出口截面燃烧产物温度Te,并确定相邻两个温度Te1和Te2。 分别求出喷管出口截面在Te1、Te2条件下的平衡组分、焓值、熵值,因为是等熵流动过程,所以用熵的“内插法”计算出真正Te。 由Te求出出口的平衡组分和发动机的理论比冲。

2. 程序设计 #include #include #define NC 11.2738 #define NH 40.8672 #define NO 25.8632 #define NN 5.6773 #define NCl 5.7692 #define NS 2.4177 #define NAl 1.8532 #define p 70 #define Ip0 -2400 #define R0 8.314 int main(void) { //T=2800k int i; double nSO2 = NS,nAl2O3 = NAl/2; /*第一次近似计算*/ double Kp = 7.0080,KpH2O = 0.2233e-1,KpH2Oz = 0.2091e-1,KpH2 = 0.6649e-2,KpHCl = 4.5983e-3,KpNO = 0.8786e-2; double hAl2O3 = -1317.62,hH2O = -127.652,hH2 = 81.5682,hHCl = -8.20359,hO2 = 90.35295,hNO = 178.2121,hCl = 176.07,hCO2 = -252.515,hCO = -24.3009,hN2 = 85.56553,hSO2 = -158.738,hOH = 124.7157,hH = 270.2106; double nH = 0,nCl = 0,nO2 = 0,nOH = 0,nNO = 0; //令浓度较小组分摩尔数为0 double nN2,nHCl,NOz,A,B,nCO2,nCO,nH2O,nH2,ng; for (i=0;i<10;i++) { nN2 = (NN-nNO)/2; nHCl = NCl - nCl; NOz = NO - 2*nSO2 - 3*nAl2O3 - 2*nO2 - nOH - nNO; A = NOz - NC; //NOz为NO'的意思 B = (NH - nHCl - nOH - nH)/2 - A; /*计算nCO2*/ nCO2 = 0.5 * (sqrt((Kp*B+NOz)*(Kp*B+NOz)+4*(Kp - 1)* A * NC) - Kp * B - NOz) /(Kp -1); /*代入(4-57)*/ nCO = NC - nCO2; nH2O = A - nCO2; nH2 = B + nCO2; /*计算ng*/ ng = nCO2 + nH2O + nCO + nH2 + nN2 + nHCl + nSO2 + nO2 + nOH + nNO + nH + nCl; /*第二次近似计算*/ nO2 = (nH2O/nH2) * (nH2O/nH2) * KpH2O * KpH2O * pow(p/ng,-1); nOH = nH2O * KpH2Oz * pow(p/ng,-1)/sqrt(nH2); nH = sqrt(nH2*KpH2)*pow(p/ng,-0.5); nCl = nHCl * KpHCl * pow(p/ng,-1)/nH; nNO = sqrt(nN2*nO2*KpNO); } double Ip1 = nAl2O3 * hAl2O3 + nH2O * hH2O + nH2 * hH2 + nHCl * hHCl + nO2 * hO2 + nNO * hNO + nCl * hCl + nCO2 * hCO2 + nCO * hCO + nN2 * hN2 + nSO2 * hSO2 + nOH * hOH + nH * hH; printf("T1=2800K\n"); printf("nAl2O3=%lfmol/Kg,\nnH2O=%lfmol/Kg,\nnH2=%lfmol/Kg,\nnHCl=%lfmol/Kg,\nnO2=%lfmol/Kg,\nnNO=%lfmol/Kg,\nnCl=%lfmol/Kg,\nnCO2=%lfmol/Kg,\nnCO=%lfmol/Kg,\nnN2=%lfmol/Kg,\nnSO2=%lfmol/Kg,\nnOH=%lfmol/Kg,\nnH=%lfmol/Kg.",nAl2O3,nH2O,nH2,nHCl,nO2,nNO,nCl,nCO2,nCO,nN2,nSO2,nOH,nH); printf("\nIp1=%lfkJ/kg\n",Ip1); /*----------------------------------------我是华丽丽的分割线-----------------------------*/ //T=2000k Kp = 4.7410;KpH2O = 0.2892e-3,KpH2Oz = 0.1378e-3,KpH2 = 0.2631e-5,KpHCl = 1.9697e-6,KpNO = 0.3926e-3; hAl2O3 = -1460.81,hH2O = -169.323,hH2 = 53.1347,hHCl = -37.2656,hO2 = 59.38296,hNO = 148.5028,hCl = 159.096,hCO2 = -301.93,hCO = -53.7004,hN2 = 56.33483,hSO2 = -205.823,hOH = 96.07448,hH = 253.5697; nH = 0,nCl = 0,nO2 = 0,nOH = 0,nNO = 0; for (i=0;i<10;i++) { nN2 = (NN-nNO)/2; nHCl = NCl - nCl; NOz = NO - 2*nSO2 - 3*nAl2O3 - 2*nO2 - nOH - nNO; A = NOz - NC; //NOz为NO'的意思 B = (NH - nHCl - nOH - nH)/2 - A; /*计算nCO2*/ nCO2 = 0.5 * (sqrt((Kp*B+NOz)*(Kp*B+NOz)+4*(Kp - 1)* A * NC) - Kp * B - NOz) /(Kp -1); /*代入(4-57)*/ nCO = NC - nCO2; nH2O = A - nCO2; nH2 = B + nCO2; /*计算ng*/ ng = nCO2 + nH2O + nCO + nH2 + nN2 + nHCl + nSO2 + nO2 + nOH + nNO + nH + nCl; /*第二次近似计算*/ nO2 = (nH2O/nH2) * (nH2O/nH2) * KpH2O * KpH2O * pow(p/ng,-1); nOH = nH2O * KpH2Oz * pow(p/ng,-1)/sqrt(nH2); nH = sqrt(nH2*KpH2)*pow(p/ng,-0.5); nCl = nHCl * KpHCl * pow(p/ng,-1)/nH; nNO = sqrt(nN2*nO2*KpNO); } double Ip2 = nAl2O3 * hAl2O3 + nH2O * hH2O + nH2 * hH2 + nHCl * hHCl + nO2 * hO2 + nNO * hNO + nCl * hCl + nCO2 * hCO2 + nCO * hCO + nN2 * hN2 + nSO2 * hSO2 + nOH * hOH + nH * hH; printf("\nT2=2000K"); printf("\nnAl2O3=%lfmol/Kg,\nnH2O=%lfmol/Kg,\nnH2=%lfmol/Kg,\nnHCl=%lfmol/Kg,\nnO2=%lfmol/Kg,\nnNO=%lfmol/Kg,\nnCl=%lfmol/Kg,\nnCO2=%lfmol/Kg,\nnCO=%lfmol/Kg,\nnN2=%lfmol/Kg,\nnSO2=%lfmol/Kg,\nnOH=%lfmol/Kg,\nnH=%lfmol/Kg.",nAl2O3,nH2O,nH2,nHCl,nO2,nNO,nCl,nCO2,nCO,nN2,nSO2,nOH,nH); printf("\nIp2=%lfkJ/kg\n",Ip2); double Tf = (Ip0 - Ip2)*(2800-2000)/(Ip1 - Ip2)+2000; printf ("\n内插法求得燃烧室温度Tf=%lfK",Tf); /*----------------------------------------计算出Tf=2400K-----------------------------*/ //Tf=2400K ^_^ Kp = 6.0390;KpH2O = 0.3634e-2,KpH2Oz = 0.2573e-2,KpH2 = 0.2516e-3,KpHCl = 1.8055e-4,KpNO = 0.2410e-2; hAl2O3 = -1378.49,hH2O = -148.809,hH2 = 67.12096,hHCl = -22.8753,hO2 = 74.68854,hNO = 163.2842,hCl = 167.6069,hCO2 = -277.412,hCO = -39.0831,hN2 = 70.85828,hSO2 = -182.387,hOH = 110.2098,hH = 261.8902; nH = 0,nCl = 0,nO2 = 0,nOH = 0,nNO = 0; for (i=0;i<10;i++)