How to Mesh in 2D TCAD


Meshing for process in ATHENA or electrical characterisation in ATLAS is one of the biggest challenges that a user faces. Poor meshing in both ATHENA and ATLAS can lead to simulation failures. Poor meshing can also lead to inaccurate electrical results, which is potentially even worse. The effect that the mesh can have on the electrical results has been illustrated in [1]. An optimum mesh will have a sufficient number of points to ensure accuracy yet it will not have an excessive number of points as this will lead to an increase in simulation time.

For a more fundamental discussion on meshing in ATHENA an excellent article can be found in [2]. Further information on base mesh definition in ATHENA can be found in [3].

In this article a more applied approach is considered with discussion given to a selection of mesh enhancement techniques and situations the user might face. A very simple structure is used throughout this article to highlight these techniques.

The deck used to create the basic structure used in this article is shown in Figure 1a. Images of the structure at key processing steps are shown in Figures 1b – e. Firstly, a trench region is etched from the silicon (Figure 1b), a liner oxide is then deposited (Figure 1c), followed by a poly trench re-fill (Figure 1d), finally the poly silicon is cleaned off (Figure 1e).

Please note that extremes and simplifications have been used in this article so as to clearly highlight and introduce a basic range of techniques.


Simple Half Cell Structur

Figure 1a. ATHENA syntax used to create the basic half-cell structure.


Figure 1b. Starting structure with trench etch.


Figure 1c. Deposit of 1um oxide liner.


Figure 1d. Poly trench refill.


Figure 1e. Poly clean back.


Mesh Definition in layers Deposited in ATHENA

Figure 2. Auto-mesh definition of the deposited poly layer.

In Figure 2 we have allowed ATHENA to automatically choose the number of mesh layers in the deposited layer. This is achieved by not using the DIVISIONS flag on the relevant DEPOSIT statement. Overall the mesh is satisfactory except in the top left corner, as highlighted. Although it is not severe in this instance, a number of triangles are sharing a common vertex or point. This is not desirable and can subsequently cause numerical instabilities. Furthermore, you can see that some of the triangles in this region are very thin which can also contribute to numerical instabilities. Ideally the ratio of the longest to shortest edge should be no greater than 10 [2].

The issues with the structure highlighted in Figure 2 can be resolved by increasing the mesh density in the deposited layer, as shown in Figure 3. The mesh density in a deposited layer is set using the DIVISIONS flag on the DEPOSIT statement as in:


Figure 3. Increased number of mesh points in the deposited poly, enhancing the mesh quality.

Comparing the two structures, it is clear that all of the triangles in Figure 3 show a good ratio between side lengths and no node has a high number of triangles attached to it. Although the mesh issues are now resolved it should be noted that the mesh density is now somewhat excessive.

Usually the most numerically efficient method is to simulate a half-cell. However to enhance the numerical stability in certain circumstances it is better to simulate a full cell. In the previous images we have shown a half-cell. Shown in Figure 4 is a full cell. It is very simple to turn a half-cell structure into a full cell structure in ATHENA using the command:

# Using the LEFT flag mirrors on the left vertical axis,
# RIGHT mirrors on the right vertical axis

Figure 4. Half-cell mirrored in ATHENA with default DIVISIONS.

You can use this command at any point in the deck. The structure shown in Figure 4 uses the automatic DIVISIONS value set by ATHENA in the poly deposition step. Consequently the structure is displaying a number of narrow triangles and triangles on a common vertex as was observed in Figure 2. Although a full cell can be used to overcome a numerically challenging step, the structure can easily be converted back to a half-cell at any point to speed up the simulations.

There are two different ways we can do this. The first is simply using ATHENA syntax:


This statement will remove all of the materials to the left of X=0. The second option is to use DevEdit (either syntax or via the GUI) and cut the structure in half.

In the simulation environment there is no penalty if you make multiple discrete depositions of the same material. In situations with complex topography it is sometimes useful to split the deposition of a thick layer into a number of separate steps. This also has the advantage that different mesh densities can be used on different layers. Previously the polysilicon layer was deposited in a single step using:


Using the multiple deposition technique we would use a sequence of statements similar to:


So the sum of the deposited layers is equal to the total thickness specified when just a single statement was used. Such a technique is illustrated in Figure 5. The three discrete layers of polysilicon can clearly be seen. The first, Layer 1, is relatively thin with a high mesh density. Layer 2 is somewhat thicker with a lower density and Layer 3 is thicker still with its mesh density further reduced.

Figure 5. Multi layer deposition.


Mesh Relaxation in ATHENA

The focus so far has been ensuring that the mesh is dense enough to accurately form the structure. It is always worth remembering that an excessive number of grid points will increase computation time. To optimise the mesh we could completely re-mesh the structure in DevEdit (which will be covered in the following section) or the mesh density can be reduced in defined areas simply using ATHENA syntax. To relax a mesh in ATHENA the following command is used:


This relaxes the mesh in a box, the limits of which are defined by the X/Y max/min co-ordinates.

Figure 6a shows the original structure. The mesh density has been increased to accentuate the relaxation that is shown in Figure 6b.

Figure 6a. Starting structure with dense mesh prior to relaxation.


Figure 6b. Box mesh relaxation on the structure shown in Fig 6a using ATHENA syntax.


Mask Alignment to Mesh Lines

ATHENA hosts a set of highly advanced meshing algorithms. Even though these algorithms are very robust the user should try and adhere to certain ‘best practices’. Although not mandatory, one such best practice is to explicitly define mesh lines on the edge of masked or etched regions. Otherwise inaccuracies can occur and obtuse triangles can be introduced which can potentially cause convergence issues in both ATHENA and ATLAS.

Figure 7a. The introduction of obtuse triangles due to non-alignment of mesh lines and masked edges.


Figure 7b. Obtuse triangles can be minimised if mesh lines are explicitly defined at the edge of masked regions.


Shown in Figure 7a is a structure where mesh lines have not been aligned to the masked edges. The mesh was set at a uniform spacing of 0.2um, the trench was etched at X=0.9 therefore the vertical edge of the trench lies in between the X mesh line at 0.8 and 1.0. Similarly with the polysilicon at the surface, the material was etched to the right of X=1.7. Consequently the vertical edge of the poly silicon at the surface lies in between the X mesh lines found at X=1.6 and 1.8. Obtuse triangles can clearly be observed in the oxide at the edge of the etched poly.

Although not severe in this instance such situations are best avoided. These issues can easily be overcome by ensuring mesh lines are aligned to the edge of the masked region as shown in Figure 7b.


Global Mesh Refinement

The most common cause of convergence issues is almost certainly poor meshing. If you are facing convergence issues and you suspect that your mesh is not well defined you can carry out a rapid assessment of this by applying a global mesh density multiplication factor to your mesh. This feature is available in both ATLAS and ATHENA. The base mesh density will be globally increased by the user-defined multiplication factor. This factor can also be used to reduce mesh density.

In ATHENA, the multiplication factor is used on the INIT statement. For example:


In ATLAS the global multiplication factor flag is set on the MESH statement as in:


If the multiplication factor is set to less than one then the mesh density will be increased by that factor. If it is set to a value greater than one then the density will be decreased.

Figures 8a to 8c illustrate the effect on the mesh in ATHENA. Figure 8a shows SPACE.MULT=0.5, Figure 8b shows SPACE.MULT=1 and Figure 8c shows SPACE.MULT=2.

Figure 8a. SPACE.MULT=0.5. Starting mesh density doubled.


Figure 8b. SPACE.MULT=1. The ‘standard’ mesh density considered with no multiplication.


Figure 8c. SPACE.MULT=2. Starting mesh density halved.


Figure 8d. Overlay of Fig 8a – 8c the coarse mesh of Fig 8c (blue) has lead to an inaccuracy on the internal corner of the trench.


The three structures shown in Figures 8a – 8c can then be overlaid to study for any effects due to the changing mesh density. The overlay is shown in Figure 8d. The region edges of the two structures with the finest meshes lie perfectly on one another (SPACE.MULT=0.5 and 1, denoted by the green and red lines in Figure 8d). However, reducing the mesh density (SPACE.MULT=2, Figure 8c) causes a slight inaccuracy on the internal corner of the trench. As highlighted, the region edge line does not lie in the same location as it does in the other two structures that have a higher mesh density.


Remeshing In DevEdit

Figure 9. Box refinement in DevEdit.

A great feature about the Silvaco suite of TCAD tools is the auto interface. This means that a structure can be generated in one TCAD tool then passed seamlessly in the same deck into another TCAD tool. Just because a mesh is good for process simulation it doesn’t mean that it will be good for electrical simulation in ATLAS. Therefore DevEdit can be used to re-mesh before electrical simulation. DevEdit can also be used part way through a process run to re-mesh or as a standalone tool to create structures from scratch.

DevEdit offers many ways to define your new mesh making it a great universal tool. For example, you can re-mesh on specific regions, materials, under regions, on volume data or in defined boxes.

Shown in Figure 9 is the re-meshed full cell structure. In this instance we have inserted DevEdit syntax part way through the ATHENA deck as shown in Figure 10. The syntax creates a moderately coarse base mesh then defines two mesh refinement boxes, as highlighted. The first is a relatively fine mesh covering the surface. The second is a coarser mesh covering the trench poly.

Figure 10. The use of DevEdit syntax part way through an ATHENA process run to remesh using boxes of refinement.


Mesh Refinement on Volume Data in DevEdit

One feature that is commonly used in DevEdit is re-meshing on volume data, such as net doping, a specific impurity, electric field or potential. For accurate results and to ensure convergence in ATLAS it is critical that the volume data is well meshed. In areas where the volume data changes the mesh should be dense enough to accurately reflect these changes. Where there is no change in the volume data, such as deep in a uniformly doped bulk / substrate region, the mesh density can be quite coarse.

Shown in Figure 11a is the full cell structure we have previously considered. The mesh shown was created in Devedit. Refinement has been undertaken on Net Doping. Consequently, where the volume data changes the mesh is quite fine, and where the doping is uniform (bottom left and right) the mesh is quite coarse. Shown in Figure 11b are the net doping contours with mesh overlay highlighting the refinement on doping.

Figure 11a. Remeshed, refinement on quantities.


Figure 11b. Remeshed, displaying the mesh and volume data (Net Doping) that has been refined on.


Figure 11c. Deck and syntax used to auto interface between ATHENA and DevEdit showing the use of DevEdit to refine on volume data.



Structure Generation in ATLAS

The user should always consider very carefully if itis necessary to create a full process run. Typically it is far quicker both computationally and in user development time to generate the structure exclusively in ATLAS or using the DevEdit GUI. A full range of tools are available in ATLAS to ensure that the user can accurately model their device and doping profiles. Further realism can be achieved in ATLAS if the user, rather than defining their doping profiles in the deck, imports experimental (SIMS, SRP etc) doping profiles into the ATLAS simulation.

The half-cell ATHENA structure has been reproduced in ATLAS. The ATLAS deck is shown in Figure 12a and the resulting structure in Figure 12b. The ATHENA structure is shown in Figure 12c for ease of comparison. From this it is clear that fundamental replication is quite an elementary task. To turn the ATLAS structure into a pseudo-process structure, the doping profiles from the ATHENA structure have been extracted (although we are importing simulated profiles, as noted, the profiles could be sourced from experiments) and then imported into the ATLAS simulation. Figure 12d shows the doping in the ATLAS structure replicating, as intended, the doping in the ATHENA structure which can be seen in Figure 12e.

Figure 12a. ATLAS deck used to create equivalent structure.


Figure 12b. Equivalent structure created in ATLAS.


Figure 12c. ATHENA equivalent for comparison.


Figure 12d. Net Doping in the ATLAS structure. A more realistic pseudo-process structure is achieved as the doping is imported in from an experimental source.


Figure 12e. Original experimental ATHENA doping that was extracted and mapped onto the ATLAS structure.


Being able to rapidly generate efficient and robust meshes is a one of the biggest challenges to a TCAD user. In this article a selection of techniques to aide such endeavours has been presented.



  1. “DevEdit: A Flexible Tool for Structure Editing and Mesh Generation” Simulation Standard, Volume 8, Number 8, August 1997. Available from:
  2. “Mesh Control in ATHENA”, Simulation Standard, Volume 9, Number 2, February 1998. Available from:
  3. “Hints, Tips and Solutions”, Simulation Standard, Volume 13, Number 11, November 2003. Available from:

Download PDF version of this article