Non-linear Dependent Polynomial Sources |

Dependent polynomial sources available in SPICE2 are fully supported to allow existing third party models to be incorporated readily.

Polynomial sources are characterised by any of the four equations:

i=f(v) v=f(v) i=f(i) v=f(i)

where the functions must be polynomials, and the arguments may be multidimensional. The polynomial functions are specified by a set of coefficients p0, p1, ..., pn. Both the number of dimensions and the number of coefficients are arbitrary.

If the function is one-dimensional (*ndim* = 1), the value is:

f(x_{1}) = p0 + p1x1 + p2x1^{2}+p3x1^{3}+p4x1^{4}+
...

If the function is two-dimensional (*ndim* = 2), the value is:

f(x1,x2) = p0 + p1x1 + p2x2 + p3x1^{2} + p4x1x2 +
p5x2^{2} + p6x1^{3} + p7x1^{2}x2 + p8x1x2^{2} +
p9x2^{3} ...

If the function is three-dimensional (*ndim* = 3), the value is:

f(x1,x2,x3) = p0 + p1x1 + p2x2 + p3x3 + p4x1^{2}
+ p5x1x2 + p6x1x3 + p7x2^{2} + p8x2x3 + p9x3^{2} + p10x1^{3}
+ p11x1^{2}x2 + p12x1^{2}x3 + p13x1x2^{2} + p14x1x2x3 +
p15x1x3^{2} + p16x2^{3} + p17x2^{2}x3 + p18x2x3^{2}
+ p19x3^{3}
+ ...

The generators of polynomial type constitute an obsolete form of non-linear controlled generators. To define a non-linear controlled generator always use a B element.

The general form of the instance is the following:

E<name> <node1(+)> <node2(-)> POLY(<ndim>) <nc(+) nc(-)>* <coefficients>* |

name

Is the name of the source.

node1(+) node2(-)

Are the positive and negative output nodes, respectively.

ndim

Is the number of dimensions of the polynomial describing the controlling function, which must be positive.

nc(+) nc(-)

Are the positive and negative controlling nodes, respectively. One pair of nodes must be specified for each dimension.

coefficients

Are the polynomial coefficients.

The general form of the instance is the following:

H<name> <node1(+)> <node2(-)> POLY(<ndim>) <Vsources>* <coefficients>* |

name

Is the name of the source.

node1(+) node2(-)

Are the positive and negative output nodes, respectively.

ndim

Is the number of dimensions of the polynomial describing the controlling function, which must be positive.

Vsources

are the names of voltage sources through which the controlling current flows; one name must be specified for each dimension. The direction of positive controlling current flow is from the positive node, through the source, to the negative node of each voltage source.

coefficients

are the polynomial coefficients.

The general form of the instance is the following:

G<name> <node1(+)> <node2(-)> POLY(<ndim>) <nc(+) nc(-)>* <coefficients>* |

name

Is the name of the source.

node1(+) node2(-)

Are the positive and negative nodes, respectively. Current flow is from the positive node, through the source, to the negative node.

ndim

Is the number of dimensions of the polynomial describing the controlling function, which must be positive.

nc(+) nc(-)

Are the positive and negative controlling nodes, respectively. One pair of nodes must be specified for each dimension.

coefficients

Are the polynomial coefficients.

The general form of the instance is the following:

F<name> <node1(+)> <node2(-)> POLY(<ndim>) <Vsources>* <coefficients>* |

name

Is the name of the source.

node1(+) node2(-)

Are the positive and negative nodes, respectively. Current flow is from the positive node, through the source, to the negative node.

ndim

Vsources

are the names of voltage sources through which the controlling current flows; one name must be specified for each dimension. The direction of positive controlling current flow is from the positive node, through the source, to the negative node of each voltage source.

coefficients

are the polynomial coefficients.

```
E1 10 0 POLY(3) 1 0 2 0 3 0 0 1 1 1
H1 10 20 POLY(2) VCON1 VCON2 0 0 0 0 1
G1 17 3 POLY(1) 17 3 0 1m 1.5m
F1 10 20 POLY(2) VCON1 VCON2 0 0 0 0 1
```