Devsim

Latest version: v2.9.1

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 8

2.3.8

Bugs

[ryan3141](https://github.com/ryan3141) fixed an issue where math functions added with ``devsim.register_function`` were not available in extended precision model evaluation. The ``testing/testfunc_extended.py`` test is added to validate the fix.

Update NOTICE with the license files from the various dependencies.

2.3.7

Apple M1 Support

Intel MKL Pardiso not available, so using system BLAS/LAPACK or openblas by default. In addition, SuperLU, is used instead of the MKL Pardiso. This results in some test failures, based on the use of a different solver, and not the OS architecture.

Extended precision is enabled.

Enabled by running pip install.

The regression results are in this newly created repo:

* [devsim_tests_macos_arm64](https://github.com/devsim/devsim_tests_macos_arm64)


Python Notebook Example With 3D Visualization


A plotting example using ``pyvista`` is presented in ``examples/plotting/visualization.ipynb``. This example was provided by [simbilod](https://github.com/simbilod).

Bugs

When instantiating a mesh from Gmsh, contact and interface related errors to dimensionality have an improved error message.

2.3.6

On Windows the ``DEVSIM_MATH_LIBS`` now uses the ``;`` as the path separator, while macOS and Linux still use ``:``.

The math library search order is then:

* The math libraries listed in the ``DEVSIM_MATH_LIBS`` environment variable, with the appropriate separator.
* The Intel Math Kernel Library
* These dynamic libraries
* OpenBLAS (e.g. libopenblas.so)
* LAPACK (e.g. liblapack.so)
* BLAS (e.g. libblas.so)

All platforms will search for the Intel MKL by trying several version numbers. When the Intel MKL is not available, the direct solver will switch from Intel MKL Pardiso to SuperLU.

On macOS and Linux, the RPATH has been modified to look in places relative to the `devsim` module, instead of using ``CONDA_PREFIX`` or ``VIRTUAL_ENV``.

* ``macOS`` : ``loader_path;loader_path/../lib;loader_path/../../../../lib;executable_path/../lib``
* ``Linux`` : ``$ORIGIN:$ORIGIN/../lib:$ORIGIN/../../../../lib``

2.3.1

Python PIP Package

DEVSIM is now available on pypi for macOS, Linux, and Microsoft Windows. To install this package for your platform:


pip install devsim



Users of Anaconda Python should install the Intel MKL using

conda install mkl


and may find simulation files and documentation in ``$CONDA_PREFIX/devsim_data``.

Users of other Python distributions may install this dependency using:

pip install mkl


and may find simulation files and documentation in ``$VIRTUAL_ENV/devsim_data`` when using virtual environments.


Remove Windows MSYS Build

The MSYS build is removed as an available binary package. Windows is still supported through the use of the Visual C++ compiler.

Build Notes

The compiler for the Linux build are now upgraded to ``devtoolset-10`` and is now built on ``manylinux2014``.

Boost is now added as a submodule, instead of using system libraries or Anaconda Python versions. The Linux build no longer requires Anaconda Python.

2.2.0

It is possible to delete devices using the ``delete_device`` command. Meshes used to instantiate devices may be deleted using the ``delete_mesh`` command. Parameters set on a device and its regions are also cleared from the parameter database.

Extended precision is now available on Windows builds using the Visual Studio Compiler. Note that this precision is not as accurate as the float128 type used on other systems.

Upgraded to SuperLU 5.3 from SuperLU 4.3.

Fixed defects found in Coverity scanning.

2.1.0

Explicit math library loading

Introduction

Since the Intel Math Kernel Library started versioning the names of their dynamic link libraries, it has been difficult to maintain a proper Anaconda Python environment when the version has been updated. With this release, it is possible to use any recent version of the Intel MKL. In addition, the user is able to load alternative BLAS/LAPACK math libraries.

Intel MKL

From DEVSIM Version 2.1.0 onward, a specific version is not required when loading the Intel MKL. If the Intel MKL is not found, the import of the ``devsim`` module will fail, and an error message will be printed. This method is the default, and should work when using an Anaconda Python environment with the ``mkl`` package installed.

When using a different Python distribution, or having an installation in a different place, it is possible to specify the location by modifying the ``LD_LIBRARY_PATH`` environment variable on Linux, or using ``DYLD_LIBRARY_PATH`` on macOS. The explicit path may be set to the MKL math libraries may be set using the method in the next section.

Loading other math libraries

It is possible to load alternative implementations of the BLAS/LAPACK used by the software. The ``DEVSIM_MATH_LIBS`` environment variable may be used to set a ``:`` separated list of libraries. These names may be based on relative or absolute paths. The program will load the libraries in order, and stop when all of the necessary math symbols are supplied. If symbols for the Intel MKL are detected, then the Pardiso direct solver will be enabled.

New CMAKE build option
For those building the software, the ``EXPLICIT_MATH_LOAD`` CMAKE option has been added to control the new explicit math loading feature. An important benefit of this option is that it is possible to build a release version of the software, even if the Intel MKL has not been installed on the build computer.

Direct solver selection

The direct solver may be selected by using the ``direct_solver`` parameter.

devsim.set_parameter(name='direct_solver', value='mkl_pardiso')


The following options are available:
- ``mkl_pardiso`` Intel MKL Pardiso
- ``superlu`` SuperLU 4.3

The default is ``mkl_pardiso`` when the Intel MKL is loaded. Otherwise, the default will switch to ``superlu``.

Kahan summation in extended precision mode

The ``kahan3`` and ``kahan4`` functions are now using the Kahan summation algorithm for extended precision model evaluation. Previously, this algorithm was replaced with 128-bit floating point addition and subtraction in releases that support extended precision mode. With this change, better than 128-bit floating precision is available when extended precision is enabled.

devsim.set_parameter(name = "extended_model", value=True)


The ``testing/kahan_float128.py`` test has been added.

Visual Studio 2022

The Microsoft Windows``win64`` release version is now built using the Visual Studio 2022 compiler. For users needing extended precision on the Windows platform, the ``msys`` build is recommended.

Page 4 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.