北京化工大学2004一一2005学年第一学期 《计算化学》期末考试试卷标准答案 A 1. 计算原理(化学原理和计算方法)(20分) 若反映反应系统组成的某物理量L满足以下条件:1,具的加和性:2.与浓度成线性关系。 则对于不可逆反应,系统组分A的浓度与物理量L满足下列关系式: L-Lo CA =CAO (1) L-L 式中:Lo,L,L-分别表示0,,∞时刻反应系统该物理量L的值,c0,cA分别表示0,t 时刻反应组分A的浓度值。 (5分) 知不同反应时间样品吸光度IA的实验数据,可以得到反应物浓度c随时间1的变化 数据。 化学反应速率方程: v=-dc=-ke" (2) dt (2)式中,y为化学反应速率,c为反应物浓度,1为时间,n为反应级数, k为反应速率常数,dcd为反应物浓度随时间的变化率。 (5分) 两边取对数:nv=ln-dS)=lnk+nlnc dt 令y=lny,x=lnc,a=lnk,b=n,得y=a+bx (5分) 将计算所得不同时间1的反应物浓度c数据通过插值和差分法求出反应速率y,计算y 和c后,用线性回归子程序计算反应级数n和反应速率常数k。 (5分) 2. 程序框图(30分) 开始 输入.粉报占粉N 反应温度TO, 时间间隔H 时间t与吸光度A的实验数据T),A+1) (3分) CI=C0*(A1-A1(9)MA1(1A1(9)(1=2,N)(4分)
1 北京化工大学 2004——2005 学年第一学期 《计算化学》期末考试试卷标准答案 A 1. 计算原理(化学原理和计算方法)(20 分) 若反映反应系统组成的某物理量 L 满足以下条件:1.具的加和性;2.与浓度成线性关系。 则对于不可逆反应,系统组分 A 的浓度与物理量 L 满足下列关系式: ∞ ∞ − − = L L L L c c t 0 A A0 (1) 式中:L0, Lt, L∞ 分别表示 0,t, ∞时刻反应系统该物理量 L 的值,cA0, cA 分别表示 0,t 时刻反应组分 A 的浓度值。 (5 分) 已知不同反应时间样品吸光度 IA的实验数据,可以得到反应物浓度 cA随时间 t 的变化 数据。 化学反应速率方程: n kc t c = − = d d ν (2) (2)式中,ν 为化学反应速率,c 为反应物浓度,t 为时间, n 为反应级数, k 为反应速率常数,dc/dt 为反应物浓度随时间的变化率。 (5 分) 两边取对数: k n c t c ) ln ln d d lnν = ln(− = + 令 y = lnν , x = ln c, a = ln k,b = n,得y = a + bx (5 分) 将计算所得不同时间t的反应物浓度c数据通过插值和差分法求出反应速率ν 。计算lnν 和 lnc 后,用线性回归子程序计算反应级数 n 和反应速率常数 k。 (5 分) 2. 程序框图(30 分) 开始 输入:数据点数 N, 反应温度 TO, 时间间隔 H 时间 t 与吸光度 A 的实验数据 T(I), A (I+1) (I(3 分) C(I)=C0*(A1(I)-A1(9))/(A1(1)-A1(9)) (I=2,N) (4 分)
X①=T),YI=C①=1,N)(5分) 调用中心差分子程序计算反应速率R(w(dcd)(5分) X①=HIn[T(D)],Y=ln-R①]I=1,N)(5分) 调用一元线性回归子程序计算A,B (反应级数S=B,速率常数KS=EXP(A)(5分)N) 输出:A,B,SKS (3分) 结束 3. 源程序(30分) PROGRAM MAIN (15分) OPEN(6.FILE-2005TA.TXTSTATUS-UNKNOWN) H=10F-5 C0=1.87E3 C(I-CO CA1①-A1(9A1IAI(9) 50 CONTINUE .C.V) VOD-LOGCARS( CALLPK(N.C.V.A.B.R) SS=EXP(A) 11 TE(6.1 END SUBROUTINE CFON.HXYZ) (5分) 2
2 3. 源程序(30 分) PROGRAM MAIN (15 分) DIMENSION T(8),C(8),V(8),A1(9) DOUBLE PRECISION T,C,V,C0,H,A1,A,B,R,S,SS OPEN(6,FILE='2005TA.TXT',STATUS='UNKNOWN') N=8 H=1.0E-5 C0=1.87E-3 DATA T/0.0E-3,3.6E-3,7.2E-3,10.8E-3,14.4E-3,18.0E-3,21.6E-3,27.0E-3/ DATA A1/0.007,0.134,0.250,0.343,0.416,0.476,0.529,0.590,0.781/ C(1)=C0 DO 50 I=2,N C(I)=C0*(A1(I)-A1(9))/(A1(1)-A1(9)) 50 CONTINUE CALL CF(N,H,T,C,V) DO 100 I=1,N C(I)=LOG(C(I)) V(I)=LOG(ABS(V(I))) 100 CONTINUE CALL PK(N,C,V,A,B,R) S=B SS=EXP(A) WRITE(6,11)A,B,R,S,SS 11 FORMAT(/5X,'A=',D18.10//5X,'B=',D18.10, 5X,'R=',D18.10// & 5X,'n=',D18.10,5X,'k=',D18.10/) END SUBROUTINE CF(N,H,X,Y,Z) (5 分) 调用中心差分子程序计算反应速率 R(W)(dc/dt) (5 分) X(I)=ln[T(I)],Y(I)=ln[-R(I)] (I=1,N) (5 分) 调用一元线性回归子程序计算 A,B (反应级数 S=B,速率常数 KS=EXP(A)) (5 分)N) 输出: A,B, S,KS (3 分) 结束 X(I)=T(I),Y(I)=C(I) (I=1,N) (5 分)
CALLLGRG2(X.Y.N.T.YA) 02 CALLLGRG2(X.Y.N,T.YA) 71 10 CALLLGRG2(X.Y.N.T.YA) (5分) DIMENSION X(N).Y(N) SV-00 SXX=0.0 D010=1,N SX-SXX1 10 DXX=S XX-SXSX/ Y-SYN B-DXY/DXX R-DXY/SORT(DXX*DYY) (5分) DOUBLE PRECISION X.Y.TZS N END IE IF(N.EQ
3 DIMENSION X(N),Y(N),Z(N) DOUBLE PRECISION X,Y,Z,H,T,YA,YB T=X(1)+H CALL LGRG2(X,Y,N,T,YA) T=X(1)+2*H CALL LGRG2(X,Y,N,T,YB) Z(1)=(4*YA-3*Y(1)-YB)/(2*H) DO 10 I=2,N-1 T=X(I)-H CALL LGRG2(X,Y,N,T,YA) T=X(I)+H CALL LGRG2(X,Y,N,T,YB) Z(I)=(YB-YA)/(2*H) 10 CONTINUE T=X(N)-H CALL LGRG2(X,Y,N,T,YA) T=X(N)-2*H CALL LGRG2(X,Y,N,T,YB) Z(N)=(3*Y(N)-4*YA+YB)/(2*H) RETURN END SUBROUTINE PK(N,X,Y,A,B,R) (5 分) DOUBLE PRECISION X,Y,A,B,R DIMENSION X(N),Y(N) SX=0.0 SY=0.0 SXX=0.0 SYY=0.0 SXY=0.0 DO 10 I=1,N X1=X(I) Y1=Y(I) SX=SX+X1 SY=SY+Y1 SXX=SXX+X1*X1 SYY=SYY+Y1*Y1 SXY=SXY+X1*Y1 10 CONTINUE DXX=SXX-SX*SX/N DYY=SYY-SY*SY/N DXY=SXY-SX*SY/N B=DXY/DXX A=(SY-B*SX)/N R=DXY/SQRT(DXX*DYY) RETURN END SUBROUTINE LGRG2(X,Y,N,T,Z) (5 分) DIMENSION X(N),Y(N) DOUBLE PRECISION X,Y,T,Z,S Z=0.0 IF(N.LE.0)RETURN IF(N.EQ.1)THEN Z=Y(1) RETURN END IF IF(N.EQ.2)THEN Z=(Y(1)*(T-X(2))-Y(2)*(T-X(1)))/(X(1)-X(2)) RETURN
END IF E.X(2))THEN (TGE X(N-DITHEN K= 10 IF(IABS(K-M).NE.1)THEN =K+M/2 IF(T.LT.X(L)YTHEN ELSE ENDIE G0T010 S(T-X(K)).LT.ABS(T-X(M)))THEN M-M+l DO 30 I=K.M DO20J=K.M (-xop END IE 20 30 CONTINUE 运行结果。(20分 .3967358970D+01 (5分) B= .1004389774D+01 R= 9952499181D+00 (5分) n= .1004389774D+01 k= .5284478172D+02 (10分) B 1.计算原理(化学原理和计算方法)(20分) 某气体混合物在常压或低压下其粘度n与各组分的物质的量分数x1,2,x,x之间存 在如下线性关系: (1) (10分) 由于各组分摩尔分数之和等于1,故第4种气体的摩尔分数可表示为 x=1-(1十2十x)
4 END IF IF(T.LE.X(2))THEN K=1 M=3 ELSE IF(T.GE.X(N-1))THEN K=N-2 M=N ELSE K=1 M=N 10 IF(IABS(K-M).NE.1)THEN L=(K+M)/2 IF(T.LT.X(L))THEN M=L ELSE K=L ENDIF GOTO 10 END IF IF(ABS(T-X(K)).LT.ABS(T-X(M))) THEN K=K-1 ELSE M=M+1 END IF END IF Z=0.0 DO 30 I=K,M S=1.0 DO 20 J=K,M IF(J.NE.I)THEN S=S*(T-X(J))/(X(I)-X(J)) END IF 20 CONTINUE Z=Z+S*Y(I) 30 CONTINUE RETURN END 4. 运行结果。(20 分) A= .3967358970D+01 (5 分) B= .1004389774D+01 R= .9952499181D+00 (5 分) n= .1004389774D+01 k= .5284478172D+02 (10 分) B 1.计算原理(化学原理和计算方法)(20 分) 某气体混合物在常压或低压下其粘度η与各组分的物质的量分数 x1,x2,x3,x4之间存 在如下线性关系: 0 1 1 2 2 3 3 4 4 η = b + b x + b x + b x + b x (1) (10 分) 由于各组分摩尔分数之和等于 l,故第 4 种气体的摩尔分数可表示为 x4=l-( x1十 x2十 x3)
即它可以看成非独立变量,不必列入回归方程。 (5分) 回归方程可写为:7=b+x+bx3+bx (2) 将表中所列实验数据代入多元线性回归子程序(其中调用高斯消去法子程序解正规方 程组),通过计算确定方程中的各个系数和复相关系数。 (5分) 2.程序框图(30分) 开始 输入:数据点数N,三种气体的物质的量分数x,2, 粘度7的数值(8分) 调用多元线性回归子程序计算回归方程的系数b0.b1,b2.b3及复相关系数R (其中调用高斯消去法子程序解正规方程组)(15分)N) 输出:b0,b1,b2,b3及R(7分) 结束 3.源程序(30分) (15分) COMMO A10.1i),X50,10us=oL OPEN(6.FILE-2005TB2.TXT.STATUS-UNKNOWN) 的mt 2义可 Y.7X.Yealc.7X:DIFF/IX.66(H-) D030=1,M 30 YCALC+A(J.MI)X(IJ) 40 DIFF WEHEGO XLJU-LMI.YCALC.DIFF
5 即它可以看成非独立变量,不必列入回归方程。 (5 分) 回归方程可写为: 0 11 2 2 33 η = b bx bx bx ++ + (2) 将表中所列实验数据代入多元线性回归子程序(其中调用高斯消去法子程序解正规方 程组),通过计算确定方程中的各个系数和复相关系数。 (5 分) 2.程序框图(30 分) 3.源程序(30 分) program main (15 分) DOUBLE PRECISION XV,S,A,X,B0,QT,U,QE,SE,R,F dimension XV(11),S(11) COMMON /AX/A(10,11),X(50,10) OPEN(5,FILE='2005TB1.TXT',STATUS='OLD') OPEN(6,FILE='2005TB2.TXT',STATUS='UNKNOWN') READ(5,*) M,N M1=M+1 READ(5,*) ((X(I,J),J=1,M1),I=1,N) CALL MLR(M,N,XV,S,B0,QT,U,QE,SE,R,F) WRITE(6,20) M,N 20 FORMAT(/4X,'INPUT DATA:','Xn1,'1X,'Xn2,....',1X,'Xnm,Yn(m=1,' & ,i2,',n=1,',i2,')' / 7X,'X1',1X,'X2',1X,'X3',1X,'Y=η'& /1X,66(1H-)/6X,'X1',8X,'X2',8X,'X3',8X, & 'Y',7X,'Ycalc',7X,'DIFF'/1X,66(1H-)) DO 40 I=1,N YCALC=B0 DO 30 J=1,M 30 YCALC=YCALC+A(J,M1)*X(I,J) DIFF=YCALC-X(I,M1) 40 WRITE(6,50) (X(I,J),J=1,M1),YCALC,DIFF 开始 输入:数据点数 N, 三种气体的物质的量分数 x1,x2,x3 粘度η的数值(8 分) 调用多元线性回归子程序计算回归方程的系数 b0,b1,b2,b3 及复相关系数 R (其中调用高斯消去法子程序解正规方程组) (15 分)N) 输出:b0,b1,b2,b3 及 R (7 分) 结束
分 60 70 WRITE(6,80) 80 FORMAT(IX.'n-G10.4G10.4.*X+ 100 ,G18.6/5XU G18.6 END (8分 COMMONAX/ACO.(50.10) 050 D010K=1,N 8 /(DBLE(N) D040I=1,M1 DO30 K=IN St-DsoRTSmV2 D0501白,M K-IN 50 ALIOQ=ALIO(D+(X(K.D-XV(D)*(X(K.MI)-XV(MI)) D060P060; ,M 60 X(K.I- (X(K.D-XV(S(D) I-IM DO70K-IN 70 A(IJ)=A(IJ)+X(K.I*X(K.J) DO 80 I M-I D08 S 11 ormal equation A(m,m+1y.2x,'m=,i2/1x,60(1H-)) D090=1,M 90 CALL G J=1.MI) WRITE(6,22) B006,33)(A,MI),e1.M0 U=0.D0 OMD-ACMI"SCMISO) 100 BOU-U-ACMIALIOXD)
6 50 FORMAT(3X,10G10.4) WRITE(6,60) (XV(I),I=1,M1) 60 FORMAT(/1X,'Xv',10G10.4) WRITE(6,70) (S(I),I=1,M1) 70 FORMAT(/1X,'Sv',10G10.4) WRITE(6,80) 80 FORMAT(/5X,'Regression equation is:',/1x,60(1H-)) WRITE(6,90) B0,(A(I,M1),I=1,M) 90 FORMAT(1X,'η=',G10.4,'+',G10.4,'*X1','+', & G10.4,'*X2','+',G10.4,'*X3') WRITE(6,100) QT,U,QE,SE,U/QT,R,F 100 FORMAT(/5X,'Qt=',G18.6,/5X,'U=',G18.6,/5X,'Qe=',G18.6,/5X, & 'Se=',G18.6,/5X,'N=',G18.6,/5X,'R=',G18.6,/5X,'F=', & G18.6) END SUBROUTINE MLR(M,N,XV,S,B0,QT,U,QE,SE,R,F) (8 分) DOUBLE PRECISION XV,S,A,X,B0,QT,U,QE,SE,R,F DIMENSION XV(M+1),S(M+1),ALI0(50) COMMON /AX/A(10,11),X(50,10) M1=M+1 DO 20 I=1,M1 XV(I)=0.D0 DO 10 K=1,N 10 XV(I)=XV(I)+X(K,I) 20 XV(I)=XV(I)/DBLE(N) DO 40 I=1,M1 S(I)=0 DO 30 K=1,N 30 S(I)=S(I)+(X(K,I)-XV(I))**2 40 S(I)=DSQRT(S(I)) DO 50 I=1,M ALI0(I)=0 DO 50 K=1,N 50 ALI0(I)=ALI0(I)+(X(K,I)-XV(I))*(X(K,M1)-XV(M1)) DO 60 I=1,M1 DO 60 K=1,N 60 X(K,I)=(X(K,I)-XV(I))/S(I) DO 70 I=1,M A(I,I)=1.0 DO 70 J=I+1,M1 A(I,J)=0 DO 70 K=1,N 70 A(I,J)=A(I,J)+X(K,I)*X(K,J) DO 80 I=1,M-1 DO 80 J=I+1,M 80 A(J,I)=A(I,J) WRITE(6,11) M 11 FORMAT(4X,'Normal equation A(m,m+1)',2x,'m=',i2/1x,60(1H-)) DO 90 I=1,M 90 WRITE(6,33) (A(I,J),J=1,M1) CALL GS(A,M,M1,1.D-06) WRITE(6,22) WRITE(6,33) (A(I,M1),I=1,M) B0=0.D0 U=0.D0 DO 100 I=1,M A(I,M1)=A(I,M1)*S(M1)/S(I) B0=B0+A(I,M1)*XV(I) 100 U=U+A(I,M1)*ALI0(I)
BO=XV(MIBO QT=S(MI)S(MI) SE=DSORT(QE/(N-M-D)) R=DSQRT(1.DO-QE/QT) FORMAT(/4X.'Roots of mormal equation''A(i.m+1).i=1.m'& 33 01oG24 RETURN END SUBROUTINE GS(A.N.M,EPS) (7分) EPS.A 0I=K IF(P.GE.ABS(A(LK))NGOTO 10 ABS(A(LK)) 10 CONTINUE O SOLUTION DO 20J=K.M A A(K.J)=TMP A(IJ)=A(IJA(I.K)*A(K.J) I=060k2N D060J+1,N 60 END 4.运行结果。(20分) Normal equation A(m,m+1)m=3 (5分) 1,000 .7608 8457E-01 -5228 1.000 .7747 Roots of mormal equationA(i,m+1),i=1,m -4482 .4943 .6921 INPUT DATA:Xnl.Xn2.....Xnm.Yn(m=1.3.n=1,6) XI X2 X3Y=n XI X2 X3 DIFF
7 B0=XV(M1)-B0 QT=S(M1)*S(M1) QE=QT-U SE=DSQRT(QE/(N-M-1)) R=DSQRT(1.D0-QE/QT) F=(N-M-1)*U/QE/M 22 FORMAT(/4X,'Roots of mormal equation','A(i,m+1),i=1,m' & /1x,60(1H-)) 33 FORMAT(1X,10G12.4) RETURN END SUBROUTINE GS(A,N,M,EPS) (7 分) DOUBLE PRECISION EPS,A DIMENSION A(10,11) DO 50 K=1,N P=0.0 DO 10 I=K,N IF(P.GE.ABS(A(I,K)))GOTO 10 P=ABS(A(I,K)) L=I 10 CONTINUE IF(P.LT.EPS)STOP'NO SOLUTION' IF(L.EQ.K)GOTO 30 DO 20 J=K,M TMP=A(L,J) A(L,J)=A(K,J) A(K,J)=TMP 20 CONTINUE 30 P=1.0/A(K,K) DO 40 J=K+1,M A(K,J)=A(K,J)*P DO 40 I=K+1,N A(I,J)=A(I,J)-A(I,K)*A(K,J) 40 CONTINUE 50 CONTINUE DO 60 K=2,N I=M-K DO 60 J=I+1,N A(I,M)=A(I,M)-A(I,J)*A(J,M) 60 CONTINUE RETURN END 4.运行结果。(20 分) Normal equation A(m,m+1) m= 3 (5 分) ------------------------------------------------------------ 1.000 .2623 -.7608 -.8451 .2623 1.000 -.5228 .1497E-01 -.7608 -.5228 1.000 .7747 Roots of mormal equationA(i,m+1),i=1,m ------------------------------------------------------------ -.4482 .4943 .6921 INPUT DATA:Xn1, Xn2,.... Xnm,Yn(m=1, 3,n=1, 6) X1 X2 X3 Y=η ------------------------------------------------------------------ X1 X2 X3 Y Ycalc DIFF
0707 .3378 2070 4007 2577E-013749 5740 1903 .9819E-01-3135 -.5749E-02.3078 290 218 8507E-02.5615 -1581 .357 3378 8329 735 Xv.3118 2477 1723 .1549E-01 Sv.3331 2802 4006 2305E-01 Regression equation is: =.8225E-02+-3102E-01*X1+4066E-01*X2+.3982E-01*X3 (10分) .531318E-03 0 454264E-02 922323 791590 (5分) C 1.计算原理(化学原理和计算方法)(20分) 氯化氢进行气相催化氧化反应如下。设反应过平衡时生成氯气的物质的量为xol, 有 4HC1+O2= =2C12+2H20 起始物质的量mol 00 平衡物质的量moln0-2xn,o-0.5x xx (5分) 令起始反应物的总物质的量为1mol,即:n4co+o,0=1 反应达平衡时系统中总物质的量为:nc0-2x+o,0-0.5x+x+x=1-0.5x 故平衡时系统中各物质的分压为: (5分) Puc=pyuc =p.(hc-2x 1-0.5r Po,=pVo =p(0.5x 1-0.5x
8 ------------------------------------------------------------------ .2707 -.3378 -.2979 -.4007 -.2577E-01 .3749 .5740 .1903 -.9819E-01-.3135 -.5749E-02 .3078 -.1751E-01-.4949 .1290 -.1591 -.6220E-02 .1529 -.4754E-01 .4187 -.4077 -.2189 .1049E-01 .2294 -.8507E-02 .5615 -.1581 .3572 .2503E-01-.3322 -.7711 -.3378 .8329 .7351 .5157E-01-.6835 Xv .3118 .2477 .1723 .1549E-01 Sv .3331 .2802 .4006 .2305E-01 Regression equation is: ------------------------------------------------------------ η= .8225E-02+-.3102E-01*X1+ .4066E-01*X2+ .3982E-01*X3 (10 分) Qt= .531318E-03 U= .490047E-03 Qe= .412711E-04 Se= .454264E-02 N= .922323 R= .960377 (5 分) F= 7.91590 C 1.计算原理(化学原理和计算方法)(20 分) 氯化氢进行气相催化氧化反应如下。设反应过平衡时生成氯气的物质的量为 x mol, 有 4HCl+O2 2Cl2+2H2O 起始物质的量/mol HCl,0 n O ,0 2 n 0 0 平衡物质的量/mol HCl,0 n -2x O ,0 2 n -0.5x x x (5 分) 令起始反应物的总物质的量为 1mol,即: HCl,0 O ,0 2 n n + =1 反应达平衡时系统中总物质的量为: HCl,0 O ,0 2 n xn xxx x − + − + + =− 2 0.5 1 0.5 故平衡时系统中各物质的分压为: (5 分) 2 2 2 HCl,0 HCl HCl O ,0 O O 2 ( ) 1 0.5 0.5 ( ) 1 0.5 n x p py p x n x p py p x − = =⋅ − − = =⋅ −
Pa,=pa,=p--0.5x Pio=PYatgo=p-(1-0.5x 式中:y为物质的量分数,p为系统总压。 代入平衡常数关系式得: (5分) K。 p-05 p-1-05 pn2yp-0网 (1) 1-0.5x 1-0.5x (1)式移项,整理后得 x0-0.5x)-K p(mc-2x)'(n,0-0.5)=0 (2) 用D表示原料气体中HCI与O2的体积比,有 nuclo+no.o=1 (3) =D广 解(3)得:@o=D1+D) .0=1/1+D) 令:fx)=r0-0.5x)-Kp(mc-2x)'(no0-0.5x) 调用Newton-Raphson法求解方程f(x)=0 (5分) 取初值x。=0.01,可求出x,然后求出反应达到平衡时氯气在混合物中的体 积分数c2。 因f(x)的导数不易求出,故用差商代替 2.程序框图(30分) 开始 输入:温度T,压力P,平衡常数KP,起始物质的量NHC1,NO2, 体积分数Y1Y2,EPS,P总
9 2 2 2 2 Cl Cl HO HO ( ) 1 0.5 ( ) 1 0.5 x p py p x x p py p x = =⋅ − = =⋅ − 式中:y 为物质的量分数,p 为系统总压。 代入平衡常数关系式得: (5 分) 2 2 22 2 4 4 HCl,0 O ,0 ( )( ) 1 0.5 1 0.5 2 0.5 ( )( ) 1 0.5 1 0.5 p x x p p x x K n x n x p p x x ⋅ ⋅ − − = − − ⋅ ⋅ − − (1) (1)式移项,整理后得 2 4 4 HCl,0 O ,0 (1 0.5 ) ( 2 ) ( 0.5 ) 0 p x x K pn x n x − − − −= (2) 用 D 表示原料气体中 HCl 与 O2 的体积比,有 2 2 HCl,0 O ,0 HCl,0 O ,0 1 / n n nn D + = = (3) 解(3)得: 2 HCl,0 O ,0 /(1 ) 1/(1 ) n DD n D = + = + 令: 2 4 4 HCl,0 O ,0 ( ) (1 0.5 ) ( 2 ) ( 0.5 ) p f x x x K pn x n x =− − − − 调用 Newton-Raphson 法求解方程 f (x) = 0 (5 分) 取初值 0 x = 0.01,可求出 x,然后求出反应达到平衡时氯气在混合物中的体 积分数 yCl2。 因 f (x) 的导数不易求出,故用差商代替。 2.程序框图(30 分) 开始 输入:温度 T,压力 P,平衡常数 KP,起始物质的量 NHCl,NO2, 体积分数 Y1 Y2,EPS,P 总
计算体积比DN) 调用Newton-Raphson法子程序求解方程f(x)=0 (其中用差高近似f"(x)值)得x 计算平衡时C12的摩尔分数YC12 输出:T,P,D,x,YCI2值 结束 3.源程序(30分) PROGRAM MAD (10分) REALT.P.KPNHCL.NO2,YHCL,YA,D.EPS.X0.YCL2.X.E EXTERNAL KP.NHCL.NO2 OPEN(6.FILE-2005TC.TXT.STATUS-UNKNOWN) 320 YHCL=0.355 DATA EPS,E/IE-6,1E-7/ NO2=11+D) 17 11 FORMAT(/5X.T-F104.K/5X.P-.GI2.4.Pa/5X.VHCL:VO2-.F124& PX, P,F6.4//RESULT:/5X,'y(CL2P,F6.4 END 0分) O.NHCL.NO2 COMMON P.KP.NHCL,NO2 KPP(NHCL-2X 2(NHCL-2*X)**2)*N02-0.5◆X =S-0 10
10 3.源程序(30 分) PROGRAM MAIN (10 分) REAL T,P,KP,NHCL,NO2,YHCL,YA,D,EPS,X0,YCL2,X,E EXTERNAL F COMMON P,KP,NHCL,NO2 OPEN(6,FILE='2005TC.TXT',STATUS='UNKNOWN') T=370 P=1E5 YHCL=0.355 YA=0.645 KP=2.225E-4 DATA EPS,E/1E-6,1E-7/ D=YHCL/(YA*0.21) NHCL=D/(1+D) NO2=1/(1+D) X0=0.01 CALL NR(X0,F,F,0,EPS,E,X) YCL2=X/(1-0.5*X) YCL2=YCL2*(1-0.645*0.79) WRITE(6,11)T,P,D,x,YCL2 11 FORMAT(/5X,'T=',F10.4,'K'/5X,'P=',G12.4,'Pa'/5X,'VHCL:VO2=',F12.4 & /5X,'X=',F6.4//'RESULT:'/5X,'y(CL2)=',F6.4 ) END FUNCTION F(X) (10 分) REAL P,KP,X,S,Q,NHCL,NO2 COMMON P,KP,NHCL,NO2 S=X**2*(X**2) *(1-0.5*X) Q=KP*P*(NHCL-2*X)**2*((NHCL-2*X)**2)*(NO2-0.5*X) F=S-Q 调用 Newton-Raphson 法子程序求解方程 f (x) = 0 (其中用差高近似 f ′(x) 值)得 x 输出:T,P,D,x,YCl2 值 结束 计算体积比 DN) 计算平衡时 Cl2 的摩尔分数 YCl2