Xcos solvers : Sundials explicit Runge-Kutta 4(5) implem and interface
[scilab.git] / scilab / modules / xcos / examples / solvers / integRK.sce
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2012 - Scilab Enterprises - Paul Bignier
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING,
6 // which you should have received as part of this distribution.
7 // The terms are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // Run with exec("SCI/modules/xcos/examples/solvers/integRK.sce");
11
12 // Import the diagram and augment the ending time
13 loadScicos();
14 loadXcosLibs();
15 importXcosDiagram("SCI/modules/xcos/examples/solvers/ODE_Example.xcos");
16 scs_m.props.tf = 30000;
17
18 solverName=["BDF/Newton", "BDF/Functional", "Adams/Newton", "Adams/Functional", "Runge-Kutta"];
19
20 for solver=1:5
21
22  // Select the solver (Runge-Kutta is solver number 6)
23  scs_m.props.tol(6) = solver;
24  if (solver == 5) then scs_m.props.tol(6) = 6; end
25
26  // Set max step size if Runge-Kutta is selected
27  if (solver == 5) then scs_m.props.tol(7) = 0.01; end
28
29  // Start the timer, launch the simulation and display time
30  tic();
31  try scicos_simulate(scs_m, 'nw'); catch disp(lasterror()); end;
32  t = toc();
33  disp(t, "Time for " + solverName(solver) + " :");
34
35 end