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

Benzer belgeler