#Changelog
Version 0.15 is just a bugfix release addressing the fact that the minimum version of the sympy
release that is needed is 0.7.6.
Version 0.14 represents the culmination of three months of efforts, yet another step in the current time-based release scheme.
This release features much improved tabular print-outs, thanks to tabulate
, faster circuit checking and reverse node look-ups.
Moreover, as in the previous releases, many commits were devoted to improving the documentation: you can find the new, improved documentation online at http://ahkab.readthedocs.org/en/latest/
- Use
tabulate
to print out pretty tables. They are pretty, oh so pretty tables. - Add and use
circuit.get_nodes_number()
. - Change
nodes_dict
to speed up reverse lookups. - Faster duplicate IDs check.
None.
- BUGFIX: row/col reference,
- BUGFIX: Suppress printing of the netlist file if there is None.
- BUGFIX: Add a wrapper around stdout to fix encoding errors on *UNIX, when no locale is set (PY2 only).
- BUGFIX: Print warning if the locale is not set.
Version 0.13 represents the culmination of efforts dating back to January and contains 135 commits.
This release features current-controlled current sources and voltage sources and new options to select the format of numbers printed for user display and how the MNA matrix is built in Symbolic Analysis.
Moreover, as in the previous releases, many commits were devoted to improving the documentation: you can find the new, improved documentation at http://ahkab.readthedocs.org/en/latest/
- Implement CCCS, fixes #22
- Implement CCVS, fixes #21
- Add option to formulate the MNA and N matrices with resistors for symbolic analysis.
- Add options to suppress zeros and select printing precision.
None.
- BUGFIX: fix printing of missing elements.
- BUGFIX: fix missing import
- BUGFIX: reset look-up table when the temperature changes
- BUGFIX: catch missing matplotlib
- BUGFIX: remove early test It masks more detailed tests below.
- BUGFIX: fix get_netlist_elem_line()Pass the element nodes through nodes_dict
- BUGFIX: correct the netlist label for tran start time (tstart)
- BUGFIX: fix parsing of capacitors wrt comments.
- BUGFIX: fix all Symbols to be uppercase
- BUGFIX power by VCCS
- BUGFIX: Fix total power computation for GIsources.
Version 0.12 represents the culmination of efforts dating back to May and contains 142 commits.
This release has no new features, but it has several bug fixes and it introduces Python3 support (!).
Moreover, many commits were devoted to improving the documentation: you can find the new, improved documentation at http://ahkab.readthedocs.org/en/latest/
None.
None.
- BUGFIX: Respect the user config when saving to file.
- BUGFIX: Respect CLI-specified transient DFs.
- BUGFIX: use the warning interface.
- BUGFIX: always set the simulation options before running tests.
- BUGFIX: fix detection of wd
- BUGFIX: .include now recovers the path relative to the netlist
- BUGFIX: fix printing of .DC statements.
- BUGFIX: fix comparison of int and NoneType (new Python behaviour)
Version 0.11 represent the culmination of four months of efforts.
- Add Pole-Zero (.pz) analysis.
- Add sparse matrix support and LU factorization with SuperLU.
- AC solutions data is returned as complex floats.
- The brute-force PSS algo is now known as 'brute-force'.
Ahkab also got considerably faster in DC/OP/TRAN/PSS analyses.
A PY3 version passing the whole test suite is available in the repository.
None.
- BUGFIX: AC sweeps consistently default to LOG.
- BUGFIX: Convert print_netlist_elem_line to get_...
- BUGFIX: parse_analysis() is not a generator anymore`.
- BUGFIX: Remove print_circuit(), use print(circuit).
- BUGFIX: EKV devices now match the usual constructor.
- BUGFIX: do not attempt to print conv. details if sing. MNA
- BUGFIX: Use ndarrays (almost) everywhere, drop mats.
- BUGFIX: Don't crash if a plot label is not found.
- BUGFIX: CMIN-related crash.
- BUGFIX: Remove hack for now closed bug in sympy.
- BUGFIX: Reset sim options before skipping a test.
- BUGFIX: allow printing of PSS results.
- BUGFIX: inductor coupling and time function parsing.
- BUGFIX: fix checking of symbolic results.
- BUGFIX: InductorCoupling: init syntax and
add print_netlist_elem_line()
. - BUGFIX: fix regression in TF calculation (wrong sympy assumptions).
- BUGFIX: function parsing
- BUGFIX: fix 'autonomous' dest value.
- BUGFIX:
modify_x0_for_ic()
should NOT modify op results. - BUGFIX: op table size
- BUGFIX: MOSQ init param order
- BUGFIX: Symbolic analysis bugfix.
- BUGFIX: Fix DC sweeps.
- BUGFIX: Fix dict access of OP results. OP info now goes to info file.
- BUGFIX: Deep copy
an_list
so that we can pop out items as we please transparently to the user. - BUGFIX: take the file.op into account. Also abs paths.
- BUGFIX: load_csv crash, add late check for headers consistency.
- BUGFIX: Fix the sine function. Notice the meaning of theta changed with this commit.
- BUGFIX: Correct assumptions in subs.
- BUGFIX: fix
element.part_id
in subckts - BUGFIX: testing, do not compare time exec results from different machines.
- Incorporate most changes from @weilawei.
- Merge pull request #18 from endolith/patch-1
- Merge branch 'patch-1' of https://github.com/mightyiam/ahkab
- Use
__version__.py
for versioning - Diode: Enable caching. Simplify interfaces.
- Allow running lists of analyses, or 1 analysis alone too.
- Add gnd as
mycirc.gnd
. - Add command line entry point to
setup.py
. - Testing: Add APITest to automate testing of the
ahkab
Python interface. - Testing: Test suite running on Travis, with coverage.
- Testing: Selective test skipping on Travis-CI
- Massive refactoring of the code base: enforce PEP8 everywhere.
- Symbolic: transfer functions are results instances too.
- Plotting: remove useless functions, keep some as internal-only.
get_headers_index(..., load_headers=[])
returns all header indices.- Testing: No reference runs with nose.
- Ticker: simplify the ticker API.
- Speed up the matrix assembly precomputing conductances
- Allow printing out to stdout also
if filename == '-' or sys.stdout
- Matplotlib auto backend selection for machines without
$DISPLAY
- Rewrite csvlib to use numpy's R&W methods
- Elements now print out their own netlist entries.
- Move
convergence_check()
to utilities. - Use relative imports and move to single versioning of files.
- Remove def. values from time functions
Thanks to @weilawei**, @endolith, @mightyiam for their contributions.
** Big thanks man, excellent job.
- Added support for voltage-controlled switches
- Improved diode model with temperature support (but no capacitances).
- Dropped psycho support.
- Re-added the quadratic law MOS transistor model.
- Updated wiki pages and examples.
- Many small fixes.
- Ahkab can now be run in a Python program.
- Dropped gnuplot support, ahkab now requires matplotlib.