"posy" Polynomial with non-integer powers

Syntax

posy  c1,p1 c2,p2 ...
posy  c1,p1 c2,p2 ... args

Purpose

Defines a transfer function by a one dimensional ``posynomial'', like a polynomial, except that the powers are arbitrary, and usually non-integer.

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.
}

Parameters

min Minimum output value (clipping). (Default = -infinity)
max 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.

Example

E1 (2 0 1 0) posy(1 .5)

The output of E1 is the square root of its input.

gnucap/manual/devices/basic/posy.txt · Last modified: 2015/12/11 15:39 (external edit)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki