Idéen med dette eksempel er at vise hvordan chem bruges ved
at integrere et simpelt reaktionssystem hvor man på forhånd
ved hvad der vil ske. Det er selvfølgelig lidt kedeligt, men det
giver mulighed for at ændre på inputfilen til chem og se hvilken
effekt ændringerne har.
Du skal bruge to filer: inputfilen ligevaegt.des og gnuplotkommandofilen ligevaegt.gnu. (Gnuplotkommandofilen er lidt indviklet, og det er ikke menigen at man skal sætte sig ind i hvordan den fungerer.)
Gem de to filer i det katalog, hvor du arbejder med chemeksemplerne, og åben inputfilen til chem i en editor. Kig filen igennem og se hvordan den virker. Prøv derefter at lade chem køre filen:
> chem ligevaegt.des
Det skulle gerne give følgende output:
CHEMD v.1.00 Copyright(C): 2000
Preben Graae Sørensen
REACTION PARSING OK
END OF COMPILATION
START RUN
DATAFILE: chemdat
END RUN
>
Chem har nu læst inputfilen, skrevet et c-program der kan integrere de kemiske ligninger, kompileret dette program og til sidst kørt det. Dette har resulteret i en række filer:
chem.err Her
ender evt. fejludskrifter fra chem.
chem.log Chems
logfil. Her kan man i detaljer se hvordan inputfilen er blevet fortolket.
chem.mat Hvis
chem
bruger
Mathematica
sker
kaldet via denne fil. Når man bruger chemd
er
den altid tom.
chemc
Dette er det færdige c-program til integration af de kemiske
differentialligninger.
chemc.c Kildekoden
til c-programmet chemc.
chemc.o En
objektfil der laves for at kunne kompilere det færdige program.
chemdat Datafil
med resultaterne af integrationen.
Normalt er det kun den sidste af disse filer der er interessant. Prøv at åbne den og se på dens indhold.
> emacs chemdat &
Første linie er en kommentar (der ikke læses af gnuplot):
# time A B C
Den fortæller os, at første kolonne i datafilen er tiden, anden kolonne er koncentrationen af A, tredie kolonne er koncentrationen af B og fjerde kolonne er koncentrationen af C. Med gnuplots nøgleord "using" kan man nemt plotte indholdet af datafilen. F.eks. vil følgende kommandoer starte gnuplot og plotte [B] som funktion af tiden:
> gnuplot
gnuplot> plot 'chemdat' using 1:3
title '[B]' with lines
Til dette eksempel er der lavet en gnuplotkommandofil til at plotte resultaterne fra chem sammen med de forventede ligevægtsværdier for systemet. Den kræver at man først definerer kf og kr i gnuplot:
gnuplot> kf = 0.01
gnuplot> kr = 0.02
Når dette er gjort køres gnuplotkommandofilen med kommandoen
gnuplot> load 'ligevaegt.gnu'
Prøv nu at ændre på startkoncentrationerne og på hastighedskonstanterne i chems inputfil, og se at det giver fornuftige resultater. Husk at gemme den rettede inputfil inden du kører chem igen! Husk også at du skal ændre værdierne af kf og kr i gnuplot hvis du ændrer dem i chems inputfil.
Når du er fortrolig med chem, så skynd dig videre med et
af de andre eksempler. Der er betydeligt mere kemi i dem.
Tips: du kan køre chem inde fra gnuplot med kommandoen
gnuplot> !chem ligevaegt.des
Tilsvarende kan du åbne emacs uden at forlade gnuplot:
gnuplot> ! emacs &
eller
gnuplot> ! emacs ligevaegt.des &