TERMODYNAMIKA
MOLEKULARNA
opis programu
1. Skrócony opis funkcjonowania programu i
przygotowanie danych
2. Lista plików
3. Opisy plików
Skrócony opis funkcjonowania programu i
przygotowanie danych
Pliki zewnętrzne
Program korzysta z zewnętrznych plików tekstowych, sporód których niektóre
muszš być stworzone lub zmodyfikowane przez użytkownika (pliki z danymi).
Dotyczy to w pierwszym rzędzie pliku z danymi eksperymentalnymi, które zostały
znalezione w artykule. Mogš one być dopisane do dostarczonych przykładowych
plików lub też napisane od nowa. W tym drugim przypadku, poza stworzeniem pliku
z danymi (*.db) i odpowiadajšcego mu pliku indeksowego
(*.ind), nowš nazwę należy wpisać do pliku <data.lst>.
Obliczenia
Przed wykonaniem obliczeń należy zdefiniować parametry wejciowe, a mianowicie:
- Okrelić nazwę pliku z danymi (data files).
- Wybrać układ (układy) z tego pliku (data systems).
- Wybrać typ obliczeń - przewidywanie (prediction) albo korelację (correlation). W pierwszym przypadku istniejš
dwie możliwoci - obliczenia dla tych wartoci parametrów niezależnych, dla
których dysponujemy danymi (real) albo
wygenerowanie danych rozmieszczonych równomiernie (generated). W drugim należy jeszcze podać
liczbę punktów, dla których będš wykonywane obliczenia. Pierwszy sposób
umożliwia bezporednie porównanie z danymi eksperymentalnymi. Drugi jest
czasami niezbędny przy rysowaniu wykresów - umożliwia w praktyce otrzymanie
cišgłej zależnoci.
- Wybrać model (modele) (models).
- Wpisać nazwę pliku wyjciowego (output file), do którego zostanš zapisane wyniki.
- Wybór korelacji z równaniem o zmiennej liczbie parametrów wymaga jeszcze jej
okrelenia. Można podać konkretnš wartoć lub też przedział. Na przykład zapis
"1-3" będzie interpetowany jako polecenie
wykonania obliczeń dla równania z jednym, dwoma i trzema parametrami.
Obliczenia wykonujš się poprzez wybór opcji (execute) z głównego menu.
Typowe błędy
Błędy najczęciej występujšce podczas uruchamiania
programu.
A. Często zapominamy o zawartoci pliku therm.con. W wersji pierwotnej zdefiniowane sš
podkatalogi \dane i \wyniki.
Oznacza to, że oba katalogi muszš fizycznie istnieć na dysku. W pierwszym
należy umiecić pliku z danymi (*.db,
ale oprócz "pure_grp.db, i *.ind), w drugim pojawiš się wyniki obliczeń. Można do
woli zmieniać zawartoć pliku konfiguracyjnego, ale musi pocišgać to za sobš
zmiany w organizacji plików na dysku.
B. Nazwy zwišzków w pliku *.db
muszš być dokładnie takie same jak w pliku pure_grp.db lub na odwrót.
C. Proszę dokładnie sprawdzić zawartoć pliku indeksowego. Musi tam się znaleć
numer pierwszego rekordu w odpowiadajšcym mu pliku *.db i do tego umieszczony we właciwym miejscu.
D. Pewnš trudnoć sprawia rekord nr 3 z Tabeli 1 (patrz dalej). Proszę
dokładnie przeczytać Tabelę 2, w której dokładnie opisana jest budowa tego
rekordu w zależnoci od typu danych.
E. Program ten stanowi modyfikację wersji oryginalnej przygotowanš specjalnie z
mylš o większej liczbie użytkowników. Większoć jego elementów sprawiajšcych,
że stał się user friendly
powstała niedawno, bez przeprowadzenia dokładnego testowania. Mogš więc zdarzyć
się niespodzianki. Proszę o pilny kontakt w sytuacji, gdy działanie programu
wymyka się spod kontroli.
Program nie posiada wszystkich zabezpieczeń, które limitowałyby możliwoci
wyboru. Będš one wprowadzane sukcesywnie. Proszę więc zwrócić uwagę na Tabelę 1
i 2 na stronie szczegóły pracy.
F. Wiele procedur matematycznych służšcych do rozwišzywania równań modelowych
ma charakter iteracyjny i ich rozwišzywalnoć zależy od pewnych
stałych parametrów (punkty startowe, kryterium zbieżnoci). Wartoci te nie sš
jednak uniwersalne. Bywa więc i tak, na szczęcie w nielicznych wypadkach, że
działanie programu zostaje przerwane w wyniku przekroczenia dopuszczalnej
liczby iteracji lub też pojawienia się nadmiaru.
pliki główne - umieszczone sš w tym samym katalogu:
therm.exe |
program główny do przewidywania właciwoci i korelacji |
therm.con |
plik konfiguracyjny |
nt_chao.grp |
parametry grupowe dla metody Nitta-Chao |
unifac.grp |
parametry grupowe dla zmodyfikowanego UNIFACa |
pure_grp.db |
dane charakteryzujšce czyste substancje |
data.lst |
lista nazw zbiorów danych |
przykładowe pliki z danymi (muszš znajdować się w katalogu wpisanym w pierwszym
rekordzie
pliku therm. con):
he.db he.ind |
entalpia nadmiarowa |
ve.db ve.ind |
objętoć nadmiarowa |
vle.db vle.ind |
równowaga ciecz-para |
sle.db sle.ind |
rozpuszczalnoć |
1. Plik konfiguracyjny therm.con
Definiuje podstawowe parametry dotyczšce plików używanych przez program
nr |
sugerowane |
opis |
1 |
dane |
katalog z danymi |
2 |
wyniki |
katalog, gdzie będš zapamiętywane wyniki |
3 |
db |
rozszerzenie pliku z danymi |
4 |
ind |
rozszerzenie pliku indeksowego |
5 |
data.lst |
plik zawierajšcy spis zbiorów danych |
6 |
calc |
nazwa pliku tekstowego zawierajšcego wyniki porednie iteracji |
2. Plik data.lst
Plik tekstowy zawierajšcy nazwy zbiorów danych. Znajdujš się one na pierwszych
omiu pozycjach każdego rekordu, za wyjštkiem rekordów zaczynajšcych się od
znaku mylnika "-", który traktowany jest jako komentarz. Podobnie
komentarzem jest każda informacja zapisywana od pozycji dziewištej włšcznie. W
załšczonym poniżej przykładzie deklaruje się następujšce zbiory danych:
he, ve, vle, vp i pvt
Celem komentarza jest wyjanienie jakie dane znajdujš się w każdym ze zbiorów.
Pojedynczy zbiór składa się z dwóch plików - jednego o
rozszerzeniu *.db,
zawierajšcego właciwe dane, oraz z pliku indeksowego o rozszerzeniu *.ind. Tak więc będziemy mieli pliki: he.db i he.ind;
ve.db i ve.ind
itd. W pliku indeksowym umieszczona jest lista układów, dla których dane pomiarowe
znajdujš się w zasadniczej bazie danych. Każdy plik *.db może zawierać dowolnš liczbę układów (na przykład
różnych mieszanin, albo pomiarów w różnych temperaturach), ale wszystkie dane
muszš być tego samego rodzaju. W zwišzku z tym na przykład
dane nadmiarowej entalpii i nadmiarowej objętoci muszš znaleć się w osobnych
plikach *.db.
przykładowy plik data.lst
--------entalpia nadmiarowa------- |
HE eter + alkan |
--------objetosc nadmiarowa------- |
VE 1-chloroalkan + alkan |
------rownowaga ciecz-para------- |
VLE 1-chloroalkan + alkan |
---rownowaga ciecz-cialo stale--- |
SLE alkohol + alkan |
3. Pliki
z danymi
3.1. Budowa pliku *.db
rekord 0 (poczštkowy): <identyfikator typu danych - patrz kolumna id w
Tabeli 2 > <liczba składników w układzie>
Rekord ten występuje tylko raz w pliku. Format kolejnych rekordów powtarza się
dla poszczególnych układów.
Tabela 1
numer względny |
opis |
uwagi |
1 |
nazwa pierwszego składnika |
nazwy składników muszš tożsame (łšcznie z |
2 |
nazwa drugiego składnika |
tylko dla układów dwuskładnikowych |
3 |
liczba punktów eksperymentalnych i faz, dla których okrelony jest skład |
w postaci <n=xxx> i <f=xxx>; brak f oznacza <f=1> |
4 |
różna informacja w zależnoci |
patrz Tabela 2 |
5 |
odnonik literaturowy |
|
... |
rekordy z danymi |
patrz Tabela 2 |
Tabela 2. Format rekordów w zależnoci od typów danych
numer względny |
opis |
uwagi |
4 |
stałe parametry < T=xxx/K> temperatura; < p=xxx/bar> cinienie. Inne jednostki: < punit=kPa>, < Tunit=C>; <( dx1,dT,dp,dy)=xxx> błšd parametru; brak wartoci wskazuje, że nie został okrelony; < method=xxx> metoda pomiarowa ewentualnie brak informacji |
W rekordzie tym definiuje się wartoci stałych parametrów lub deklaruje się, że nie sš one znane (istotne). Brak takiej informacji stanowi wskazówkę, że sš to zmienne, które czytane będš poczšwszy od rekordu 6. Każdy symbol musi być poprzedzony spacjš, np. T=298.15 |
6 i następne |
<x11> <x21> <T> <p> <y> |
Dane w rekordzie muszš być oddzielone przynajmniej jednš spacjš. |
Objanienia: <x1i> - ułamek molowy pierwszego
składnika w i-tej fazie (1 faza ciekła, 2 faza stała albo gazowa); <T> - temperatura; <p> - cinienie; <y>
- inny parametr uzależniony od rodzaju danych (np. HE albo VE).
3.2. Budowa pliku *.ind (pliku indeksowego)
Jest to plik tekstowy z listš układów, dla których dane znajdujš się w pliku o
tej samej nazwie podstawowej, ale z rozszerzeniem *.db. Format wszystkich rekordów jest następujšcy:
<pole opisu układu (najlepiej składniki i warunki, np. temperatura) o
szerokoci 60 znaków> <numer pierwszego rekordu, od którego rozpoczynajš
się dane w pliku *.db>
3.3. Przykładowy plik *.db (ve.db)
wraz z odpowiadajšcym mu plikiem indeksowym ve.db
ve.db
2 2 1-Chlorobutane Hexane n=9 T=293.15 p=1.0 method= dx1= dT= dp= dy= Diguet, R., Jadzyn, J., J.Chem.Eng.Data, 27:86-89 (1982) 0.06202 0.06 0.1278 0.104 0.33214 0.152 0.41027 0.151 0.52483 0.142 0.62991 0.113 0.745 0.084 0.82731 0.055 0.91436 0.029 1-Chlorobutane Hexane n=6 T=298.15 p=1.0 method= dx1= dT= dp= dy= Crespo Colin, A., Vigil, M.R., Rubio, R.G., Compostizo, A., Diaz Pena, M., J.Chem.Soc. Faraday Trans., 87:93-99 (1991) [1744] 0.21119 0.16 0.29755 0.177 0.40049 0.186 0.50387 0.173 0.60599 0.143 0.81785 0.074 |
ve.ind
1-Chlorobutane + Hexane 20.0 C 2 1-Chlorobutane + Hexane 25.0 C 16 |
Uwaga! Nazwy zwišzków chemicznych muszš umożliwiać jednoznacznš identyfikację.
Muszš być dokładnie takie same jak zawarte w pliku pure_grp.db. Dotyczy to również to również
wielkoci liter (wielkie, małe). Jeli używamy innego nazewnictwa, np.
polskiego czy chaldejskiego, to jednoczenie musimy zmienić nazwy w pliku pure_grp.db.