Global TCAD Solutions

Next-Generation TCAD Software
VSP Icon

VSP – Vienna Schrödinger Poisson


Software Development Kit (SDK)

Compared to traditional simulators, one of the unique strengths of VSP is its modular design, providing more dynamically structured program flow during simulation, as well as easy integration of additional modules, such as specific solvers or new physical models.

SDK Providing Ultimate Flexibility

Full Power to Custom Models and Solvers

Leveraging the power of VSP for its customers, GTS provides an SDK for creating custom models for use directly within the simulator. Integrating almost any desired custom features into VSP, such models run in the same context as the GTS-supplied models. That way, custom models take full advantage of the power and functionality of this leading-edge quantum-electronic simulator, including built-in functions, control flow, as well as data exchange with other models at runtime.

Unique On The Market

With VSP, GTS Framework offers the first quantum-mechanical device simulator featuring this new way of integrating custom models into the simulation process. In contrast to traditional ways of calling custom code, this allows for seamless integration in the simulation tool flow, and therefore provides higher efficiency and better usability in addition to a whole lot of new possibilities, and thus superior quality of simulation results.

Example: Custom Schrödinger Model

Cross-section of a nano wire used as example for a custom Schroedinger model implementation for quantum-mechanical simulation.
Fig.1: Cylindrical nano wire (unstructured triangular mesh)
GTS Framework showing resulting wave functions in cross-section according to quantum-mechanical simulation using the custom model.
Fig.2: Viewing result: Wave functions

The example shows a custom implementation of a multi-dimensional Schrödinger model. The model was used to simulate the nano wire according to Fig. 1, yielding the result shown in Fig. 2.

Straightforward Implementation

The VSP SDK includes a template file for C++ which makes implementing new models easy and straightforward. See the full implementation of the example in

Consistent & Efficient Development

Note the dimension-independent implementation: The same code is applied for a three-dimensional tetrahedral mesh, a
two-dimensional triangular mesh as well as for a 1d mesh.

Using the Model

To use the model in a simulation, reference it in the IPD (simulation setup) like in the snippet below:

<Simulation> : ~SimulationDefaults
   model = "SchroedingerExample";
      num_evals = 10;
      wall_segments = ["Gate", "*_Surf"];
      V = "~Device.potential";     

Download the full ipd file: schroedexample.ipd.