# Introduction¶

DEVSIM is semiconductor device simulation software which uses the finite volume method. It solves partial differential equations on a mesh. The Python interface allows users to specify their own equations.

## Software Features¶

• Documentation
• Python and Tcl scripting
• DC, small-signal AC, impedance field method, transient
• User specified partial differential equations (PDE).
• 1D, 2D, and 3D simulation
• 1D, 2D mesher
• Import 3D meshes.
• 2D cylindrical coordinate simulation
• ASCII file format with PDE embedded.

## Supported Platforms¶

• macOS 10.13
• Microsoft Windows
• Red Hat 6 (Centos Compatible)

DEVSIM is a registered trademark of DEVSIM LLC.

• Binaries
• Source Code

# Examples¶

In addition to the examples provided with the distribution, and listed in the documentation. The following examples are also available:

# Documentation¶

## White Papers¶

• Semiconductor Device Simulation Using DEVSIM

https://devsim.com/semiconductor-device-simulation-using-devsim/

DEVSIM is a technology computer aided design (TCAD) simulation software. It is released under an open source license. The software solves user defined partial differential equations (PDEs) on 1D, 2D, and 3D meshes. It is implemented in C++ using custom code and a collection of open source libraries. The Python scripting interface enables users to setup and control their simulations.

In this chapter, we present an overview of the tool. This is followed with a bipolar junction transistor (BJT) design and characterization example. A collection of open source tools were used to create a simulation mesh, and visualize results

• Symbolic Model Evaluation for TCAD Device Simulation

https://devsim.com/new-white-paper/

Symbolic model evaluation is a powerful method for developing models for technology computer-aided design (TCAD) device simulation. It gives users the ability to accurately describe physical phenomena. Coupled with automatic creation of derivative expressions, new models can be rapidly developed with performance rivaling source code approaches. A new device simulation tool is presented with a drift-diffusion example.

• TCAD Sensitivity Analysis for Device Optimization

https://devsim.com/sensitivity-analysis-white-paper/

We explore the use of sensitivity analysis for technology computer-aided design (TCAD) optimization. By directly coupling device response to model parameters, our approach may be used to generate derivatives for gradient-based optimization. An example is presented for inverse modeling of a doping profile. We compare the number of simulations required, and accuracy, to a design of experiments (DOE) based optimization.

# Model Example¶

Solving the Poisson equation in a dielectric is:

$$\epsilon \int \nabla \psi \cdot \partial r = 0$$

which is equivalent to solving

$$\epsilon \int \vec{E} \cdot \partial \vec{s} = 0$$

In DEVSIM, the surface integral is performed by specifying an equation in the region with an edge model which is the negative gradient of the potential, $$\psi$$. An example implementation is located in 1

def CreateOxidePotentialOnly(device, region, update_type="default"):
'''
Create electric field model in oxide
Creates Potential solution variable if not available
'''
if not InNodeModelList(device, region, "Potential"):
print "Creating Node Solution Potential"
CreateSolution(device, region, "Potential")

efield="(Potential@n0 - Potential@n1)*EdgeInverseLength"
# this needs to remove derivatives w.r.t. independents
CreateEdgeModel(device, region, "ElectricField", efield)
CreateEdgeModelDerivatives(device, region, "ElectricField", efield, "Potential")
dfield="Permittivity*ElectricField"
CreateEdgeModel(device, region, "PotentialEdgeFlux", dfield)
CreateEdgeModelDerivatives(device, region, "PotentialEdgeFlux", dfield, "Potential")
equation(device=device, region=region, name="PotentialEquation", variable_name="Potential",
edge_model="PotentialEdgeFlux", variable_update=update_type)