Please see the release notes in doc/devsim.pdf or at https://devsim.net for more detailed information about changes.
Version 2.0.0
Versioned MKL DLL in release build
The Intel Math Kernel Library now uses versioned library names. Binary releases are now updated against the latest versioned dll names from MKL available in the Anaconda Python distribution.
Fixed issue in ramp function.
The rampbias
function in the devsim.python_packages.ramp
module has been fixed to properly reduce the bias when there is a convergence failure.
Transient Simulation
Fixed bug with transient_tr
(trapezoidal) time integration method where the wrong sign was used to integrate previous time steps.
Fixed bug in the charge error calculation, which calculates the simulation result with that a forward difference projection.
Added testing/transient_rc.py
test which compares simulation with analytic result for RC circuit.
Added set_initial_condition
command to provide initial transient conditions based on current solution.
Create interface from node pairs
Added create_interface_from_nodes
to make it possible to add interface from non-coincident pairs of nodes.
Solver
Convergence Tests
The maximum_error
and maximum_divergence
options where added to the solve
command. If the absolute error of any iteration goes above maximum_error
, the simulation stops with a convergence failure. The maximum_divergence
is the maximum number of iterations that the simulator error may increase before stopping.
Verbosity
During the solve
, circuit node and circuit solution information is no longer printed to the screen for the default verbosity level. In addition, the number of equations per device and region is no longer displayed at the start of the first iteration.
SuperLU
The code now supports newer versions of SuperLU
. The release version is still using SuperLU 4.3 for the iterative solution method, and the Intel MKL Pardiso for the direct solve method.
Simulation Matrix
The get_matrix_and_rhs
command was not properly accepting the format
parameter, and was always returning the same type.
Build Scripts
The build scripts have been updated on all platforms to be less dependent on specific Python 3 versions.
An updated fedora build script has been added. It uses the system installed SuperLU
as the direct solver.
Documentation Files
Some out of date files (e.g. RELEASE, INSTALL, . . .) have been removed. The README.md has been updated and the INSTALL.md have been updated.
Command Options
The variable_name
option is no longer recognized for the devsim.contact_equation
and devsim.interface_equation
as it was not being used.