I construct a simple test circuit using the CurrentLimiter and a DC Analyzer to analyzer it.

Call my setup to get me setup for trying out different values of gain, limit, and transition.

Instance Variable verbose Set True to log/print details about Ngspice's operations.
Method __init__ Undocumented
Method setup Sets me up with a current limiter set to the maximum current Imax.
Method __call__ Call with values for gain, limit, and transition.
verbose =
Set True to log/print details about Ngspice's operations.
def __init__(self, verbose=False, study=False):
Undocumented
def setup(self, Imax):

Sets me up with a current limiter set to the maximum current Imax.

Returns a Deferred that fires when my instance is ready to call with gain, limit, and transition values, with an OrderedDict of min,default,max for those values.

def __call__(self, *values):

Call with values for gain, limit, and transition.

Returns a Deferred that fires with (1) swept input current from 0 to 20% greater than my current limiter's maximum, and (2) the current limiter's effective resistance over the swept current range.

You can call this concurrently. In fact, the MultiRunner is intended for that very purpose! If there are more pending requests for simulation output than the number of Ngspice simulators running, the request will be queued up and serviced in turn.

API Documentation for pingspice, generated by pydoctor at 2021-09-18 08:41:11.