版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> C++課程設(shè)計報告</b></p><p> 精餾塔理論塔板數(shù)的計算</p><p><b> </b></p><p><b> 化學(xué)化工學(xué)院</b></p><p> 高級工程人才實驗班(化學(xué))</p><p&g
2、t;<b> 趙靜冰</b></p><p> 學(xué)號1507110114</p><p><b> 目錄</b></p><p> (1)設(shè)計報告************************** 3 </p><p> ?。?)摘要*****
3、********************* *** 4</p><p> ?。?)程序設(shè)計思路**********************5</p><p> (4)流程框圖************************** 6 </p><p> ?。?)C 語言原始程序********************15</p><p>
4、(6)程序運行結(jié)果********************** 17</p><p> ?。?)后記******************************18 </p><p> (8)參考文獻(xiàn)**************************19 </p><p><b> 二、設(shè)計報告</b></p><p
5、><b> 1、撰寫要求</b></p><p> ?。?)C語言課程設(shè)計任務(wù)書;</p><p><b> ?。?)目錄;</b></p><p><b> ?。?)摘要;</b></p><p> (4)程序設(shè)計思路和流程框圖;</p><p&
6、gt; ?。?)C語言原始程序;</p><p> ?。?)程序運行結(jié)果;</p><p> ?。?)后記(程序調(diào)試過程出現(xiàn)問題的討論)。</p><p><b> 2、印裝和上交要求</b></p><p> ?。?)設(shè)計報告要求采用A4紙雙面打印,訂書針裝訂。</p><p> ?。?)將源
7、程序按統(tǒng)一文件名100a-bc形式發(fā)給輔導(dǎo)老師</p><p><b> 課程設(shè)計報告</b></p><p> 摘要:此次C++程序課程設(shè)計,是在給定的設(shè)計條件下,利用梯級圖解法計算苯—甲苯精餾塔理論塔板數(shù)。第一個程序使用了直接計算法解方程組,計算出塔頂D和塔底W,使用最小二乘擬合法和高斯消元法求得相平衡方程,同時使用牛頓迭代的法求得q線方程與相平衡方程的交點以
8、及q線方程與精餾段操作線方程等的交點,循環(huán)使用牛頓迭代法最后求得精餾塔理論塔板的數(shù)目和進(jìn)料板的位置;在設(shè)計的過程中所需要的C++語言方法有:循環(huán)、選擇、數(shù)組、繪圖等的綜合使用,最后完成整個設(shè)計過程。</p><p> 程序設(shè)計思路:由于沒有學(xué)習(xí)過化工原理方面的知識,所以初開始,對于陌生的專有名詞感覺這次的設(shè)計很不好做,不知從何下手。后來老師給出了公式等推導(dǎo)原理,并在老師講解后我才大概懂得題目的要求,參考了之前學(xué)
9、過的課本和一些范例,再詢問其他合作同學(xué),我終于有了設(shè)計思路。我將整個程序設(shè)計過程分為兩步,計算部分和作圖部分,而計算又分為兩個部分,程序一過程使用了直接計算法解方程組,計算出塔頂D和塔底W,程序二過程先利用高斯消元法求得相平衡方程,再利用牛頓迭代法求得精餾塔理論塔板數(shù)的過程。</p><p> 高斯函數(shù):利用高斯主元素消去法可以求解平衡線方程中的系數(shù)及常數(shù)a0,a1,a2,a3。</p><
10、p> 矩陣板塊:我們在求解平衡線方程中的系數(shù)及常數(shù)a0,a1,a2,a3時,有一個問題,那就是矩陣的行數(shù)和列數(shù)不相同,不能完全照搬書上所說的高斯主元素,而是需要利用數(shù)據(jù)的擬合。我們可以用矩陣的轉(zhuǎn)置與矩陣的乘法(參考實際程序),達(dá)到此目的。</p><p> 牛頓迭代法:通過翻閱資料,運用牛頓迭代法是求方程根,在所,先定義一下牛頓迭代法,然后再在所需要的地方調(diào)用一下,</p><p&g
11、t; 循環(huán)板塊:數(shù)組可以解決數(shù)據(jù)龐大的問題,循環(huán)的過程中,輸出其角標(biāo)即可。采用的是do….while語句。</p><p><b> C++設(shè)計流程圖:</b></p><p><b> C++原始程序:</b></p><p> 程序一 : //求解方程組</p><p> #inclu
12、de<iostream.h></p><p> #define F 46.61 //F為處理量</p><p> #define XF 0.45 //XF為苯-甲苯混合液中苯的含量</p><p> #define XD 0.996 //XD為塔頂產(chǎn)品摩爾分率</p><p> #define
13、XW 0.0118 //XW為塔底產(chǎn)品摩爾分率</p><p> int main()</p><p><b> {</b></p><p> double D=0,W=0; //D為塔頂,W為塔底</p><p> D=(F*XF-F*XW)/(XD-XW);</p><p>
14、W=(F*XD-F*XF)/(XD-XW);</p><p> cout<<"D="<<D<<" "<<"W="<<W<<endl;</p><p><b> return 0;</b></p><p><
15、;b> }</b></p><p> 程序二 ://求精餾段與提鎦段方程,并求塔板數(shù)</p><p> #include <iostream.h></p><p> #include <stdio.h></p><p> #include <iomanip.h></p>
16、;<p> #include <math.h></p><p> #include <windows.h></p><p> #include <dos.h></p><p> double Diedai(double a,double b,double c,double d)//********迭代
17、定義</p><p><b> {</b></p><p> double xn,xn1=0.45,f,f1;</p><p><b> do</b></p><p><b> {</b></p><p><b> xn=xn1;&l
18、t;/b></p><p> f=xn*a+b*pow(xn,2)+c*pow(xn,3); //平衡方程</p><p> f1=a+2*b*xn+3*c*pow(xn,2); //平衡方程求導(dǎo)</p><p> xn1=xn-f/f1;</p><p> }while(fabs(xn1-xn)>=1e-6
19、);</p><p> return xn1;</p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p><b> loop:</b></p><p
20、> system("cls");</p><p> cout<<"\t****苯-甲苯精餾塔理論塔板數(shù)的計算****"<<endl;</p><p> cout<<endl;</p><p> cout<<endl;</p><p> in
21、t i,j,k,n;</p><p> double H[4][5],b[25][5],a[4],s,m,r; //********數(shù)據(jù)輸入</p><p> double x[]={0,1,3,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,97,99,100},</p><p> y[]={0
22、,2.5,7.11,11.2,20.8,29.4,37.2,44.2,50.7,56.6,61.9,66.7,71.3,75.5,79.1,82.5,85.7,88.5,91.2,93.6,95.9,98,98.9,99.61,100},</p><p> A,B,C,D; //A,B,C,D為函數(shù)的系數(shù)</p><p> for(i=0;i<25;i+
23、+)</p><p><b> {</b></p><p> b[i][0]=1;</p><p> b[i][1]=x[i]/100;</p><p> b[i][2]=b[i][1]*b[i][1];</p><p> b[i][3]=b[i][2]*b[i][1];</p&g
24、t;<p> b[i][4]=y[i]/100;</p><p> }//**************求矩陣</p><p> for(i=0;i<4;i++)</p><p><b> {</b></p><p> for(j=0;j<5;j++)</p><p
25、><b> {</b></p><p><b> if(j<4)</b></p><p><b> {</b></p><p> for(n=0,s=0;n<25;n++)</p><p> s+=b[n][i]*b[n][j];</p>
26、<p> H[i][j]=s;</p><p><b> }</b></p><p><b> if(j==4)</b></p><p><b> {</b></p><p> for(n=0,s=0;n<25;n++)</p>&l
27、t;p> s+=b[n][i]*b[n][4];</p><p> H[i][j]=s;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for(i=0
28、;i<3;i++) //********************求解 </p><p><b> {</b></p><p> for(k=1;k<4-i;k++)</p><p><b> {</b></p>
29、<p> if(fabs(H[i][i])<fabs(H[i+k][i]))</p><p><b> {</b></p><p> for(j=0;j<5;j++)</p><p><b> {</b></p><p> r=H[i][j];</p>
30、<p> H[i][j]=H[i+k][j];</p><p> H[i+k][j]=r;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for(
31、k=1;k<4-i;k++)</p><p><b> {</b></p><p> m=H[i+k][i]/H[i][i];</p><p> for(j=i;j<5;j++)</p><p> H[i+k][j]=H[i+k][j]-m*H[i][j];`1
32、</p><p><b> }</b></p><p><b> }</b></p><p> for(i=3;i>=0;i--) //************求三次函數(shù)的系數(shù)A,B,C,D</p><p&g
33、t;<b> {</b></p><p><b> s=0;</b></p><p> for(j=3;j>i;j--)</p><p> s+=H[i][j]*a[j];</p><p> a[i]=(H[i][4]-s)/H[i][i];</p><p>
34、<b> }</b></p><p> cout<<"三次函數(shù)的系數(shù)分別為:"<<endl;</p><p> cout<<"A="<<a[0]<<endl;</p><p> cout<<"B="<
35、<a[1]<<endl;</p><p> cout<<"C="<<a[2]<<endl;</p><p> cout<<"D="<<a[3]<<endl;</p><p> cout<<endl;</p>
36、<p><b> i=0;j=0;</b></p><p><b> int Q;</b></p><p> double M=21.4048,G=46.61,K=25.2052,xf,xw,xd,ye,xe,Rmin,t,a0=a[0],a1=a[1],a2=a[2],a3=a[3],R,xn,xn1,f,f1,g,g1,xq
37、,yq,xm,xm1,X[50],p,y1,y2,x0,x1,x2,e;</p><p> double q=1; //進(jìn)料熱狀態(tài)q的值為1</p><p> cout<<endl;</p><p> cout<<endl;</p><p> cout<<"請輸入xf: &qu
38、ot;;</p><p><b> cin>>xf;</b></p><p> cout<<endl;</p><p> cout<<"請輸入xd: ";</p><p><b> cin>>xd;</b></p>
39、;<p> cout<<endl;</p><p> cout<<"請輸入xw: ";</p><p><b> cin>>xw;</b></p><p> cout<<endl;</p><p><b> xe=xf;
40、</b></p><p> ye=a0+a1*xe+a2*pow(xe,2)+a3*pow(xe,3); //平衡方程</p><p> Rmin=(xd-ye)/(ye-xe);</p><p> cout<<"輸入最小回流比前的系數(shù)t(t=1.1~2.0): ";</p><p><
41、;b> cin>>t;</b></p><p> cout<<endl;</p><p><b> R=t*Rmin;</b></p><p><b> xq=xf;</b></p><p> yq=R*xq/(R+1)+xd/(R+1);<
42、/p><p> cout<<"xe="<<xe<<setw(5)<<"ye="<<ye<<endl;</p><p> cout<<endl;</p><p> cout<<"最小回流比為:"<<s
43、etw(5)<<Rmin<<endl;</p><p> cout<<endl;</p><p> cout<<"回流比為:"<<setw(5)<<R<<endl;</p><p> cout<<endl;</p><p>
44、; cout<<"精餾操作線方程為:"<<setw(5)<<"y="<<R/(R+1)<<"*x"<<"+"<<xd/(R+1)<<endl;</p><p> cout<<"提餾操作線方程為:"<
45、<setw(5)<<"y="<<(M*R+q*G)/(M*R+q*G-K)<<"*x"<<"-"<<K*xw/(M*R+q*G-K)<<endl;</p><p> cout<<endl;</p><p> cout<<&qu
46、ot;xq="<<xq<<setw(5)<<"yq="<<yq<<endl;</p><p> cout<<endl;</p><p> cout<<endl;</p><p> cout<<endl;</p><p
47、> X[1]=Diedai(a0-xd,a1,a2,a3); //牛頓迭代法求解</p><p><b> i=1;</b></p><p><b> do </b></p><p><b> {</b></p><p><b> i++;<
48、/b></p><p> X[i]=Diedai(a0-R*X[i-1]/(R+1)-xd/(R+1),a1,a2,a3);</p><p> } while (X[i]>xq);</p><p><b> Q=i;j=Q;</b></p><p> cout<<"進(jìn)料板位置是:
49、"<<setw(5)<<Q<<endl;</p><p> cout<<endl;</p><p> cout<<endl;</p><p> cout<<endl;</p><p> cout<<endl;</p><p
50、><b> do </b></p><p><b> {</b></p><p><b> j++;</b></p><p> p=(X[j-1]-xq)*xw/(xw-xq)+(X[j-1]-xw)*yq/(xq-xw);</p><p> X[j]=Died
51、ai(a0-p,a1,a2,a3);</p><p> } while (X[j]>xw);</p><p> cout<<"理論塔板的數(shù)目是:"<<j<<endl;</p><p> cout<<endl;</p><p> cout<<endl;
52、</p><p><b> }</b></p><p> ?。‥)、程序的運行結(jié)果為:</p><p><b> ?。‵)、后記</b></p><p> 此次課程設(shè)計,我的收獲頗多。這個學(xué)期的C++課程,我學(xué)習(xí)的不夠扎實,而在這兩個星期內(nèi),彌補了很多學(xué)習(xí)上的缺漏,不足。九月份我即將參加計算機二
53、級考試,這次學(xué)習(xí)給了我很大的信心。我相信在我的繼續(xù)努力下,一定能在C++學(xué)習(xí)上收獲更多。但是,在這次學(xué)習(xí)設(shè)計的過程中我也遇到了不少問題,比如:</p><p> 1.了解了牛頓迭代法的意義,卻不足道何時該用牛頓迭代法</p><p><b> 2.對指針定義模糊</b></p><p> 3.對循環(huán)結(jié)構(gòu)掌握了不夠扎實</p>
54、<p><b> 收獲:</b></p><p> 1.自己主要負(fù)責(zé)的是牛頓迭代法的定義及運用其循環(huán)解方程,通過其他的同學(xué)大概了解了最小二乘法及高斯消元法</p><p> 2.通過老師講解,了解了精餾原理和精餾的操作流程,對于進(jìn)行物料衡算,操作線方程的計算以及理論塔板數(shù)的求法有了大致的概念。</p><p> 3.此次課程
55、設(shè)計,我們的四人小組積極配合,一起設(shè)計了過程再各自著重負(fù)責(zé)自己的那部分設(shè)計。團(tuán)隊的力量是無窮的,我們在短期內(nèi)完成了學(xué)習(xí)任務(wù),而且每個人都收獲了很多。</p><p> 體會:作為高級工程人才實驗班的學(xué)生,我們在心底對自己的要求就很高。社會在迅速地進(jìn)步著,我們必須積極追逐上其步伐,掌握先進(jìn)的科技為自己的課程做準(zhǔn)備。C++對我們的化工設(shè)計舉足輕重,所以掌握這門技術(shù)是必要的。</p><p>
56、<b> 參考資料</b></p><p> 化工原理課程設(shè)計. 柴誠敬.天津:天津科學(xué)技術(shù)出版社</p><p> 化工原理(下冊)姚玉英..天津:天津大學(xué)出版社</p><p> 陳鳴德. 葛婉華,化工計算.北京:化學(xué)工業(yè)出版社</p><p> 汪緒安. 胡乾定,化工應(yīng)用數(shù)學(xué).上海:上海交通大學(xué)出版社&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 填料精餾塔理論塔板數(shù)的測定精
- 精餾塔課程設(shè)計
- 課程設(shè)計---精餾塔設(shè)計
- 精餾塔課程設(shè)計--苯-甲苯板式精餾塔的工藝設(shè)計
- 精餾塔的課程設(shè)計
- 化工課程設(shè)計---精餾塔
- 丙酮精餾塔課程設(shè)計
- 精餾塔課程設(shè)計--苯-甲苯篩板式連續(xù)精餾塔設(shè)計
- 化工原理課程設(shè)計---精餾塔設(shè)計——篩板式精餾塔設(shè)計
- 板式精餾塔課程設(shè)計
- 板式精餾塔的課程設(shè)計
- 精餾塔課程設(shè)計---苯-甲苯連續(xù)精餾篩板塔的設(shè)計
- 浮閥塔課程設(shè)計--板式精餾塔的設(shè)計
- 課程設(shè)計---板式精餾塔設(shè)計
- 乙醇-水體系板精餾塔計算化工原理課程設(shè)計
- 甲苯分離精餾塔課程設(shè)計
- 化工原理課程設(shè)計-精餾塔
- 苯-甲苯精餾塔課程設(shè)計
- 精餾塔提留段課程設(shè)計
- 苯-甲苯精餾塔課程設(shè)計
評論
0/150
提交評論