Release Version 1.6.0

Version: v1.6.0

Id OS Arch
devsim_linux_v1.6.0 Linux x86_64 (64 bit)
devsim_macos_v1.6.0 macOS High Sierra, Mojave x86_64 (64 bit)
devsim_win64_v1.6.0 Microsoft Windows 10 x64 (64 bit)
devsim_msys_v1.6.0 Microsoft Windows 10 x64 (64 bit)

Version 1.6.0

Array Type Input and Output

In most circumstances, the software now returns numerical data using the Python array class. This is more efficient than using standard lists, as it encapsulates a contiguous block of memory. More information about this class can be found at The representation can be easily converted to lists and numpy arrays for efficient manipulation.

When accepting user input involving lists of homogenous data, such as set_node_values the user may enter data using either a list, string of bytes, or the array class. It may also be used to input numpy arrays or any other class with a tobytes method.

Get Matrix and RHS for External Use

The get_matrix_and_rhs command has been added to assemble the static and dynamic matrices, as well as their right hand sides, based on the current state of the device being simulated. The format option is used to specify the sparse matrix format, which may be either in the compressed column or compressed row formats, csc or csr.

Maximum Divergence Count

If the Newton iteration errors keep increasing for 20 iterations in a row, then the simulator stops. This limit was previously 5.

Mesh Visualization Element Orientation

Elements written to the tecplot format in 2d and 3d have node orderings compatible with the element connectivity in visualization formats. Specifying the reorder=True option in get_element_node_list will result in node ordering compatible with meshing and visualization software.


  • Centos 7 (Linux compatible)
  • macOS 10.13
  • Microsoft Windows 10 (64 bit)

Notes are available in these files:

  • linux.txt
  • windows.txt
  • macos.txt

Packages required

This software requires a working installation of Python 3 (3.6 or higher).

For macOS, Linux, and Microsoft Windows, the recommended distributions are the following.

Anaconda contains many scientific software packages and is available from:

Miniconda is a much smaller download and is available from:

Math Libraries

The releases are built against the Intel Math Kernel Library. These libraries are available through Anaconda or Miniconda using the following commands:

  • conda install mkl numpy