Kimya Müh. Bilgisayar Uygulamaları Ödev - 2
Transkript
Kimya Müh. Bilgisayar Uygulamaları Ödev - 2
Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Atatürk Üniversitesi Kimya Mühendisliği Bölümü Kimya Mühendisliği’nde Bilgisayar Uygulamaları, KTM-301 Doç. Dr. Taner Tekin, Yrd. Doç. Dr. Ayşe Bayrakçeken 11.11.2012 Ödev Teslim Tarihi: Taner Hoca’ nın öğrencileri ödevlerini derslerinin olduğu gün getirecekler. Ayşe Hoca’ nın öğrencileri ödevlerini 19.11.2012 pazartesi günü saat 10:0012:00 saatleri arasında getirecekler. Geç getirilen ödevler kesinlikle alınmayacaktır. ÖDEV 2 Karbondioksitin 300 K de paslanmaz çelik bir tankta depolanması önerilmektedir. Tank hacmi 2.5 m3 ve dayanabileceği maksimum basınç 100 atm’ dir. Aşağıdaki hal denklemlerini kullanarak tankta depolanabilecek maksimum CO2 mol sayısını bulunuz. P=basınç, atm V=molar hacim, L/g-mol T=sıcaklık, K R=gaz sabiti (R=0.08206 L.atm/g-mol.K) Tc=kritik sıcaklık (CO2 için 304.2 K) Pc=kritik basınç (CO2 için 72.9 atm) Ideal gaz: PV=RT Van der Waals denklemi (P a )(V b) RT V2 2 27 R 2Tc a ( ) 64 Pc b RTc 8 Pc Soave-Redlich-Kwong denklemi P RT a [ ] V b V (V b) 2 R 2Tc a 0.42747( ) Pc Caner CANKURT Sayfa 1 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 b 0.08664( RTc ) Pc [1 m(1 T / Tc )]2 m 0.48508 1.55171 0.1561 2 ω=asentrik faktör (CO2 için 0.225) Peng-Robinson denklemi P RT a(T ) [ ] V b V (V b) b(V b) b 0.07780( RTc ) Pc 2 R 2Tc a(T ) 0.45724 (T ) Pc (T ) [1 k (1 T / Tc )]2 k 0.37464 1.54226 0.26992 2 Beattie-Bridgeman denklemi P RT 2 3 4 V V V V RTB0 A0 RTB0 b A0 a Rc ) T2 RcB0 ) T2 RB0 bc ) T2 A0, a, B0, b ve c sabitleri farklı gazlara bağlıdır. CO2 için A0=5.0065; a=0.07132; B0=0.10476; b=0.07235; ve c=66.0*104. Çözümü bir programlama dili (Matlab veya QBasic) ve paket programı (Excel veya Polymath) kullanarak yapınız. Çözüm ekranlarını ödeve ekleyiniz. Caner CANKURT Sayfa 2 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 ÇÖZÜM: Yukarıda verilen denklikler Newton-Raphson yöntemi kullanılarak çözülmesi için f(v) ve f’(v) elde edilmelidir. Newton Rapshon denkliğine göre; Xi+1=X0-f(v)/f’(v) dir Her denklik için f(v) değerlerini ve türevlerini alarak 0,01 hata payı ile sonuçlara ulaşmaya çalışacağız. Bulunan molar hacim ters çevrilerek mol/L elde edilerek soruda verilen hacimle çarpılarak g-mol elde edilecektir. Aşağıda yukarıda soruda verilen denkliklerden programlama diline çevrilerek basite indirgenmiştir. Matlab ve Excel de bu denklikler üzerinden işlemleri yapacağız. İdeal Gaz için fonksiyon değerleri; f(v)=R*T-P*v f’(v)=-P Van der Waals denklemi için fonksiyon değerleri; f(v)=(P+a/(v^2))*(v-b)-R*T f’(v)=P-a/(v^2)+(2*b*a)/v^3 Caner CANKURT Sayfa 3 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Soave-Redlich-Kwong denklemi f(v)=(R*T*(v^2))+(R*T*b*v)-(a*alf*v-a*alf*b)-(P*(v^3)-P*v*(b^2)) f’(v)=(2*R*T*v+R*T*b)-(a*alf)-(3*P*(v^2)-P*(b^2)) Peng-Robinson denklemi f(v)=(R*T*v^2-R*T*b^2+R*T*2*b*v)-(at*v-at*b)(P*(v^3+2*b*(v^2)-(b^2)*v-b*(v^2)-2*(b^2)*v+(b^3))) f’(v)=2*R*T*v+R*T*2*b-at-(P*(3*(v^2)+4*b*v-b^2-2*b*v2*(b^2))) Beattie-Bridgeman denklemi f(v)=R*T*(v^3)+beta*(v^2)+yee*v+sigma-P*(v^4) f’(v)=3*R*T*(v^2)+2*beta*v+yee-4*p*(v^3) Yukarıda denklikler elde edildi. Şimdi buradaki sabitleri, değerleri, değişkeni yerlerine yazarak döngüyü oluşturacağız. Oluşturulan döngü Newton rapshon yönetimi kullanarak iteratif yöntem kullanarak %0,01 hataya kadar inerek sonucu verecek. Bulunan molar hacim ise ters çevrilerek hacim değeri ile çarpılarak max mol değeri bulunacak. Matlab ve Excel de bu işlemleri şimdi sırasıyla uygulayalım; Caner CANKURT Sayfa 4 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Matlab ile Çözüm; İdeal Gaz için yazdığımız matlab kodu: clc; clear; p=100; % max basınc min hacim olacagindan aldik r=0.08206; tc=304.2; pc=72.9; t=300; v0=input('Baslangic Molar Hacim (LİTRE/g-mol) degeri giriniz: '); v=v0+41; % döngüye girmesi için yazdık while abs((v-v0)/v0)*100>0.01 v0=v; f=r*t-p*v; fturev=-p; v=v0-f/fturev; mol=(1/v)*2.5*1000; % molarite (mol/L)*L yapılarak mol elde edildi. fprintf('Molar Hacim = %f \t',v); fprintf('Max Mol Sayısı = %f \n',mol); if abs((v-v0)/v0)*100<0.01 break end end Caner CANKURT Sayfa 5 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 İdeal Gaz için Matlab Ekran Görüntüsü: (İdeal gaz denkleminde matlab ekran çıktısı) Van der Waals denklemi için yazdığımız matlab kodu: clc; clear; p=100; % max basınc min hacim olacagindan aldik r=0.08206; tc=304.2; pc=72.9; t=300; a=27/67*(r^2*tc^2)/pc; b=(r*tc)/(8*pc); v0=input('Baslangic Molar Hacim (LİTRE/g-mol) degeri giriniz: '); v=v0+41; % döngüye girmesi için plakamı yazdım while abs((v-v0)/v)*100>0.01 v0=v; f=(p+a/(v^2))*(v-b)-r*t; fturev=p-a/(v^2)+(2*b*a)/v^3; v=v0-f/fturev; mol=(1/v)*2.5*1000; % molarite (mol/L)*L yapılarak mol elde edildi. fprintf('Molar Hacim = %f \t',v); fprintf('Max Mol Sayısı = %f \n',mol); if abs((v-v0)/v)*100<0.01 break end end Caner CANKURT Sayfa 6 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Van der Waals denklemi için ekran çıktısı; Soave-Redlich-Kwong denklemi matlab kodu; clc; clear; p=100; % max basınc min hacim olacagindan aldik r=0.08206; tc=304.2; pc=72.9; t=300; w=0.225; a=0.42747*((r^2*tc^2)/pc); b=0.08664*((r*tc)/pc); m=0.48508+1.55171*w-0.1561*w^2; alf=1+m*(1-sqrt(t/tc))^2; v0=input('Baslangic Molar Hacim (LİTRE/g-mol) degeri giriniz: '); v=v0+41; % döngüye girmesi için yazdık while abs((v-v0)/v0)*100>0.01 v0=v; f=(r*t*(v^2))+(r*t*b*v)-(a*alf*v-a*alf*b)-(p*(v^3)-p*v*(b^2)); fturev=(2*r*t*v+r*t*b)-(a*alf)-(3*p*(v^2)-p*(b^2)); v=v0-f/fturev; mol=(1/v)*2.5*1000; % molarite (mol/L)*L yapılarak mol elde edildi. fprintf('Molar Hacim = %f \t',v); fprintf('Max Mol Sayısı = %f \n',mol); if abs((v-v0)/v0)*100<0.01 (break … end … end) Caner CANKURT Sayfa 7 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Soave-Redlich-Kwong denklemi ekran çıktısı; Caner CANKURT Sayfa 8 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Peng-Robinson denklemi matlab kodu; clc; clear; p=100; % max basınc min hacim olacagindan aldik r=0.08206; tc=304.2; pc=72.9; t=300; w=0.225; k=0.37464+1.54226*w-0.26992*(w^2); alft=(1+k*(1-sqrt(t/tc)))^2; at=0.45724*((((r^2)*(tc^2))/pc))*alft; b=0.07780*((r*tc)/pc); v0=input('Baslangic Molar Hacim (LİTRE/g-mol) degeri giriniz: '); v=v0+41; % döngüye girmesi için yazdık while abs((v-v0)/v0)*100>0.01 v0=v; f=(r*t*v^2-r*t*b^2+r*t*2*b*v)-(at*v-at*b)-(p*(v^3+2*b*(v^2)-(b^2)*v-b*(v^2)-2*(b^2)*v+(b^3))); fturev=2*r*t*v+r*t*2*b-at-(p*(3*(v^2)+4*b*v-b^2-2*b*v-2*(b^2))); v=v0-f/fturev; mol=(1/v)*2.5*1000; % molarite (mol/L)*L yapılarak mol elde edildi. fprintf('Molar Hacim = %f \t',v); fprintf('Max Mol Sayısı = %f \n',mol); if abs((v-v0)/v0)*100<0.01 break end end Caner CANKURT Sayfa 9 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Peng-Robinson denklemi ekran çıktısı; Caner CANKURT Sayfa 10 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Beattie-Bridgeman denklemi matlab kodu; clc; clear; p=100; % max basınc min hacim olacagindan aldik r=0.08206; tc=304.2; pc=72.9; t=300; w=0.225; a0=5.0065; a=0.07132; b0=0.10476; b=0.07235; c=660000; sigma=(r*b0*b*c)/(t^2); yee=r*t*b0*b+a0*a-(r*c*b0)/(t^2); beta=r*t*b0-a0-(r*c)/(t^2); v0=input('Baslangic Molar Hacim (LİTRE/g-mol) degeri giriniz: '); v=v0+41; % döngüye girmesi için yazdık while abs((v-v0)/v0)*100>0.01 v0=v; f=r*t*(v^3)+beta*(v^2)+yee*v+sigma-p*(v^4); fturev=3*r*t*(v^2)+2*beta*v+yee-4*p*(v^3); v=v0-f/fturev; mol=(1/v)*2.5*1000; % molarite (mol/L)*L yapılarak mol elde edildi. fprintf('Molar Hacim = %f \t',v); fprintf('Max Mol Sayısı = %f \n',mol); if abs((v-v0)/v0)*100<0.01 break end end Caner CANKURT Sayfa 11 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Beattie-Bridgeman denklemi ekran görüntüsü; Caner CANKURT Sayfa 12 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Excel ile çözüm; Excelde ise tek bir tabloda tüm değerleri topladık. Burada a,at,alfa,sigma gibi değişkenleri matlabdaki noktalı virgül kaldırılarak elde ettik Excel de bu değerleri her denklemler için sabitler başlığı altında topladık ve >formüller > ad tanımla seçeneği ile değerler tanımladık. (Örneğin K2=_v değeri) Böylelikle matlabda kullandığımız ve en başta çıkardığımız fonksiyon değişkenlerini bir kez daha tanımlamaktan kurtulduk. Üç ana sütun altında f(v), f’(v) ve -f(v)/f’(v) değerleri atandı. Burada fonksiyonlar yerine kondu -f(v)/f’(v) sütununda ise iki fonksiyonun bölümünün negatifi alındı. Bu hata aralığımızı gösterecek. Sonuç sütununda ise değerimizin ataması yapılacak. Bunun için ise > veri >çözücü kısmına girilerek hedef gürce -f(v)/f’(v) alınır. Değere gelerek 0,01 değeri yazılır ve değişen hücre olarak sonuç tunundaki bölüm seçilir. Çöz bölümüne tıklanarak sonuca ulaşılır Mol sayısı ise yine molar hacim ters çevrilerek hacim ile çarpılarak elde edilir. Excel ekran çıktısı tam sayfa olarak bir arka sayfadadır… Caner CANKURT 100751048 Caner CANKURT Sayfa 13 Kimya Müh. Bilgisayar Uygulamaları Ödev - 2 Caner CANKURT Sayfa 14