Repository navigation
Releases: devsim/devsim
Release list
v2.0.0
DEVSIM
https://devsim.org
Version: v2.0.0
| Id | OS | Arch |
|---|---|---|
devsim_linux_v2.0.0 |
Linux | x86_64 (64 bit) |
devsim_macos_v2.0.0 |
macOS High Sierra, Mojave | x86_64 (64 bit) |
devsim_win64_v2.0.0 |
Microsoft Windows 10 | x64 (64 bit) |
devsim_msys_v2.0.0 |
Microsoft Windows 10 | x64 (64 bit) |
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.
Platforms:
- Centos 7 (Linux compatible)
- macOS 10.13
- Microsoft Windows 10 (64 bit)
Notes are available in these files:
linux.txtwindows.txtmacos.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:
https://anaconda.com.
Miniconda is a much smaller download and is available from:
https://conda.io/miniconda.html
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
v1.7.0+rc4
v1.7.0+rc4
v1.6.0
DEVSIM
https://devsim.org
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 https://docs.python.org/3/library/array.html. 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.
Platforms:
- Centos 7 (Linux compatible)
- macOS 10.13
- Microsoft Windows 10 (64 bit)
Notes are available in these files:
linux.txtwindows.txtmacos.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:
https://anaconda.com.
Miniconda is a much smaller download and is available from:
https://conda.io/miniconda.html
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
v1.6.0-rc4
Version 1.6.0-rc4
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 https://docs.python.org/3/library/array.html. 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.
Max Divergence Count
If the Newton iteration errors keep increasing for 20 iterations in a row, then the simulator stops. This limit was previously 5.
v1.5.1
DEVSIM
https://devsim.org
Version: v1.5.1
| Id | OS | Arch |
|---|---|---|
devsim_linux_v1.5.1 |
Linux | x86_64 (64 bit) |
devsim_macos_v1.5.1 |
macOS High Sierra, Mojave | x86_64 (64 bit) |
devsim_win64_v1.5.1 |
Microsoft Windows 10 | x64 (64 bit) |
devsim_msys_v1.5.1 |
Microsoft Windows 10 | x64 (64 bit) |
Version 1.5.1
Math Functions
The following inverse functions and their derivatives are now available in the model interpreter.
erf_invInverse Error Functionerfc_invInverse Complimentary Error Functionderf_invdxDerivative of Inverse Error Functionderfc_invdxDerivative of Complimentary Inverse Error Function
The Gauss-Fermi Integral, using Paasch's equations are now implemented.
gfiGauss-Fermi IntegraldgfidxDerivative of Gauss-Fermi IntegraligfiInverse Gauss-Fermi IntegraldigfidxDerivative of Inverse Gauss-Fermi Integral
Each of these functions take two arguments, zeta and s. The derivatives with respect to the first argument are provided. Please see testing/GaussFermi.py for an example.
In extended precision mode, the following functions are now evaluated with full extended precision.
FermidFermidxInvFermidInvFermidx
The following double precision tests:
testing/Fermi1.pyFermi Integral Testtesting/GaussFermi.pyGauss Fermi Integral Test
Have extended precision variants:
testing/Fermi1_float128.pytesting/GaussFermi_float128.py
Installation Script
A new installation script is in the base directory of the package.
It provides instructions of completing the installation to the python environment without having to set the PYTHONPATH environment variable.
It notifies the user of missing components to finish the installation within an Anaconda or Miniconda environment.
To use the script, use the following command inside of the devsim directory.
python install.py
The install script will write a file named lib/setup.py, which can be used to complete the installation using pip. The script provides instructions for the installation and deinstallation of devsim.
INFO: Writing setup.py
INFO:
INFO: Please type the following command to install devsim:
INFO: pip install -e lib
INFO:
INFO: To remove the file, type:
INFO: pip uninstall devsim
Platforms:
- Centos 7 (Linux compatible)
- macOS 10.13
- Microsoft Windows 10 (64 bit)
Notes are available in these files:
linux.txtwindows.txtmacos.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:
https://anaconda.com.
Miniconda is a much smaller download and is available from:
https://conda.io/miniconda.html
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
v1.5.1-rc6
v1.5.1-rc6
v1.5.1-rc5
Version 1.5.1-rc5
Math Functions
The following inverse functions and their derivatives are now available in the model interpreter.
erf_invInverse Error Functionerfc_invInverse Complimentary Error Functionderf_invdxDerivative of Inverse Error Functionderfc_invdxDerivative of Complimentary Inverse Error Function
The Gauss-Fermi Integral, using Paasch's equations are now implemented.
gfiGauss-Fermi IntegraldgfidxDerivative of Gauss-Fermi IntegraligfiInverse Gauss-Fermi IntegraldigfidxDerivative of Inverse Gauss-Fermi Integral
Each of these functions take two arguments, zeta and s. The derivatives with respect to the first argument are provided. Please see testing/GaussFermi.py for an example.
In extended precision mode, the following functions are now evaluated with full extended precision.
FermidFermidxInvFermidInvFermidx
The following double precision tests:
testing/Fermi1.pyFermi Integral Testtesting/GaussFermi.pyGauss Fermi Integral Test
Have extended precision variants:
testing/Fermi1_float128.pytesting/GaussFermi_float128.py
Installation Script
A new installation script is in the base directory of the package.
It provides instructions of completing the installation to the python environment without having to set the PYTHONPATH environment variable.
It notifies the user of missing components to finish the installation within an Anaconda or Miniconda environment.
To use the script, use the following command inside of the devsim directory.
python install.py
The install script will write a file named lib/setup.py, which can be used to complete the installation using pip. The script provides instructions for the installation and deinstallation of devsim.
INFO: Writing setup.py
INFO:
INFO: Please type the following command to install devsim:
INFO: pip install -e lib
INFO:
INFO: To remove the file, type:
INFO: pip uninstall devsim
v1.5.1-rc3
Version 1.5.1-rc3
This is a release candidate for Version 1.5.1. Some features may be added and others may be subject to change before the final release.
Installation Script
A new installation script is in the base directory of the package.
It provides instructions of completing the installation to the python environment without having to set the PYTHONPATH environment variable.
It notifies the user of missing components to finish the installation within an Anaconda or Miniconda environment.
To use the script, use the following command inside of the devsim directory.
python install.py
The install script will write a file named lib/setup.py, which can be used to complete the installation using pip. The script provides instructions for the installation and deinstallation of devsim.
INFO: Writing setup.py
INFO:
INFO: Please type the following command to install devsim:
INFO: pip install -e lib
INFO:
INFO: To remove the file, type:
INFO: pip uninstall devsim
Math Functions
The following inverse functions and their derivatives are now available in the model interpreter.
erf_inverfc_invderf_invdxderfc_invdx
v1.5.1-rc1
v1.5.1-rc1
v1.5.0
DEVSIM
https://devsim.org
Version: v1.5.0
| Id | OS | Arch |
|---|---|---|
devsim_linux_v1.5.0 |
Linux | x86_64 (64 bit) |
devsim_macos_v1.5.0 |
macOS High Sierra, Mojave | x86_64 (64 bit) |
devsim_win64_v1.5.0 |
Microsoft Windows 10 | x64 (64 bit) |
devsim_msys_v1.5.0 |
Microsoft Windows 10 | x64 (64 bit) |
Version 1.5.0
The custom_equation command has been modified to require a third return value. This boolean value denotes whether the matrix entries should be row permutated or not. For the bulk equations this value should be True. For interface and contact boundary conditions, this value should be False.
It is now possible to replace an existing custom_equation.
The file examples/diode/diode_1d_custom.py demonstrates custom matrix assembly and can be directly compared to examples/diode/diode_1d.py.
The EdgeNodeVolume model is now available for the volume contained by an edge.
The contact_equation command now accepts 3 additional arguments.
edge_volume_modelvolume_node0_modelvolume_node1_model
These options provide the ability to do volume integration on contact nodes.
The equation command has replaced the volume_model option with:
volume_node0_modelvolume_node1_model
so that nodal quantities can be more localized.
More details are in the manual.
Platforms:
- Centos 7 (Linux compatible)
- macOS 10.13
- Microsoft Windows 10 (64 bit)
Notes are available in these files:
linux.txtwindows.txtmacos.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:
https://anaconda.com.
Miniconda is a much smaller download and is available from:
https://conda.io/miniconda.html
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