ahkab.options¶

This module contains options and configuration switches the user may tune to meet his needs.

The default values are sensible options for the general case.

ac_max_nr_iter = 20

Maximum number of NR iterations for AC analyses.

ac_phase_in_deg = False

bfpss_default_points = 100

Default number of points for a BFPSS analysis.

bfpss_max_nr_iter = 10000

Maximum number of NR iterations for BFPSS analyses.

cache_len = 67108864

Cache size to be used in ahkab.utilities.memoize(), defaults to 512MB

cli = False

A boolean to differentiate command line execution from module import When cli is False, no printing and no weird stdout stuff.

cmin = 1e-18

Minimum capacitance to ground.

dc_max_guess_effort = 250000

Do not perform an init DC guess if its effort is higher than this value.

dc_max_nr_iter = 10000

Maximum allowed NR iterations during a DC analysis.

dc_sweep_skip_allowed = True

Can we skip troublesome points during DC sweeps?

dc_use_guess = True

Enable guessing to init the NR solver during a DC analysis.

default_tran_method = u'TRAP'

The default differentiation method for transient analyses.

dense_matrix_limit = 400

Dense matrix limit: if the dimensions of the square MNA matrix are bigger, use sparse matrices.

encoding = u'utf8'

Encoding of the netlist files.

gmin = 1e-12

Minimum conductance to ground.

hmin = 1e-20

Minimum allowed discretization step for time.

iea = 1e-09

Current absolute tolerance.

ier = 0.001

Current relative tolerance.

nl_voltages_lock = True

In all NR iterations, lock the nodes controlling non-linear elements. See also ahkab.dc_analysis.get_td().

nl_voltages_lock_factor = 4

Non-linear nodes lock factor: if we allow the voltage on controlling ports to change too much, we may have current/voltage overflows. Think about the diode characteristic. So we allow them to change of nl_voltages_lock_factor $$\cdot V_{th}$$ at most and damp all variables accordingly.

nr_damp_first_iters = False

Should we damp artificially the first NR iterations? See also ahkab.dc_analysis.get_td().

plotting_display_figsize = (12.94, 8)

Default size for plots showed to the user, in inches.

plotting_lw = 1.25

Plotting line width.

plotting_outtype = u'png'

Format to be used when writing plots to disk.

plotting_save_figsize = (20, 10)

Default size for plots saved to disk.

plotting_show_plots = False

Should plots be shown to the user? This variable is set to True automatically if a screen is detected in Unix systems.

Notice that by default ahkab both shows plots and saves them to disk.

plotting_style = u'-o'

Matplotlib line plot style: see matplotlib’s doc.

plotting_wait_after_plot = True

Wait for the user to close the plot? If set to False, plots are created and immediately destroyed.

print_int_nodes = True

Should we show to the user results pertaining to nodes introduced by components or by the simulator?

print_precision = 8

When printing out to the user, how many decimal digits to show at maximum.

print_suppress = False

When printing out to the user, whether we can suppress trailing zeros.

pz_max = 1000000000000.0

Maximum considered angular frequency in rad/s for PZ analyses.

shooting_default_points = 100

Default number of points for a shooting analysis.

shooting_max_nr_iter = 10000

Maximum number of NR iterations for shooting analyses.

symb_formulate_with_gs = False

Formulate the equations with conductances and at the last moment swap resistor symbols back in. It seems to make sympy play nicer. Sometimes.

symb_sympy_manual_solver = False

Enable the manual solver: solve the circuit equations one at a time as you might do “manually”.

transient_aposteriori_step_threshold = 0.9

Step change threshold: we do not want to redo the iteraction if the aposteriori check suggests a step that is very close to the one we already used. A value of 0.9 seems to be a good idea.

transient_max_nr_iter = 20

Maximum number of NR iterations for transient analyses.

transient_max_time_iter = 0

Maximum number of time iterations for transient analyses Notice the default (0) means no limit is enforced.

transient_no_step_control = False

Disable all step control in transient analyses.

transient_prediction_as_x0 = True

In a transisent analysis, if a prediction value is avalilable, use it as first guess for x(n+1), otherwise x(n) is used.

transient_use_aposteriori_step_control = True

Use aposteriori step control?

use_gmin_stepping = True

Whether the gmin-settping homothopy can be used.

use_source_stepping = True

Whether the source-stepping homothopy can be used.

use_standard_solve_method = True

Whether the standard solving method can be used.

vea = 1e-06

Voltage absolute tolerance.

ver = 0.001

Voltage relative tolerance.