Storing parameter sweep results in DEVICE



Parameter sweeps are available in DEVICE similar to the optical solvers. However, the finite element mesh of DEVICE can be an issue when it comes to storing the results from the sweeps. In DEVICE, the finite-element mesh is an unstructure grid which is generated every time a simulation is run and is random in its nature. This is not the case in FDTD Solutions or MODE Solutions where the rectangular grid can remain identical between multiple simulations. As a result, any spatial data in DEVICE can not be saved as a result of a parameter sweep (under normal circumstances). Only, results from contacts (current values) can be saved as a result of a parameter sweep as they do not get saved on the finite-element grid.

This problem can be overcome in some cases though in the following manner:

  1. If the geometry of the DEVICE is not changing then users can use the ‘mesh lock’ option to lock the mesh before running the sweep. This forces the solver to use the same mesh in all the runs and since the mesh remains same, the results can be saved as a result of the sweep.

  1. One thing to remember in using approach 1, is to make sure that the locked mesh should be fine enough for all the simulations. For cases where the amount of doping or generation rate is varied, the mesh requirement can vary significantly depending on the doping or generation rate profile. In such cases, the user can make the calculate the mesh for the most demanding case (i.e. the finest mesh) and use that for all the sweep points.

  2. If the geometry changes or a single mesh is not sufficient for all the sweep cases, then the user can still set up a sweep and run it. It will not be able to store and result but the individual files created by the sweep will have the results. The user can then use a script to load each file, read the results and interpolate them onto common rectangular grid and then save it as a single dataset. For details on interpolating finite element data onto rectangular grid, check out the interptri and interptet commands on our KB.