Current-Controlled Voltage Sources

This is a special case of the general source specification included for backward compatibility.

- General Form:
`h`where*name n*+*n*-*vnam expr**srcargs*

h*name n*+*n*- function | vol [`=`]*expr**srcargs*

h*name n*+*n*- poly*poly_spec**srcargs**srcargs*= [`ac table`(*name*)]

- Examples:
`h1 5 17 vz 0.5k`

h2 5 17 0.71,0.71

h3 5 17 vz 2.5*exp(x/2.5) ac table(myvals)

h2 5 17 function 2.5*exp(i(vz)/2.5)

Above, *n*`+` and *n*`-` are the positive and
negative nodes, respectively. The parameter *vnam* is the name
of a voltage source or inductor through which the controlling current
flows. If *nam* references a voltage source, the direction of
positive controlling current flow is from the positive node, through
the source, to the negative node. If *vnam* references an
inductor, the controlling current flows from the first node specified
for the inductor, through the inductor, to the second node.

**Note**: In releases earlier than 4.1.15 the output for a constant
transfer value case was the reverse polarity of the description here.

In the first form, if the *expr* is a constant, it represents the
transresistance in ohms. If no expression is given, a unit constant
value is assumed. Otherwise, the *expr* computes the source
voltage, where the variable ```x`'' if used in the *expr* is
taken to be the controlling current (i(*vnam*)). In this case
only, the `pwl` construct if used in the *expr* takes as its
input variable the value of ```x`'' rather than time, thus a
piecewise linear transfer function can be implemented using a `pwl` statement. The second form is similar, but ```x`'' is not
defined. The keywords ```function`'' and ```vol`'' are
equivalent. The third form allows use of the SPICE2 `poly`
construct.

More information of the function specification can be found in
2.15, and the `poly` specification is described in
2.15.2.

If the `ac` parameter is given and the `table` keyword
follows, then the named table is taken to contain complex *transfer* coefficient data, which will be used in ac analysis (and
possibly elsewhere, see below). For each frequency, the source output
will be the interpolated transfer coefficient from the table
multiplied by the input. The table must be specified with a `.table` line, and must have the `ac` keyword given.

If an ac table is specified, and no dc/transient transfer function or coefficient is given, then in transient analysis, the source transfer will be obtained through Fourier analysis of the table data. This is somewhat experimental, and may be prone to numerical errors.

In ac analysis, the transfer coefficient can be real or complex. If complex, the imaginary value follows the real value. Only constants or constant expressions are valid in this case. If the source function is specified in this way, the real component is used in dc and transient analysis. This will also override a table, if given.