Hvordan virker chem?
Chem er et pythonprogram, der læser en tekstfil og ud fra dette genererer
c-kode. Denne kode oversættes med en c-kompiler (gcc), og til sidst
køres det c-program, der lige er lavet.
-
At læse en tekstfil og lave et c-program ud fra den er i princippet
enkelt, men i praksis er der mange ting der skal tages højde for.
Derfor er parserkoden temmelig kompliceret. Hvis du vil vide mere så
kig i chems kildekode (den findes i /amd/kirstine/vol/store/opt/kemigf/chem
på studenterserveren).
-
Kernen i c-programmet til integration af kemiske differentialligninger
er cvode, der er et bibliotek til
numerisk integration af differentialligninger. cvode
kan hentes fra netlib og indeholder,
ud over selve biblioteket, også en udførlig manual. Hvis du
er interesseret i en introduktion til numerisk løsning af differentialligninger
så læs i Numerical Recipes.
-
Der findes to udgaver af chem.
Den ene (chem) bruger Mathematica
til at udregne differentialligningssystemets Jacobian symbolsk, mens den
anden version (chemd) bruger en
numerisk udregnet Jacobian. Fordelen ved at bruge en numerisk udregnet
Jacobian er, at man ikke er afhængig af Mathematica
for at kunne køre chem.
På studenterserveren bruges chemd.
Da chems kildekode findes på studenterserveren, kan alle med adgang
til denne server kopiere den og køre chem på et hvilket som
helst andet Linux- eller UNIX-system hvor cvode, en pythonkompiler og gcc
er installeret. Hvis du gør dette, så skriv venligst en e-mail
til chems forfatter Preben Graae Sørensen.
Der findes også et DOS-program ved navn kci,
der kan arbejde med den samme type tekstfiler som chem. Det kan hentes
her.
Advarsel: kci indeholder
en række fejl, der ikke vil blive rettet. Det kan dog sagtens
bruges til at "rode lidt" med chem-filer på en windowscomputer.
Alternativt kan windowsbrugere hente programmet Gepasi,
der også er et program til integration af kemiske reaktionssystemer.
Det bruger et helt andet format end chem.