Skip to content

Commit

Permalink
Corrected errors in main.ml
Browse files Browse the repository at this point in the history
  • Loading branch information
andreeabeica committed Mar 4, 2017
1 parent fa7b945 commit 9955e71
Show file tree
Hide file tree
Showing 35 changed files with 840 additions and 496 deletions.
135 changes: 41 additions & 94 deletions Matlab_code/ODE.m
Original file line number Diff line number Diff line change
@@ -1,103 +1,50 @@
function dydt= ODE(t, y, parameters)
dmI = parameters(1);
Kq = parameters(2);
wt = parameters(3);
dA = parameters(4);
vm = parameters(5);
wm = parameters(6);
w0 = parameters(7);
nr = parameters(8);
s = parameters(9);
hA = parameters(10);
hI = parameters(11);
thetax = parameters(12);
wA = parameters(13);
kI = parameters(14);
nx = parameters(15);
wq = parameters(16);
kA = parameters(17);
we = parameters(18);
hq = parameters(19);
wr = parameters(20);
dm = parameters(21);
dI = parameters(22);
ns = parameters(23);
kb = parameters(24);
M = parameters(25);
Kt = parameters(26);
wI = parameters(27);
dmA = parameters(28);
thetar = parameters(29);
gammamax = parameters(30);
ku = parameters(31);
Kgamma = parameters(32);
Km = parameters(33);
vt = parameters(34);
m1 = parameters(1);
m2 = parameters(2);
fa0 = parameters(3);
fb0 = parameters(4);
sinkZf = parameters(5);
sinkCf = parameters(6);
ii = parameters(7);
sourceS0f = parameters(8);
k = parameters(9);
sourceXf = parameters(10);
hh = parameters(11);
sinkYf = parameters(12);
gg = parameters(13);
f1 = parameters(14);


si = y(1);
a = y(2);
mr = y(3);
mt = y(4);
mm = y(5);
mq = y(6);
mA = y(7);
mI = y(8);
r = y(9);
cr = y(10);
ct = y(11);
cm = y(12);
cq = y(13);
cA = y(14);
cI = y(15);
et = y(16);
em = y(17);
q = y(18);
A = y(19);
I = y(20);
A = y(1);
B = y(2);
S0 = y(3);
S1 = y(4);
C = y(5);
X = y(6);
Y = y(7);
Z = y(8);
E = y(9);
F = y(10);
G = y(11);
M1 = y(12);
M2 = y(13);


Rt = cr+ct+cm+cq;
alpha = (A/kA)^hA;
beta = (I/kI)^hI;
gamma = gammamax*a/(Kgamma+a);
omegam = wm*a/(thetax+a);
omegaq = wq*a/(thetax+a)/(1+(q/Kq)^hq);
omegar = wr*a/(thetar+a);
omegat = we*a/(thetax+a);
vcat = em*vm*si/(Km+si);
vimp = et*vt*s/(Kt+s);
R = alpha/(1+alpha+beta+alpha*beta);
lam = gamma*Rt/M;
nuA = cA*gamma/nx;
nuI = cI*gamma/nx;
num = cm*gamma/nx;
nuq = cq*gamma/nx;
nur = cr*gamma/nr;
nut = ct*gamma/nx;
omegaA = wA*R*a/(thetax+a);
omegaI = wI*R*a/(thetax+a);
ff = 2*hh;


dydt(size(y,1),1)= 0;
dydt(1)= +vimp -vcat -lam*si ;
dydt(2)= + ns * vcat -nr * nur -nx * nut -nx * num -nx * nuq -nx * nuA -nx * nuI -lam*a ;
dydt(3)= +omegar -kb*r*mr +ku*cr +nur -dm*mr -lam*mr ;
dydt(4)= +omegat -kb*r*mt +ku*ct +nut -dm*mt -lam*mt ;
dydt(5)= +omegam -kb*r*mm +ku*cm +num -dm*mm -lam*mm ;
dydt(6)= +omegaq -kb*r*mq +ku*cq +nuq -dm*mq -lam*mq ;
dydt(7)= +w0 +omegaA -kb*r*mA +ku*cA +nuA -dmA*mA -lam*mA ;
dydt(8)= +w0 +omegaI -kb*r*mI +ku*cI +nuI -dmI*mI -lam*mI ;
dydt(9)= -kb*r*mr +ku*cr -kb*r*mt +ku*ct -kb*r*mm +ku*cm -kb*r*mq +ku*cq -kb*r*mA +ku*cA -kb*r*mI +ku*cI + 2. * nur +nut +num +nuq +nuA +nuI -lam*r ;
dydt(10)= +kb*r*mr -ku*cr -nur -lam*cr ;
dydt(11)= +kb*r*mt -ku*ct -nut -lam*ct ;
dydt(12)= +kb*r*mm -ku*cm -num -lam*cm ;
dydt(13)= +kb*r*mq -ku*cq -nuq -lam*cq ;
dydt(14)= +kb*r*mA -ku*cA -nuA -lam*cA ;
dydt(15)= +kb*r*mI -ku*cI -nuI -lam*cI ;
dydt(16)= +nut -lam*et ;
dydt(17)= +num -lam*em ;
dydt(18)= +nuq -lam*q ;
dydt(19)= +nuA -dA*A -lam*A ;
dydt(20)= +nuI -dI*I -lam*I ;
dydt(1)= -k*A +fa0*S0 +fa0*S0 -f1*A*B ;
dydt(2)= +k*A +fb0*S1 -f1*A*B ;
dydt(3)= +sourceS0f -fa0*S0 -fa0*S0 ;
dydt(4)= -fb0*S1 ;
dydt(5)= +f1*A*B -sinkCf*C ;
dydt(6)= +sourceXf ;
dydt(7)= -sinkYf*Y ;
dydt(8)= -5. * sinkZf*Z^5 ;
dydt(9)= -ff*E -gg*E ;
dydt(10)= + 0.4 * ff*E -hh*F +ii*G ;
dydt(11)= +gg*E +hh*F -ii*G ;
dydt(12)= -m1*M1 +m2*M2 ;
dydt(13)= +m1*M1 -m2*M2 ;
end
35 changes: 14 additions & 21 deletions Matlab_code/initial.m
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
function init = initial ()
%define initial conditions
si = 0;
a = 10000.0;
mr = 0;
mt = 0;
mm = 0;
mq = 0;
mA = 0;
mI = 0;
r = 10.0;
cr = 0;
ct = 0;
cm = 0;
cq = 0;
cA = 0;
cI = 0;
et = 0;
em = 0;
q = 0;
A = 10.0;
I = 0;
init = [ si a mr mt mm mq mA mI r cr ct cm cq cA cI et em q A I ];
A = 0;
B = 0;
S0 = 0;
S1 = 0;
C = 0;
X = 0;
Y = 0;
Z = 0;
E = 0;
F = 0;
G = 0;
M1 = 0;
M2 = 0;
init = [ A B S0 S1 C X Y Z E F G M1 M2 ];
end
33 changes: 13 additions & 20 deletions Matlab_code/main.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,16 @@
tf = 1e5;
[t,y] = ode15s(@(t,y) ODE(t, y, parameters), [t0,tf], init);
%assign species names
si = y(:, 1);
a = y(:, 2);
mr = y(:, 3);
mt = y(:, 4);
mm = y(:, 5);
mq = y(:, 6);
mA = y(:, 7);
mI = y(:, 8);
r = y(:, 9);
cr = y(:, 10);
ct = y(:, 11);
cm = y(:, 12);
cq = y(:, 13);
cA = y(:, 14);
cI = y(:, 15);
et = y(:, 16);
em = y(:, 17);
q = y(:, 18);
A = y(:, 19);
I = y(:, 20);
A = y(:, 1);
B = y(:, 2);
S0 = y(:, 3);
S1 = y(:, 4);
C = y(:, 5);
X = y(:, 6);
Y = y(:, 7);
Z = y(:, 8);
E = y(:, 9);
F = y(:, 10);
G = y(:, 11);
M1 = y(:, 12);
M2 = y(:, 13);
50 changes: 15 additions & 35 deletions Matlab_code/parameters.m
Original file line number Diff line number Diff line change
@@ -1,38 +1,18 @@
function params = parameters ()
%define parameters
dmI = 0.12;
Kq = 152219;
wt = 4.14;
dA = 0.29;
vm = 5800;
wm = 4.14;
w0 = 0.01;
nr = 7459;
s = 1e4;
hA = 2;
hI = 4;
thetax = 4.38;
wA = 640;
kI = 160;
nx = 300;
wq = 948.93;
kA = 160;
we = 4.14;
hq = 4;
wr = 930;
dm = 0.1;
dI = 0.06;
ns = 0.5;
kb = 1;
M = 1e8;
Kt = 1000;
wI = 320;
dmA = 0.88;
thetar = 426.87;
gammamax = 1260;
ku = 1;
Kgamma = 7;
Km = 1000;
vt = 726;
params = [ dmI Kq wt dA vm wm w0 nr s hA hI thetax wA kI nx wq kA we hq wr dm dI ns kb M Kt wI dmA thetar gammamax ku Kgamma Km vt ];
m1 = 3;
m2 = 5.4;
fa0 = 10;
fb0 = 8;
sinkZf = 1;
sinkCf = 10;
ii = 5;
sourceS0f = 1;
k = 3;
sourceXf = 1;
hh = 10;
sinkYf = 9;
gg = 0;
f1 = 5;
params = [ m1 m2 fa0 fb0 sinkZf sinkCf ii sourceS0f k sourceXf hh sinkYf gg f1 ];
end
40 changes: 17 additions & 23 deletions _build/_digests
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
"Rule: ocaml dependencies ml (%=lexer )": "~g\226\141Fp\023\194\185>\224\181\245\244\176%"
"Rule: ocaml: menhir dependencies (%=parser )": "\001\158H\0294\173\242ubb\222\147\208K7\028"
"Resource: /Users/andreeabeica/Desktop/ODEgen/parser.mly": "\020\230\243\141\228|\236\018\242\152\018\161\158\142\255\002"
"Rule: ocaml: ml & cmi -> cmx & o (%=lexer )": "\190\151K\235)8\246\184V\141r/\233\156\146'"
"Rule: ocaml: ml & cmi -> cmx & o (%=parser )": "q\159\228\176 \227\\\224=\241\1297\188\251{>"
"Resource: /Users/andreeabeica/Desktop/ODEgen/main.ml": "\195\196\251\253\206\144Y\\\237\176[\247\167\232K\242"
"Resource: /home/andreea/Bureau/ODEgen/parser.mly": "\170\005\025~(^\182d\217\235\226\147\180>S>"
"Resource: /home/andreea/Bureau/ODEgen/lexer.mll": "\227\023\172\190\216g\199ZT\216\2327k\027K\r"
"Rule: ocamllex (%=lexer )": "|\209\151C\2214~\230\127\186\200L\169\202\b/"
"Rule: ocaml dependencies ml (%=parser )": "\178\154m fT]\199i\137\235r\166\255\210\002"
"Rule: ocaml: ml & cmi -> cmo (%=parser )": "C\175\2558\136\231\246\141`2a\219\178\029\220%"
"Resource: /home/andreea/Bureau/ODEgen/ast.mli": "k-\002\160+\149\012Q\174@%NT\006\231O"
"Rule: ocaml: ml -> cmo & cmi (%=lexer )": "^R\157x\016\165\130\218\166VD\158ZI\198\169"
"Rule: ocaml dependencies ml (%=lexer )": "\150u\255\219i\237]\"\190\168\180T|VP9"
"Rule: ocaml: menhir dependencies (%=parser )": "i\001dl~/\136\185\200\232p\006\231\219\227\233"
"Resource: /Users/andreeabeica/Desktop/ODEgen/parser.mly": "Q23\149\185\212\012-\206\176\000\152\218\184\166\235"
"Rule: ocaml: ml & cmi -> cmx & o (%=lexer )": "\2025B\133\214\181E\tZ\153\204\238\005\142\191\145"
"Rule: ocaml: ml & cmi -> cmx & o (%=parser )": "\215\016\168\130\132\199tl\184|\222]\175O#p"
"Resource: /Users/andreeabeica/Desktop/ODEgen/main.ml": "].e\238\147\182\164\0111\247\199\165\131\185\166Z"
"Rule: ocamllex (%=lexer )": "ea0\022\028W-\197\1435\164XE\194\248d"
"Rule: ocaml dependencies ml (%=parser )": "r\144J\020\179\193\187\254\200\135\192\011\139\209\154U"
"Rule: ocaml: ml -> cmo & cmi (%=lexer )": "\194\188\144\174r\146\224\250\237\021\005\164\238\146\253\235"
"Rule: ocaml dependencies mli (%=ast )": "\001\1978\172\006\018Xn\b\194\158\214~\252Z\190"
"Resource: /Users/andreeabeica/Desktop/ODEgen/lexer.mll": "\227\023\172\190\216g\199ZT\216\2327k\027K\r"
"Rule: ocaml: ml & cmi -> cmx & o (%=main )": "U\180\141\189w})\213\228\164\221N\011\023\003\198"
"Rule: ocaml: cmo* -> byte (%=main )": "\152\186\184y*\142\133/\1782ax\012\189\012F"
"Rule: ocaml: ml -> cmo & cmi (%=main )": "\012Q\245\168\205\016|\247\162d\b\236fYyW"
"Resource: /Users/andreeabeica/Desktop/ODEgen/lexer.mll": "(\173\171\181\146'p\147\239\145\159\151\t\197\144\031"
"Rule: ocaml: ml & cmi -> cmx & o (%=main )": "\230\161\211\223\198\164\158\160\172\232P\198\027>\165\142"
"Rule: ocaml: ml -> cmo & cmi (%=main )": "\158V\n\194\222GE~\217\143G\129\029[nD"
"Rule: ocaml: mli -> cmi (%=ast )": "\142\235\172&\156A\232\147\153\029\179\127\181J\215]"
"Resource: /home/andreea/Bureau/ODEgen/main.ml": "_\195lwh_\028\254\203\207\234\229\159\027\215\163"
"Rule: ocaml dependencies mli (%=parser )": "\b\213\203\207\164N\146\156;\228\234\145\1585^\234"
"Rule: ocaml dependencies ml (%=main )": "\017\238\160\209I4a\1418\tD\017w:\181\137"
"Rule: ocaml: menhir (%=parser )": "\221$\r\204\176\206s\000!\180\172U\017/Z\017"
"Rule: ocaml: mli -> cmi (%=parser )": "LZ\247\133\007\1969\129T\r^\012\251\218\209\185"
"Rule: ocaml dependencies mli (%=parser )": "\220\218Vv\225\204,\150\1608\224\244\185\134\143\165"
"Rule: ocaml dependencies ml (%=main )": "\165\141>\166\004\017\182xc\245\231dw\174\218\146"
"Rule: ocaml: menhir (%=parser )": "i\1842V\183\232\172\250\195vuvG|\n."
"Rule: ocaml: mli -> cmi (%=parser )": "\175\020\242.\157\216\180\154A\216\142\230IHw\177"
"Resource: /Users/andreeabeica/Desktop/ODEgen/ast.mli": "k-\002\160+\149\012Q\174@%NT\006\231O"
"Rule: ocaml: cmx* & o* -> native (%=main )": "\135Yc\211\155\158\170\207 \212H\151*x\189\194"
"Rule: ocaml: cmx* & o* -> native (%=main )": "-\182\0062uU@\154\131\231\158\231W{\026c"
4 changes: 2 additions & 2 deletions _build/_log
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ ocamlc.opt -c -o lexer.cmo lexer.ml # cached
# Target: main.cmo, tags: { byte, compile, extension:cmo, extension:ml, file:main.cmo, file:main.ml, implem, ocaml, quiet }
ocamlc.opt -c -o main.cmo main.ml
+ ocamlc.opt -c -o main.cmo main.ml
File "main.ml", line 645, characters 6-603:
File "main.ml", line 680, characters 6-603:
Warning 10: this expression should have type unit.
# Target: parser.ml.depends, tags: { extension:ml, file:parser.ml, ocaml, ocamldep, quiet }
ocamldep.opt -modules parser.ml > parser.ml.depends # cached
Expand All @@ -33,7 +33,7 @@ ocamlopt.opt -c -o lexer.cmx lexer.ml # cached
# Target: main.cmx, tags: { compile, extension:cmx, extension:ml, file:main.cmx, file:main.ml, implem, native, ocaml, quiet }
ocamlopt.opt -c -o main.cmx main.ml
+ ocamlopt.opt -c -o main.cmx main.ml
File "main.ml", line 645, characters 6-603:
File "main.ml", line 680, characters 6-603:
Warning 10: this expression should have type unit.
# Target: main.native, tags: { dont_link_with, extension:native, file:main.native, link, native, ocaml, program, quiet }
ocamlopt.opt str.cmxa parser.cmx lexer.cmx main.cmx -o main.native
Expand Down
Binary file modified _build/lexer.cmi
Binary file not shown.
Binary file modified _build/lexer.cmo
Binary file not shown.
Binary file modified _build/lexer.cmx
Binary file not shown.
Loading

0 comments on commit 9955e71

Please sign in to comment.