Chem er et program til integration af kemiske hastighedsudtryk.
Det vil sige, at programmet udregner hvordan et kemisk system vil udvikle
sig i tiden ud fra de differentialligninger, som man har valgt at beskrive
systemet med og de begyndelsesbetingelser man har angivet. Når programmet
køres læser ("parser") det først en tekstfil, der beskriver
reaktionssystemet. Ud fra dette genereres et c-program, der efterfølgende
integrerer systemet og skriver resultaterne ned i en tekstfil. Resultaterne
kan herefter plottes med gnuplot.
Mere information om hvordan chem
virker findes her.
1:
A -> B;
v> = k1*[A];
2: X
+ 2Y -> 2Z;
v> = k*[X]*[Y]**2;
3: X
+ 2Y -> 2Z;
k> = k;
4: S1 + S2
<=> P1 + P2; k> = k4f; k< = k4r;
MM:
S -> P;
v> = Vmax*[S]/(Km + [S]);
[AMP] = Atotal - [ATP] - [ADP];
På samme måde kan man angive en formel for en parameter, således at denne løbende udregnes:
energycharge = ([ATP] + 0.5*[ADP])/([ATP]
+ [ADP] + [AMP]);
1) hjælpeparametreDe enkelte elementer gennemgåes i detaljer herunder.
2) parameterdefinitioner
3) reaktionsbeskrivelser
4) støkiometriske bånd
5) begyndelseskoncentrationer
datafile = "filename";
Angiver navnet på outputfilen. Hvis denne hjælpeparameter
ikke angives placeres chems output i filen "chemdat".
stime = 0;
Starttid for integrationen. Hvis intet angives sættes stime
til nul.
dtime = 0.1;
Tidsskridt for udskrift til outputfilen. Bestemmer udelukkende hvor
ofte der skrives ud, og har ingen indflydelse på integrationens tidsskridt.
Hvis intet angives sættes dtime
til en.
etime = 400;
Sluttidspunkt for integrationen. Bestemmer hvor længe der skal
integreres. Hvis intet angives integreres til tiden 10.
epsr = 1.0E-10;
Ønsket relativ nøjagtighed af integrationen. Se Numerical
Recipes for detaljer.Kan udelades.
epsa = 1.0E-18;
Ønsket absolut nøjagtighed af integrationen. Se Numerical
Recipes for detaljer.Kan udelades.
modestiff = 1;
Angiver hvilken integrationsmetode der skal anvendes. Kan udelades.
(1: BDF til stive systemer . 0: ADAMS til systemer der ikke er stive. Hvis
intet angives bruges "modestiff = 1;".)
T = 273.15;
k1 = 7.9E13;
Man kan også angive en liste af parameterværdier. Systemet integreres så en gang med hver parameterværdi i listen. Alt output placeres i den samme outputfil, hvor de forskellige kørsler er adskildt af to blanke linier. Dette betyder, at man kan plotte resultaterne af de enkelte kørsler hver for sig ved hjælp af gnuplots plottefunktions nøgleord "index". Parameterlisten kan angives på to måder. Enten angives alle de ønskede parameterværdier efter hinanden adskildt af komma:
T = 268.15, 273.15, 278.15, 283.15;
eller også angives et interval af parameterværdier på formen startværdi : slutværdi : skridtlængde. F.eks. har
T = 268.15 : 283.15 : 5;
den samme virkning som den foregående parametertildeling.
x' = 1.23*x*y;
[A](0) = 2.5E-3;
Hvis man ikke angiver en begyndelsesværdi for en variabel sættes dens startværdi til nul. Man kan ikke direkte lave en liste af begyndelseskoncentrationer, men det kan gøres indirekte ved at sætte en begyndelsesværdi lig med en parameter, som så kan varieres.