Help build: remove the householder image demo which open scinotes
[scilab.git] / scilab / modules / xcos / help / en_US / scilab_data_structures / compilation_simulation / scicos_sim.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scicos
4  * 
5  * Copyright (C) INRIA - METALAU Project <scicos@inria.fr> (HTML version)
6  * Copyright (C) DIGITEO - Scilab Consortium (XML Docbook version)
7  * 
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  * 
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  * 
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  * 
22  * See the file ./license.txt
23  -->
24 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="scicos_sim">
25     <refnamediv>
26         <refname>scicos_sim</refname>
27         <refpurpose>Define a sim structure</refpurpose>
28     </refnamediv>
29     <refsection id="Module_scicos_sim">
30         <title>Module</title>
31         <itemizedlist>
32             <listitem>
33                 <para>
34                     <link linkend="xcos">xcos</link>
35                 </para>
36             </listitem>
37         </itemizedlist>
38     </refsection>
39     <refsection id="sim_scicos_sim">
40         <title>sim</title>
41         <para>
42             Scilab typed list of type scs. It contains 
43             static arrays coming from the result of the
44             compilation. That arrays does not evolve
45             during the simulation.
46         </para>
47         <para>
48         </para>
49         <para>
50         </para>
51         <para>
52             Size : 33.
53         </para>
54         <para>
55             Type : scilab tlist.
56         </para>
57         <para>
58             
59         </para>
60         <itemizedlist>
61             <listitem>
62                 <para>
63                     <emphasis role="bold">funs</emphasis>
64                 </para>
65                 <para> A list containing names of the computational functions or scilab functions.</para>
66                 <para> 
67                     Size : number of blocks.
68                 </para>
69                 <para>
70                     Type : list of strings and/or scilab function.
71                 </para>
72             </listitem>
73             <listitem>
74                 <para>
75                     <emphasis role="bold">xptr</emphasis>
76                 </para>
77                 <para> A vector pointer to the continuous time state register x. The continuous-time state of block i is state.x(sim.xptr(i):sim.xptr(i+1)-1).</para>
78                 <para> 
79                     Size : number of blocks + 1.
80                 </para>
81                 <para>
82                     Type : column vector of integers.
83                 </para>
84             </listitem>
85             <listitem>
86                 <para>
87                     <emphasis role="bold">zptr</emphasis>
88                 </para>
89                 <para> A vector pointer to the discrete time state register z. The discrete-time state of block i is state.z(sim.zptr(i):sim.zptr(i+1)-1).</para>
90                 <para> 
91                     Size : number of blocks + 1.
92                 </para>
93                 <para>
94                     Type : column vector of integers.
95                 </para>
96             </listitem>
97             <listitem>
98                 <para>
99                     <emphasis role="bold">ozptr</emphasis>
100                 </para>
101                 <para> A vector pointer to the object discrete state register oz. The object discrete state of block i is state.oz(sim.ozptr(i):sim.ozptr(i+1)-1).</para>
102                 <para> 
103                     Size : number of blocks + 1.
104                 </para>
105                 <para>
106                     Type : column vector of integers.
107                 </para>
108             </listitem>
109             <listitem>
110                 <para>
111                     <emphasis role="bold">zcptr</emphasis>
112                 </para>
113                 <para> A vector pointer to the zero-crossing surfaces.</para>
114                 <para> register. That vector gives by block the used number of the zero-crossing.</para>
115                 <para> 
116                     Size : number of blocks + 1.
117                 </para>
118                 <para>
119                     Type : column vector of integers.
120                 </para>
121             </listitem>
122             <listitem>
123                 <para>
124                     <emphasis role="bold">inpptr</emphasis>
125                 </para>
126                 <para> (sim.inpptr(i+1)-sim.inpptr(i)) gives the number of regular input ports of the i block.</para>
127                 <para> inpptr(i) points to the beginning of ith block inputs within the indirection table inplnk.</para>
128                 <para> 
129                     Size : number of blocks + 1.
130                 </para>
131                 <para>
132                     Type : column vector of integers.
133                 </para>
134             </listitem>
135             <listitem>
136                 <para>
137                     <emphasis role="bold">outptr</emphasis>
138                 </para>
139                 <para> (sim.outptr(i+1)-sim.outptr(i)) gives the number of regular output ports of the i block.</para>
140                 <para> outptr(i) points to the beginning of ith block outputs within the indirection table outlnk.</para>
141                 <para> 
142                     Size : number of blocks + 1.
143                 </para>
144                 <para>
145                     Type : column vector of integers.
146                 </para>
147             </listitem>
148             <listitem>
149                 <para>
150                     <emphasis role="bold">inplnk</emphasis>
151                 </para>
152                 <para> (cpr.sim.inplnk(cpr.sim.inpptr(i)-1+j)) is the index of the link connected to the jth input port of the ith block where j goes from 1 to (cpr.sim.inpptr(i+1)-cpr.sim.inpptr(i)).</para>
153                 <para> 
154                     Size : total number of regular input port.
155                 </para>
156                 <para>
157                     Type : column vector of integers.
158                 </para>
159             </listitem>
160             <listitem>
161                 <para>
162                     <emphasis role="bold">outlnk</emphasis>
163                 </para>
164                 <para> (cpr.sim.outlnk(cpr.sim.outptr(i)-1+j)) is the index of the link connected to the jth output port of the ith block where j goes from 1 to (cpr.sim.outptr(i+1)-cpr.sim.outptr(i)).</para>
165                 <para> 
166                     Size : total number of regular output port.
167                 </para>
168                 <para>
169                     Type : column vector of integers.
170                 </para>
171             </listitem>
172             <listitem>
173                 <para>
174                     <emphasis role="bold">rpar</emphasis>
175                 </para>
176                 <para> Vector of real parameters that is obtained by concatenating the real parameters registers of all the blocks.</para>
177                 <para> 
178                     Size : total number of real parameters.
179                 </para>
180                 <para>
181                     Type : column vector of real numbers.
182                 </para>
183             </listitem>
184             <listitem>
185                 <para>
186                     <emphasis role="bold">rpptr</emphasis>
187                 </para>
188                 <para> A vector pointer to the real parameters register rpar. The real parameters of block i are sim.rpar(sim.rpptr(i):sim.rpptr(i+1)-1).</para>
189                 <para> 
190                     Size : number of blocks + 1.
191                 </para>
192                 <para>
193                     Type : column vector of integer.
194                 </para>
195             </listitem>
196             <listitem>
197                 <para>
198                     <emphasis role="bold">ipar</emphasis>
199                 </para>
200                 <para> Vector of integer parameters that is obtained by concatenating the integer parameters registers of all the blocks.</para>
201                 <para> 
202                     Size : total number of integer parameters.
203                 </para>
204                 <para>
205                     Type : column vector of integer.
206                 </para>
207             </listitem>
208             <listitem>
209                 <para>
210                     <emphasis role="bold">ipptr</emphasis>
211                 </para>
212                 <para> A vector pointer to the integer parameters register ipar. The integer parameters of block i are sim.ipar(sim.ipptr(i):sim.ipptr(i+1)-1).</para>
213                 <para> 
214                     Size : number of blocks + 1.
215                 </para>
216                 <para>
217                     Type : column vector of real numbers.
218                 </para>
219             </listitem>
220             <listitem>
221                 <para>
222                     <emphasis role="bold">opar</emphasis>
223                 </para>
224                 <para> List of object parameters that is obtained by concatenating the list of object parameters of all the blocks.</para>
225                 <para> 
226                     Size : total number of object parameters.
227                 </para>
228                 <para>
229                     Type : list of scilab objects.
230                 </para>
231             </listitem>
232             <listitem>
233                 <para>
234                     <emphasis role="bold">opptr</emphasis>
235                 </para>
236                 <para> A vector pointer to the object parameters list opar. The object parameters of block i are sim.opar(sim.opptr(i):sim.opptr(i+1)-1).</para>
237                 <para> 
238                     Size : number of blocks + 1.
239                 </para>
240                 <para>
241                     Type : column vector of integers.
242                 </para>
243             </listitem>
244             <listitem>
245                 <para>
246                     <emphasis role="bold">clkptr</emphasis>
247                 </para>
248                 <para> A vector pointer to output activation ports.</para>
249                 <para> (cpr.sim.clkptr(i):cpr.sim.clkptr(i+1)-1) gives the number of output event ports of the block i.</para>
250                 <para> 
251                     Size : number of blocks + 1.
252                 </para>
253                 <para>
254                     Type : column vector of integers.
255                 </para>
256             </listitem>
257             <listitem>
258                 <para>
259                     <emphasis role="bold">ordptr</emphasis>
260                 </para>
261                 <para> A vector pointer to ordclk designating the part of ordclk corresponding to a given activation.</para>
262                 <para> (cpr.sim.ordptr(i):cpr.sim.ordptr(i+1)-1) points to the region within ordclk indicates the number of blocks activated by the output event ports numbered i.</para>
263                 <para> 
264                     Size : number of sources of activation + 1.
265                 </para>
266                 <para>
267                     Type : column vector of integers.
268                 </para>
269             </listitem>
270             <listitem>
271                 <para>
272                     <emphasis role="bold">execlk</emphasis>
273                 </para>
274                 <para> Unused.</para>
275                 <para> 
276                     Size : -
277                     Type : matrix of real.
278                 </para>
279             </listitem>
280             <listitem>
281                 <para>
282                     <emphasis role="bold">ordclk</emphasis>
283                 </para>
284                 <para> A matrix associated to blocks activated by output activation ports. The first column contains the block number, and the second, the event code by which the block should be called.</para>
285                 <para> 
286                     Size : total number of blocks summed by source of activations.
287                 </para>
288                 <para>
289                     Type : matrix of integers.
290                 </para>
291             </listitem>
292             <listitem>
293                 <para>
294                     <emphasis role="bold">cord</emphasis>
295                 </para>
296                 <para> A matrix associated to always active blocks.</para>
297                 <para> The first column contains the block number, and the second, the event code by which the block should be called.</para>
298                 <para> 
299                     Size : ncord.
300                 </para>
301                 <para>
302                     Type : matrix of integers.
303                 </para>
304             </listitem>
305             <listitem>
306                 <para>
307                     <emphasis role="bold">oord</emphasis>
308                 </para>
309                 <para> Subset of cord. Blocks of that matrix have outputs which affect computation of continuous state derivatives.</para>
310                 <para> 
311                     Size : noord.
312                 </para>
313                 <para>
314                     Type : matrix of integers.
315                 </para>
316             </listitem>
317             <listitem>
318                 <para>
319                     <emphasis role="bold">zord</emphasis>
320                 </para>
321                 <para> Subset of zord. Blocks of that matrix have outputs which affect computation of zero-crossing surfaces.</para>
322                 <para> 
323                     Size : nzord.
324                 </para>
325                 <para>
326                     Type : matrix of integers.
327                 </para>
328             </listitem>
329             <listitem>
330                 <para>
331                     <emphasis role="bold">critev</emphasis>
332                 </para>
333                 <para> A vector of size equal to the number of activations and containing zeros and ones. The value one indicates that the activation is critical in the sense that the continuous-time solver must be cold restarted.</para>
334                 <para> 
335                     Size : number of source of activation.
336                 </para>
337                 <para>
338                     Type : column vector of integers.
339                 </para>
340             </listitem>
341             <listitem>
342                 <para>
343                     <emphasis role="bold">nb</emphasis>
344                 </para>
345                 <para> Number of blocks. Note that the number of blocks may differ from the original number of blocks in the diagram because c_pass2 may duplicate some conditional blocks.</para>
346                 <para> 
347                     Size : 1.
348                 </para>
349                 <para>
350                     Type : integer.
351                 </para>
352             </listitem>
353             <listitem>
354                 <para>
355                     <emphasis role="bold">ztyp</emphasis>
356                 </para>
357                 <para> A vector of size equal to the number of blocks.</para>
358                 <para> A 1 entry indicates that the block may have zero-crossings, even if it does not in the context of the diagram. Usually not used by the simulator.</para>
359                 <para> 
360                     Size : number of blocks.
361                 </para>
362                 <para>
363                     Type : column vector of integers.
364                 </para>
365             </listitem>
366             <listitem>
367                 <para>
368                     <emphasis role="bold">nblk</emphasis>
369                 </para>
370                 <para> Not used. Set to nb.</para>
371                 <para> 
372                     Size : 1
373                     Type : integer.
374                 </para>
375             </listitem>
376             <listitem>
377                 <para>
378                     <emphasis role="bold">ndcblk</emphasis>
379                 </para>
380                 <para> Not used.</para>
381                 <para> 
382                     Size : -
383                     Type : integer.
384                 </para>
385             </listitem>
386             <listitem>
387                 <para>
388                     <emphasis role="bold">subscr</emphasis>
389                 </para>
390                 <para> Not used.</para>
391                 <para> 
392                     Size : 0
393                     Type : empty real.
394                 </para>
395             </listitem>
396             <listitem>
397                 <para>
398                     <emphasis role="bold">funtyp</emphasis>
399                 </para>
400                 <para> A vector of size equal to the number of blocks indicating the type of the computational function of the block. Block type can be 0 through 5.</para>
401                 <para> Currently only type 4 (C language) and type 5 (Scilab language) computational functions should be used. But older blocks can also be used.</para>
402                 <para> 
403                     Size : number of blocks.
404                 </para>
405                 <para>
406                     Type : column vector of integer.
407                 </para>
408             </listitem>
409             <listitem>
410                 <para>
411                     <emphasis role="bold">iord</emphasis>
412                 </para>
413                 <para> A matrix associated to blocks that must be activated at the start of the simulation. This includes blocks inheriting from constant blocks and always active blocks.</para>
414                 <para> 
415                     Size : niord.
416                 </para>
417                 <para>
418                     Type : matrix of integers.
419                 </para>
420             </listitem>
421             <listitem>
422                 <para>
423                     <emphasis role="bold">labels</emphasis>
424                 </para>
425                 <para> A string vector of size equal to the number of blocks containing block labels.</para>
426                 <para> 
427                     Size : numbers of blocks.
428                 </para>
429                 <para>
430                     Type : column vector of strings.
431                 </para>
432             </listitem>
433             <listitem>
434                 <para>
435                     <emphasis role="bold">modptr</emphasis>
436                 </para>
437                 <para> A vector pointer to the block modes.</para>
438                 <para> 
439                     Size : number of blocks + 1.
440                 </para>
441                 <para>
442                     Type : column vector of integer.
443                 </para>
444             </listitem>
445         </itemizedlist>
446     </refsection>
447     <refsection id="Filecontent_scicos_sim">
448         <title>File content</title>
449         <itemizedlist>
450             <listitem>
451                 <para> SCI/modules/scicos/macros/scicos_scicos/scicos_sim.sci</para>
452             </listitem>
453         </itemizedlist>
454     </refsection>
455 </refentry>