ahkab.bfpss

Brute-force periodic steady state analysis module

bfpss(circ, period, step=None, points=None, autonomous=False, x0=None, mna=None, Tf=None, D=None, outfile=u'stdout', vector_norm=<function <lambda>>, verbose=3)[source]

Performs a PSS analysis employing the ‘brute-force’ algorithm

The time step is constant and IE will be used as DF.

Parameters:

circ : Circuit instance
the circuit to be simulated
period : float
the period of the solution
step : float, optional
the time step between consecutive points, it will be calculated if not provided
points : int, optional
the number of points to be used to sample one period, it will be calculated if not provided
autonomous : bool, optional
Is the circuit clocked or autonomously oscillating? With the current implementation, setting autonomous=True will result in an exception being raised, autonomous circuits are not supported
x0 : ndarray, optional
The initial guess to be used. (Experimental, needs work.)
mna, D, Tf : ndarrays, optional
The matrices describing the circuit may be supplied to speed up the solution, if available. If not supplied, they will be automatically calculated.
vector_norm : function, optional
The norm to be employed in the convergence checks. Defaults to the Inf norm.
outfile : str, optional
the output filename. Defaults to 'stdout'.
verbose : int, optional
Verbosity level on a scale from 0 (silent) to 6 (very verbose). The verbose flag is automatically set is to zero if datafilename == 'stdout'

Note

step and points are mutually exclusive options:

  • if step is specified, the number of points will be automatically determined.
  • if points is set, the step will be automatically determined.
  • if none of them is set, options.bfpss_default_points will be used as value for points and step computed accordingly.

Returns:

sol : results.pss_solution
The simulation results