Xcos solvers : Sundials Dormand-Price 4(5) implementation
[scilab.git] / scilab / modules / xcos / help / en_US / solvers / CVode.xml
index 2a782c7..23561e1 100644 (file)
@@ -13,7 +13,7 @@
     <refnamediv>
         <refname>CVode</refname>
         <refpurpose>
-            <emphasis>CVode</emphasis> is a numerical solver providing an efficient and stable method to solve ODE Initial Value Problems. Called by scicos(), it uses either <emphasis>BDF</emphasis> or <emphasis>Adams</emphasis> as implicit integration method, and <emphasis>Newton</emphasis> or <emphasis>Functional</emphasis> iterations
+            <emphasis>CVode</emphasis> is a numerical solver providing an efficient and stable method to solve Ordinary Differential Equations (ODEs) Initial Value Problems. Called by <link linkend="xcos">xcos</link>, it uses either <emphasis>BDF</emphasis> or <emphasis>Adams</emphasis> as implicit integration method, and <emphasis>Newton</emphasis> or <emphasis>Functional</emphasis> iterations
         </refpurpose>
     </refnamediv>
     <refsection>
@@ -33,7 +33,7 @@
             <emphasis>
                 y<subscript>0</subscript>
             </emphasis>
-            ,<emphasis>CVode</emphasis> approximates 
+            , <emphasis>CVode</emphasis> approximates 
             <emphasis>
                 y<subscript>n+1</subscript>
             </emphasis>
@@ -54,7 +54,7 @@
                 <emphasis>
                     y(t<subscript>n</subscript>)
                 </emphasis>
-                ,and 
+                , and 
                 <emphasis>
                     h<subscript>n</subscript>
                 </emphasis>
         <para>
             Following the criticality of the event (its effect on the continuous problem), we either relaunch the solver with different start and final times as if nothing happened, or, if the system has been modified, we need to "cold-restart" the problem by reinitializing it anew and relaunching the solver.
         </para>
+        <para>
+            Averagely, <emphasis>CVode</emphasis> accepts tolerances up to 10<superscript>-16</superscript>. Beyond that, it returns a <emphasis>Too much accuracy</emphasis> requested error.
+        </para>
     </refsection>
     <refsection>
         <title>Examples</title>
                 </inlinemediaobject>
             </link>
             <scilab:image><![CDATA[
+loadScicos();
+loadXcosLibs();
 importXcosDiagram(SCI + "/modules/xcos/examples/solvers/ODE_Example.xcos");
-xcos_simulate(scs_m, 4);
+scs_m.props.tol(6) = 1;
+try xcos_simulate(scs_m, 4); catch disp(lasterror()); end;
 ]]></scilab:image>
         </para>
         <para>
@@ -195,16 +201,18 @@ xcos_simulate(scs_m, 4);
         <para>
             <programlisting language="example"><![CDATA[
       // Import the diagram and set the ending time
+      loadScicos();
+      loadXcosLibs();
       importXcosDiagram("SCI/modules/xcos/examples/solvers/ODE_Example.xcos");
-      scs_m.props.tf = 3500;
+      scs_m.props.tf = 10000;
 
       // Select the solver BDF / Newton
-      scs_m.props.tol(6) = 0;
+      scs_m.props.tol(6) = 1;
 
       // Start the timer, launch the simulation and display time
-      timer();
-      xcos_simulate(scs_m, 4);
-      t = timer();
+      tic();
+      try xcos_simulate(scs_m, 4); catch disp(lasterror()); end;
+      t = toc();
       disp(t, "Time for BDF / Newton :");
       ]]></programlisting>
         </para>
@@ -212,7 +220,7 @@ xcos_simulate(scs_m, 4);
             The Scilab console displays :
             <screen><![CDATA[
 Time for BDF / Newton :
- 27.549
+ 33.997
             ]]></screen>
         </para>
         <para>
@@ -225,16 +233,16 @@ Time for BDF / Newton :
             Results :
             <screen language="example"><![CDATA[
 Time for BDF / Newton :
- 25.457
+ 12.998
 
 Time for BDF / Functional :
- 24.893
-
-Time for Adams / Functional :
- 20.049
+ 12.256
 
 Time for Adams / Newton :
- 20.469
+ 8.577
+
+Time for Adams / Functional :
+ 8.002
             ]]></screen>
         </para>
         <para>
@@ -248,9 +256,15 @@ Time for Adams / Newton :
                 <link linkend="IDA">IDA</link>
             </member>
             <member>
+                <link linkend="LSodar">LSodar</link>
+            </member>
+            <member>
                 <link linkend="RK">Runge-Kutta 4(5)</link>
             </member>
             <member>
+                <link linkend="DoPri">Dormand-Price 4(5)</link>
+            </member>
+            <member>
                 <link linkend="ode">ode</link>
             </member>
             <member>