Devsim

Latest version: v2.8.0

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

Scan your dependencies

Page 3 of 7

2.4.0

Determine Loaded Math Libraries

To determine the loaded math libraries, use

devsim.get_parameter(name='info')['math_libraries']


UMFPACK 5.1 Solver

The ``UMFPACK`` 5.1 solver is now available as a shared library distributed with the software. It is licensed under the terms of the LGPL 2.1 and our version is hosted here:

[https://github.com/devsim/umfpack_lgpl](https://github.com/devsim/umfpack_lgpl)

Please note that this version uses a scheme to provide the needed math library functions when the library is loaded.

In order to use this library, a shim script is provided to load UMFPACK and set it as the solver. Please see this example:

python -mdevsim.umfpack.umfshim ssac_cap.py


Direct Solver Callback

It is now possible to setup call a custom direct solver. The direct solver is called from Python and the callback is implemented by setting these parameters:

devsim.set_parameter(name="direct_solver", value="custom")
devsim.set_parameter(name="solver_callback", value=local_solver_callback)


Where the first parameter enables the use of the second parameter to set a callback function. Please see the ``testing/umfpack_shim.py`` for a sample implementation using UMFPACK 5.1.

Apple M1

On this platform, the software does not check for floating point exceptions (FPEs) during usage of the direct solver. During testing, it was discovered that FPEs were occuring during factorization for both the ``SuperLU`` and the ``UMFPACK``. Removing this check allows more of the tests to run through to completion.

Bugs

Fix issue [104](https://github.com/devsim/devsim/issues/104) where the 2D MOSFET example was not fully connected across region interfaces.

testing/mos_2d.py
testing/mos_2d_restart.py
testing/mos_2d_restart2.py

This was resulting in an FPE during testing on macOS M1.

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.

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.