Differential_equations demos: fix & workaround 78/18878/3
Paul Bignier [Fri, 13 Jan 2017 15:42:01 +0000 (16:42 +0100)]
 * Chemical demo: hard to find because it looked like Scilab5 had it right but it was the wrong one...
 * Reactor demo: workaround for a bug in the parser: 'scf //' works but not 'scf //c' (syntaxic sugar bug)

Change-Id: Ide3000b1db8d5be4799b55095036ee939f719b67

scilab/modules/differential_equations/demos/ode/ode.dem.gateway.sce
scilab/modules/differential_equations/demos/ode/ode_chimpl/ode_chimpl.dem.sce
scilab/modules/differential_equations/demos/ode/ode_reactor/ode_reactor.sce

index 782b881..444e342 100644 (file)
@@ -5,14 +5,14 @@
 
 demopath = get_absolute_file_path("ode.dem.gateway.sce");
 
-subdemolist = ["Simple ODE"                   ,"ode_simple/ode_simple.dem.sce"       ; ..
-"Chemical process (Stiff)"     ,"ode_chstiff/ode_chstiff.dem.sce"     ; ..
-"Chemical process (Implicit)"  ,"ode_chimpl/ode_chimpl.dem.sce"       ; ..
-"Lorenz equation"              ,"ode_lorenz/ode_lorenz.dem.sce"     ; ..
-"ODE 1D vector field"          ,"ode_1dvect/ode_1dvect.dem.sce"       ; ..
-"Van der Pol vector field"     ,"ode_vanderpol/ode_vanderpol.dem.sce" ; ..
-"Nonisothermal plug flow reactor model"     ,"ode_reactor/ode_reactor.sce" ; ..
-"Lotka-Volterra vector field"  ,"ode_lotka/ode_lotka.dem.sce"         ];
+subdemolist = ["Simple ODE"             , "ode_simple/ode_simple.dem.sce"       ; ..
+"Chemical process (Stiff)"              , "ode_chstiff/ode_chstiff.dem.sce"     ; ..
+"Chemical process (Implicit)"           , "ode_chimpl/ode_chimpl.dem.sce"       ; ..
+"Lorenz equation"                       , "ode_lorenz/ode_lorenz.dem.sce"       ; ..
+"ODE 1D vector field"                   , "ode_1dvect/ode_1dvect.dem.sce"       ; ..
+"Van der Pol vector field"              , "ode_vanderpol/ode_vanderpol.dem.sce" ; ..
+"Nonisothermal plug flow reactor model" , "ode_reactor/ode_reactor.sce"         ; ..
+"Lotka-Volterra vector field"           , "ode_lotka/ode_lotka.dem.sce"         ];
 
 subdemolist(:,2) = demopath + subdemolist(:,2);
-clear demopath;
\ No newline at end of file
+clear demopath;
index 3c5da53..d0ff5ad 100644 (file)
@@ -13,7 +13,6 @@ function demo_ode_chimpl()
         r(3)=y(1)+y(2)+y(3)-1;
     endfunction
 
-
     function p=chemad(t,y,p),p=p+diag([1 1 0]),endfunction
 
     function p=chemjac(t,y,yd)
@@ -27,8 +26,9 @@ function demo_ode_chimpl()
     y0   = [1;0;0];
     yd0  = [-0.04;0.04;0];
     t    = [1.d-5:0.02:.4 0.41:.1:4 40 400 4000 40000 4d5 4d6 4d7 4d8 4d9 4d10];
-    rtol = 1d-4;atol=[1.d-6;1.d-10;1.d-6];
-    y    = impl(y0,yd0,0,t,rtol,atol,chemres,chemad,chemjac);
+    atol = [1.d-6;1.d-10;1.d-6];
+    rtol = 1d-4;
+    y    = impl(y0,yd0,0,t,atol,rtol,chemres,chemad,chemjac);
 
     // visualization
 
@@ -49,4 +49,4 @@ function demo_ode_chimpl()
 endfunction
 
 demo_ode_chimpl();
-clear demo_ode_chimpl;
\ No newline at end of file
+clear demo_ode_chimpl;
index 8aad61c..ad27d0e 100644 (file)
@@ -8,7 +8,7 @@ function nonisothermal_reactor()
     //system of ODEs example
     //nonisothermal plug flow reactor model
 
-    global w dR mc cpc U cp ro //declare global variables for ODE function
+    global w dR mc cpc U cp ro; //declare global variables for ODE function
 
     function [F] = odefun (t,y)
         global w dR mc cpc U cp ro
@@ -50,7 +50,7 @@ function nonisothermal_reactor()
     Tc = solution(4,:);
 
     f = scf(1); //create new figure, figure_id=1
-    clf    //clear previous graph
+    clf;    //clear previous graph
     plot(z',[cA; cB]')
     legend("Concentration of compound A","Concentration of compound B"); //make legend for lines
     xlabel("z [m]")  //tag x axis
@@ -58,7 +58,7 @@ function nonisothermal_reactor()
 
     g = scf(2); //figure_id=2
     g.figure_position(1) = g.figure_position(1)+f.figure_size(1); // So the windows don't overlay
-    clf
+    clf;
     plot(z',[T; Tc]')
     legend("Temperature of reaction mixture","Temperature of cooling water");
     xlabel("z [m]")