Xcos tests: recompile Modelica diagrams
[scilab.git] / scilab / modules / scicos / tests / unit_tests / Solvers / DAE / DDaskrN_Platform.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- ENGLISH IMPOSED -->
9 //
10 // <-- XCOS TEST -->
11 //
12
13 ilib_verbose(0); //to remove ilib_* traces
14
15 // Import diagram
16 assert_checktrue(importXcosDiagram("SCI/modules/xcos/tests/unit_tests/Solvers/DAE/Platform.zcos"));
17
18 // Redefining messagebox() to avoid popup
19 prot = funcprot();
20 funcprot(0);
21 function messagebox(msg, msg_title)
22 endfunction
23
24 for i=1:3  // 'max step size' = 10^-i, precision
25
26     // Start by updating the clock block period (sampling)
27     Context.per = 5*10^-i;
28
29     // Modify solver + run DDaskr + save results
30     scs_m.props.tol(6) = 101;     // Solver
31     scicos_simulate(scs_m, Context); // DDaskr
32     ddaskrval = res.values;       // Results
33
34     // Modify solver + run IDA + save results
35     scs_m.props.tol(6) = 100;     // Solver
36     scicos_simulate(scs_m, Context); // IDA
37     idaval = res.values;          // Results
38
39     // Compare results
40     compa = abs(ddaskrval-idaval);
41
42     // Extract mean, standard deviation, maximum
43     mea = mean(compa);
44     [maxi, indexMaxi] = max(compa);
45     stdeviation = st_deviation(compa);
46
47     // Verifying closeness of the results
48     assert_checktrue(maxi <= 5*10^-(i+3));
49     assert_checktrue(mea <= 5*10^-(i+3));
50     assert_checktrue(stdeviation <= 5*10^-(i+3));
51
52 end
53 funcprot(prot);