349
edits
Line 78: | Line 78: | ||
Notice that the number of internal variables of each element is not included in the IFF files. This is because elements with a number of internal variables that is huge, that depends on the value of some parameter, or even that changes in time (for example distributed elements treated with a FEM with adaptive meshing, a large linear sub- circuit that is reduce via MOR...) and therefore it is more convenient to compute the number of internal variables when initializing the system. | Notice that the number of internal variables of each element is not included in the IFF files. This is because elements with a number of internal variables that is huge, that depends on the value of some parameter, or even that changes in time (for example distributed elements treated with a FEM with adaptive meshing, a large linear sub- circuit that is reduce via MOR...) and therefore it is more convenient to compute the number of internal variables when initializing the system. | ||
==== SBN files ==== | |||
SBN files are Octave functions, implemented as M-scripts or as DLD functions, | |||
with the following signature | |||
{{Code|Model evaluator file for simple MOSFET models |<syntaxhighlight lang="octave" style="font-size:13px"> | |||
function [a,b,c ,] =... | |||
func (string , m(i ,:) , extvar , intvar , t) | |||
</syntaxhighlight>}} | |||
i.e. it should get as inputs: | |||
* the string entry of the "block_header" | |||
* one row of the "pv_matrix" entry of the "block" | |||
* the current values of all internal and external variables | |||
* the current time | |||
and it should produce as outputs three matrices: | |||
* <math>a, b \in \mathbb{R}^{(n_extvar + n_intvar)×(n_extvar + n_intvar)}</math> | |||
* <math>c \in \mathbb{R}^{(n_extvar + n_intvar)}</math> | |||
where "n_intvar" is the number of internal variables that can be assembled in the complete system matrices. | |||
=== SPICE netlists === | === SPICE netlists === |
edits