4.8 POSY: Polynomial with non-integer powers
4.8.1 Syntax
POSY c1,p1 c2,p2 ...
POSY c1,p1 c2,p2 ... args
4.8.2 Purpose
Defines a transfer function by a one dimensional “posynomial”, like
a polynomial, except that the powers are arbitrary, and usually non-integer.
4.8.3 Comments
There is no corresponding capability in any SPICE that I know of.
For capacitors, this function defines charge as a function of
voltage. For inductors, it defines flux as a function of
current.
For fixed sources, it defines voltage or current as a function of
time.
Normal use of this function required positive input (voltage or
current). The result is zero if the input is negative. Raising a
negative number to a non-integer power would produce a complex result,
which implies a non-causal result, which cannot be represented in a
traditional transient analysis.
The transfer function is defined by:
if (in >= 0){
out = (c1*in^p1) + (c2*in^p2) + ....
}else{
out = 0.
}
4.8.4 Parameters
- MIN = x
- Minimum output value (clipping). (Default
= -infinity.)
- MAX = x
- Maximum output value (clipping). (Default
= infinity)
- ABS
- Absolute value, truth value. (Default = false). If
set to true, the result will be always positive.
- ODD
- Make odd function, truth value. (Default = false).
If set to true, negative values of x will be evaluated as out =
-f(-x), giving odd symmetry.
- EVEN
- Make even function, truth value. (Default = false).
If set to true, negative values of x will be evaluated as out =
f(-x), giving even symmetry.
4.8.5 Example
- E1 (2 0 1 0) posy(1 .5)
- The output of E1 is the
square root of its input.