3. Getting started
3.1. Introduction
DEVSIM
is a technology computer-aided design (TCAD) software for semiconductor device simulation. While geared toward this application, it may be used where the control volume approach is appropriate for solving systems of partial-differential equations (PDE’s) on a static mesh.
After introducing DEVSIM
, the rest of the manual discusses the key components of the system, and instructions for their use.
The primary goal of DEVSIM
is to give the user as much flexibility and control as possible. In this regard, few models are coded into the program binary. They are implemented in human-readable scripts that can be modified if necessary.
DEVSIM
has a scripting language interface (User interface). This provides control structures and language syntax in a consistent and intuitive manner.
The user is provided an environment where they can implement new models on their own. This is without requiring extensive vendor support or use of compiled programming languages.
SYMDIFF
(SYMDIFF) is the symbolic expression parser used to allow the formulation of device equations in terms of models and parameters. Using symbolic differentiation, the required partial derivatives can be generated, or provided by the user. DEVSIM
then assembles these equations over the mesh.
3.2. Getting help
Please see Contact for project contact information. The most responsive method is to contact the online forum at https://forum.devsim.org. Additional information, with links to documentation is available at https://devsim.org. Additional documentation files released with the simulator are presented at https://pypi.org/project/devsim/.
3.3. Supported platforms
DEVSIM
is compiled and tested on the platforms in Table 3.1.
Platform |
Architecture |
OS Version |
---|---|---|
|
x64 |
|
|
x86_64, aarch64 |
|
|
x86_64, arm64 |
|
These are the minimum supported platforms, and also expected to work on newer versions of these operating systems. If you require a version on a different software platform, please contact us Contact.
3.4. Install Python
A Python
version of 3.7 or higher is needed to run DEVSIM
. This requirement is often met by the default installations of the above systems. In addition, it is possible to download other Python
versions online. Popular distributions of Python
are listed in Table 3.2.
Vendor |
Path |
Website |
---|---|---|
Anaconda |
|
|
Python.org |
|
3.4.1. Create virtual environment
Creating a virtual environment is needed so DEVSIM
may necessary math libraries, as discussed in Default math search path. The numpy
package is also recommended to ensure that needed math libraries are available.
Anaconda
Using the conda
package manager in an Anaconda
, a virtual environment is created using.
conda create -n denv python numpy
conda activate denv
where denv
is the name of the environment. If you are using a x64
or x86_64
based system, you may install the Intel Math Kernel Library
with the Pardiso Solver.
conda install mkl
Using venv
For other Python
distributions, the requisite packages may be installed by using a venv
based virtual environment.
python3 -mvenv denv
source denv/bin/activate
pip install numpy
where denv
is the name of directory containing the environment. If you are using a x64
or x86_64
based system, you may install the Intel Math Kernel Library
with the Pardiso Solver.
pip install mkl
3.5. Install DEVSIM
3.5.1. Install
DEVSIM is available from PyPI using pip
. To install this package for your platform:
pip install devsim
Please see the devsim_data/INSTALL.md
file in the distribution for more information. This files may be found in the prefix directory for your chosen environment listed in Table 3.2.
3.5.2. Test
To ensure a proper installation, please type the following at a Python
prompt.
>>> import devsim
Searching DEVSIM_MATH_LIBS="libopenblas.dylib:liblapack.dylib:libblas.dylib"
Loading "libopenblas.dylib": ALL BLAS/LAPACK LOADED
Skipping liblapack.dylib
Skipping libblas.dylib
loading UMFPACK 5.1 as direct solver
Note that there will be an error if no math libraries are available.
>>> import devsim
Searching DEVSIM_MATH_LIBS="libopenblas.so:liblapack.so:libblas.so"
Loading "libopenblas.so": MISSING DLL
Loading "liblapack.so": MISSING DLL
Loading "libblas.so": MISSING DLL
Error loading math libraries. Please install a suitable BLAS/LAPACK library and set DEVSIM_MATH_LIBS. Alternatively, install the Intel MKL.
libblas.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/user/venv/lib/python3.8/site-packages/devsim/__init__.py", line 8, in <module>
from .devsim_py3 import *
RuntimeError: Issues initializing DEVSIM.
3.5.3. Running DEVSIM
See User interface for instructions on how to invoke DEVSIM
.
3.6. Building from source
Building from source is possible, and is useful when you want to extend the simulator, use compiler optimizations, or port to a new platform. See the BUILD.md
file in the project files for more information.
3.7. Install external software tools
3.7.1. Meshing
Gmsh
Gmsh
[2] is available from https://gmsh.info. DEVSIM
is able to import triangular or tetrahedral meshes from this application. More information is in Gmsh.
Other meshers
It is also possible to import other mesh formats by writing a converter in Python
, as described in Custom mesh loading using scripting.
3.7.2. Visualization
See Visualization software for a listing of available meshing tools, which are known to work with DEVSIM
.
3.7.3. Math libraries
BLAS and LAPACK
These are the basic linear algebra routines used in DEVSIM
and their selection is described in BLAS/LAPACK library selection.
Intel MKL Pardiso
This library may be installed and selected using the instructions in Available libraries.