1.0.0 (December 18, 2018)¶
The formatting of the PDF and online documentation has been improved. Also significant changes have been made to the way
DEVSIM is called from
Due to the numerous changes in the
Python API, the version number has been updated to having a major revision of
1. We adopt the semantic version numbering presented at https://semver.org. The version number can be accessed through the
Python interface using the
Microsoft Windows 32-bit operating system is now supported in addition to the platforms listed in Supported platforms.
DEVSIM is now loaded as a shared library from any compatible Python interpreter. Previously,
DEVSIM binaries contained an embedded Python interpreter. The following versions of Python are supported in this release
By first setting the
PYTHONPATH variable to the
lib directory in the
devsim is loaded by using
Python. Previous releases of devsim used the
ds module, the manual will be updated to reflect the change in module name.
Many of the examples in the distribution rely on the
python_packages module, which is available by using:
The default version of
Python for use in scripts is
Python 3.7. Scripts written for earlier versions of
Python 3 should work.
Python 2.7 is deprecated for future development.
Python 3.7 is the recommended distribution and is available from https://continuum.io. The
Intel Math Kernel Library is required for the official
DEVSIM releases. These may be installed in
Anaconda using the following command:
conda install mkl
Microsoft Windows platform, the following packages should also be installed:
conda install sqlite zlib
Some of the examples and tests also use
numpy, which is available using:
conda install numpy
Gmsh has announced a new version of their mesh format
DEVSIM currently supports the previous version,
2.2. To load a file from
Gmsh, it is now necessary to either:
- Save the file in the
- Parse the
4.0file, and then use Custom mesh loading using scripting
A future release of
DEVSIM will provide this capability.
July 20, 2018¶
Python 3 Support¶
Python 3 executable,
devsim_py3 is now supplied in addition to standard Python 2 executable,
devsim.get_element_node_list() retrieves a list of nodes for every element on a
Interface Boundary Condition¶
Interace Equation Coupling¶
name1 options are now available for the
devsim.interface_equation() command. They make it possible to couple dissimilar equation names across regions.
Interface and Contact Surface Area¶
Contact surface area is no longer included in
SurfaceArea node model. It is now placed in
ContactSurfaceArea. These are listed in Table 2.
The following new parameters are available:
extended_solver, extended precision matrix for Newton and linear Solver
extended_model, extended precision model evaluation
extended_equation, extended precision equation assembly
When compiled with 128-bit extended precision support, these options enable calculations to be performed with higher precision. Default geometric models, are also calculated with extended precision.
devsim.set_parameter(name = "extended_solver", value=True) devsim.set_parameter(name = "extended_model", value=True) devsim.set_parameter(name = "extended_equation", value=True)
Linux and gcc-based
Apple macOS versions have extended precision support.
May 15, 2017¶
Ubuntu 16.04 (LTS)platform is now supported.
Ubuntu 12.04 (LTS),
Red Hat 5compatible) platforms are no longer supported. These platforms are no longer supported by their vendors.
Apple macOScompiled with
flat_namespaceto allow substitution of dynamically linked libraries.
Microsoft Windows 7is compiled using Microsoft Visual Studio 2017.
- Releases available from https://github.com/devsim/devsim/releases.
Centos 6released is linked against the
Intel Math Kernel Library.
Microsoft Windows 7release is linked against the
Intel Math Kernel Library
Apple macOScan optionally use the
Intel Math Kernel Library.
Python 2.7is the recommended distribution.
- Please see release notes for more information.
- 3D element edge derivatives were not being evaluated correctly
- 3D equation model evaluation for element edge models
- Build scripts are provided to build on various platforms.
DEVSIMmesh format stores elements, instead of just nodes, for contact and interfaces
devsim.create_gmsh_mesh()command can be used to create a device from a provided list of elements.
February 6, 2016¶
DEVSIM is now covered by the Apache License, Version 2.0 [ApacheSoftwareFoundation]. Please see the
LICENSE file for more information.
November 24, 2015¶
Python interpreter now has documentation for each command, derived from the documentation in the manual. For example, help for the
devsim.solve() can be found using:
The manual has been updated so that commands are easier to find in the index. Every command now has a short description. Cross references have been fixed. The date has been added to the front page.
November 1, 2015¶
devsim.solve() now supports the
info option. The solve command will then return convergence information.
Python Interpreter Changes¶
DEVSIM commands are loaded into the
devsim module has been changed. It is now possible to see the full list of
DEVSIM commands by typing
Platform Improvements and Binary Availability¶
Many improvements have been made in the way binaries are generated for the
Apple macOS, and
Microsoft Windows platforms.
Centos 5, (
Red Hat Enterprise Linux 5compatible) build
- Build uses
Intel Math Kernel Librarymath libraries (community edition)
- Build uses any compatible
Python 2.7, including
- Build compatible with newer
Apple macOS (see
- Uses the system
macOS 10.10 (Yosemite)
- Provide instructions to use
Microsoft Windows (see
- Uses any compatible
Python 2.7, including
- Build uses
Intel Math Kernel LibraryCommunity Edition
Binary releases are available for these platforms at https://devsim.org.
September 6, 2015¶
devsim.set_node_values() takes a new option,
values. It is a list containing values to set for all of the nodes in a region.
The following new commands have been added:
August 10, 2015¶
devsim.create_contact_from_interface() may be used to create a contact at the location of an interface. This is useful when contact boundary conditions are needed for a region connected to the interface.
July 16, 2015¶
devsim.set_node_value() was not properly setting the value. This issue is now resolved.
June 7, 2015¶
devsim.equation() now suppports the
edge_volume_model. This makes it possible to integrate edge quantities properly so that it is integrated with respect to the volume on nodes of the edge. To set the node volumes for integration, it is necessary to define a model for the node volumes on both nodes of the edge. For example:
devsim.edge_model(device="device", region="region", name="EdgeNodeVolume", equation="0.5*EdgeCouple*EdgeLength") set_parameter(name="edge_node0_volume_model", value="EdgeNodeVolume") set_parameter(name="edge_node1_volume_model", value="EdgeNodeVolume")
For the cylindrical coordinate system in 2D, please see Cylindrical Coordinate Systems.
macOS 10.10 (Yosemite) is now supported. Regression results in the source distribution are for a 2014 Macbook Pro i7 running this operating system.
October 4, 2014¶
December 25, 2013¶
Binary versions of the
DEVSIM software are available for download from http://sourceforge.net/projects/devsim. Current versions available are for
macOS 10.10 (Yosemite)
Red Hat Enterprise Linux 6
Ubuntu 12.04 (LTS)
Please see Installation for more information.
macOS 10.10 (Yosemite) is now supported. Support for 32 bit is no longer supported on this platform, since the operating system is only released as 64 bit.
Regression data will no longer be maintained in the source code repository for 32 bit versions of
Ubuntu 12.04 (LTS) and
Red Hat Enterprise Linux 6. Building and running on these platforms will still be supported.
Source code improvements¶
The source code has been improved to compile on
macOS 10.10 (Yosemite) and to comply with
C++11 language standards. Some of the structure of the project has been reorganized. These changes to the infrastructure will help to keep the program maintainable and useable into the future.
September 8, 2013¶
If the simulation is diverging for 5 or more iterations, the simulation stops.
Bernoulli Function Derivative Evaluation¶
dBdx math function has been improved to reduce overflow.
August 14, 2013¶
vec_min functions have been added to the
SYMDIFF parser (Table 9). The
vec_sum function replaces
Default Node Models¶
node_index are now part of the default node models created on a region (Table 2}).
Set Node Value¶
It is now possible to use the
devsim.set_node_value() to set a uniform value or indexed value on a node model.
July 29, 2013¶
DEVSIM is open source¶
DEVSIM is now an open source project and is available from https://github.com/devsim/devsim. License information may be found in DEVSIM License. If you would like to participate in this project or need support, please contact us using the information in Contact.
Installation instructions may be found in Installation.
Tcl interpreter version of
DEVSIM is now called
devsim_tcl, and is located in
/src/main/ of the build directory. Please see the
INSTALL file for more information.
Contacts now require a material setting (e.g.
metal). This is for informational purposes. Contact models still look up parameter values based on the region they are located.
Please see Using an external mesher for more information about importing meshes from other tools.
Genius Mesh Import
DEVSIM can now read meshes written from
Genius Device Simulator. More information about
Genius is in Genius.
Gmsh Mesh Import
DEVSIM reads version
2.2 meshes from
2.0 is no longer supported. Please see Gmsh for more information.
Test directory structure¶
Platform specific results are stored in a hierarchical fashion.