Scicos data structure

scicos_sim - Scicos simulation data structure

### Description

Scicos simulation data structure is usually generated by Scicos `Compile` menu and needed to simulate the system (see `scicos_cpr`).

### DEFINITION

    sim=tlist(['scs','funs','xptr','zptr','izptr','inpptr','outptr',..
     'inplnk','outlnk','lnkptr','rpar','rpptr','ipar','ipptr',..
     'clkptr','ordptr','execlk','ordclk','cord','oord','zord',..
     'critev','nb','ztyp','nblk','ndcblk','subscr','funtyp',..
     'iord','labels'],funs,xptr,zptr,izptr,inpptr,outptr,inplnk,..
     outlnk,lnkptr,rpar,rpptr,ipar,ipptr,clkptr,ordptr,execlk,..
     ordclk,cord,oord,zord,critev,nb,ztyp,nblk,ndcblk,subscr,..
     funtyp,iord,labels)

- sim: Scilab tlist, Scicos simulation data structure defined by the formal name 'scs' and containing the following fields:

### FIELDS

- funs : list of character strings containing the names of each block simulation function (a linked C or Fortran procedure or a Scilab function).
- xptr : (nblk+1) x 1 vector of integers, `cpr.state.x(cpr.sim.xptr(i):cpr.sim.xptr(i+1)-1)` is the continuous state vector of the `i`th block (see `scicos_cpr` and `scicos_state`).
- zptr : (nblk+1) x 1 vector of integers, `cpr.state.z(cpr.sim.zptr(i):cpr.sim.zptr(i+1)-1)` is the discrete state vector of the `i`th block.
- izptr : unused
- inpptr : (nblk+1) x 1 vector of integers, `(cpr.sim.inpptr(i+1)-cpr.sim.inpptr(i))` gives the number of input ports. `inpptr(i)`th points to the beginning of `i`th block inputs within the indirection table `inplnk`.
- outptr : (nblk+1) x 1 vector of integers, `(cpr.sim.outptr(i+1)-cpr.sim.outptr(i))` gives the number of output ports. `outptr(i)`th points to the beginning of `i`th block outputs within the indirection table `outlnk`.
- inplnk : nblink x 1 vector of integers, `(cpr.sim.inplnk(cpr.sim.inpptr(i)-1+j))` is the index of the link connected to the `j`th input port of the `i`th block. where `j` goes from `1` to `(cpr.sim.inpptr(i+1)-cpr.sim.inpptr(i))`.
- outlnk : nblink x 1 vector of integers, `(cpr.sim.outlnk(cpr.sim.outptr(i)-1+j))` is the index of the link connected to the `j`th output port of the `i`th block. where `j` goes from `1` to `(cpr.sim.outptr(i+1)-cpr.sim.outptr(i))`.
- lnkptr : (nblink+1) x 1 vector of integers, `k`th entry points to the beginning of region within `outtb` dedicated to link indexed `k`.
- rpar : vector of blocks' floating point parameters
- rpptr : (nblk+1) x 1 vector of integers, `cpr.sim.rpar(cpr.sim.rpptr(i):cpr.sim.rpptr(i+1)-1)` is the vector of floating point parameters of the `i`th block.
- ipar : vector of blocks' integer parameters
- ipptr : (nblk+1) x 1 vector of integers, `cpr.sim.ipar(cpr.sim.ipptr(i):cpr.sim.ipptr(i+1)-1)` is the vector of integer parameters of the `i`th block.
- clkptr : (nblk+1) x 1 vector of integers, `(cpr.sim.clkptr(i):cpr.sim.clkptr(i+1)-1)` gives the number of output event ports.
- ordptr : 1 vector of integers, `(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`.
- execlk : unused
- ordclk : two-column matrix of integers, the first indicates the number of activated blocks and the second indicates the number of the corresponding input event port.
- cord : two-column matrix of integers, the first indicates the number of permanently (continuous time) activated blocks and the second indicates the number of the corresponding input event port.
- oord : two-column matrix of integers, subset of cord whose outputs affect computation of continuous state derivatives.
- zord : two-column matrix of integers, subset of cord whose outputs affect computation of zero-crossing surfaces.
- critev : 1 vector of integers, ?????????????????
- nb : unused
- ztyp : (nblk+1) x 1 vector of integers, `(cpr.sim.ztyp(i)` is coded 1 if the block numbered `i` is from Zcross type (0 if else).
- nblk : number of blocks (unused)
- ndcblk : unused
- subscr : ?????????????????
- funtyp : (nblk+1) x 1 vector of integers, indicates the routine type of blocks
- iord : two-column matrix of integers, the first contains all the numbers of blocks to be updated in the initialization of the simulation among which the continuous blocks. The second column indicates the number of the corresponding input event port.
- labels : (nblk+1) x 1 vector of character strings, contains the label (if any) associated to each block.

### See Also

`scicos_model` `scicos_diagram`