Sentaurus Mesh
6. Mesh Quality Checking

6.1 QualityReport Section
6.2 Mesh Quality Report
6.3 Mesh Quality Criteria Limits
6.4 Recommended Settings for Mesh Quality
6.5 Additional Checks for Mesh Quality
6.6 Checking Mesh Quality Within a Simulation Flow

Objectives

6.1 QualityReport Section

For device simulations, especially for breakdown calculations, having high-quality mesh elements is important to avoid problems such as premature breakdown or convergence. To determine the mesh quality, Sentaurus Mesh analyzes the generated mesh and produces a report that shows the mesh quality criteria. In addition, by specifying limits of acceptable mesh quality, you can instruct Sentaurus Mesh to stop with a failure if some mesh quality criteria are not fulfilled such that subsequent device simulations do not start.

You use the QualityReport section of the command file to check mesh quality:

QualityReport {
    Global
    Material = {stringList}
    Region = {stringList}
    {
        limitMaxConnectivity = integer
	limitMaxNonDelaunay = float
	limitMinAngle = float
	limitMinEdgeLength = float
	limitMinVolume = float
    }
}

Sentaurus Mesh behaves differently depending on whether any limits are specified in the QualityReport section:

The QualityReport section is effective only for 3D meshes and is not used for 2D meshes.

6.2 Mesh Quality Report

The first three entries of the QualityReport section determine where the mesh quality should be analyzed:

Even when no limits are used, Sentaurus Mesh prints a quality report to the log file when the QualityReport section is specified:

================================= QualityReport ===============================
===============================================================================
Material = { Silicon }
  limitMaxNonDelaunay = 100
  limitMinAngle = 0
  limitMinVolume = 0
  limitMinEdgeLength = 0
  limitMaxConnectivity = 0
================================= Material Silicon   ==========================
Number of non-Delaunay elements: 56 (0.00067% of total)
Smallest angle (BoxMethod definition): 1.1 degrees at (1.1938;0.628408;1.41414)
Smallest volume: 3.7e-12 um3 at (0.00055969;0.0168267;0.139651)
Shortest edge: 0.00015 um at (0.0609662;0.0786425;0.00953776)
Max Connectivity: 56 at (1.2899;0.256564;1.31473)
===============================================================================

6.3 Mesh Quality Criteria Limits

Optionally, you can specify limits for mesh quality criteria, such that Sentaurus Mesh exits if these are not met. The following default limits (in parentheses) are set so that they are met for all meshes:

6.4 Recommended Settings for Mesh Quality

To achieve meshes suitable for device simulations, in general, and breakdown simulations, in particular, it is recommended to use the following limits in the QualityReport section:

6.5 Additional Checks for Mesh Quality

It is also important to check the DeltaVolume report in the Sentaurus Device or box-method utility log file, which indicates how big is the difference between the real physical volume and the volume estimated by the box discretization method for each device region:

Region      Volume [um3]        BoxMethodVolume [um3]   DeltaVolume
--------------------------------------------------------------------
Poly        4.990000000000e-03  4.990000000000e-03      0.000000 %
OxideP      9.500000000000e-06  9.500000000000e-06      0.000000 %
Oxide       1.000000000000e-06  1.000000000000e-06      0.000000 %
OxideC      9.500000000000e-06  9.500000000000e-06      0.000000 %
Channel     4.990000000000e-03  4.990000000000e-03      0.000000 %
Total       1.000000000000e-02  1.000000000000e-02      0.000000 %

For the active semiconductor region, the delta volume must be very close to zero, that is, less than 1e-4%. Otherwise, the mesh is non-Delaunay and should not be used for device simulations.

In addition, the maximum aspect ratio of the mesh element (the ratio of element edge sizes in different directions), in three dimensions, usually must be in the range of 10–20 for elements in the active area of the device. If the element aspect ratio is too high, Sentaurus Device sometimes has convergence difficulties.

6.6 Checking Mesh Quality Within a Simulation Flow

In many cases, you want to check the mesh quality within a simulation flow. You might have, for example, a remeshing step for device simulation at the end of the process simulation. For a DoE, the mesh quality can differ considerably for different experiments. In certain situations, also the node count can be higher than expected. To prevent that the device simulation starts in these unwanted situations, a mesh check can be performed by introducing a Python tool instance that calls the box method utility and analyzes and prints the results. This Python tool instance is introduced before the device simulation instance.

The mesh check returns an error if one of the specified mesh quality criteria is not met. The next Sentaurus Device instance, in which a dependence on the successful execution of the mesh quality check is defined (by using #setdep @mq@), will start if all mesh quality criteria are met.

An example of such a mesh quality check is given in the project Applications_Library/GettingStarted/snmesh/MeshQuality. First, Sentaurus Process reads a given structure, adds contacts, and creates a new mesh. Mesh quality criteria are defined in the Python command file mq_pyt.py.

Click to view the command file mq_pyt.py.

You need to provide limits for the mesh quality criteria in the Python command file. The criteria in the example are chosen for breakdown voltage simulations for power devices:

limit_nvert=5e5
limit_deltavol=1e-4
limit_nondel=1
limit_minedge=1e-6
limit_minangle=1e-2
limit_minvolume=1e-18
limit_maxconnect=200
limit_maxlevel=0
SiRegions = ['Silicon_1']

Here is a summary of the criteria (see also Section 6.4 Recommended Settings for Mesh Quality):

If any of the criteria is set to zero, the check is omitted. The script assumes that, if the mesh was created by Sentaurus Process, the info level for meshing was set to 1 or higher. For info level 0, the node connectivity is not printed to the Sentaurus Process log file.

The values for all mesh quality criteria will be listed in the Sentaurus Workbench table. If one or more meshing criteria are not met, the Python tool instance will keep the n@node@_mqc.tdr file, which can be loaded into Sentaurus Visual. The file contains the mesh criteria as fields, so that you can find out where the mesh has problems.

main menu    |   module menu    |   << previous section    |   next section >>