Chapter 6 High Accuracy Hierarchical Grids for Topography Simulation
In Chapter 5, an algorithm is presented that detects areas of a discretized surface with significant geometric variations (i.e., features). As discussed in Chapter 5, typical device topographies originating from process TCAD simulations are composed of extensive areas which are essentially flat and small areas with features. These observations motivate using a simulation domain with varying resolutions (e.g., higher resolutions for features and lower resolutions for non-features) to improve simulation performance.
Locally increasing the resolution of a discretized simulation domain to improve the accuracy of the solution when numerically solving PDEs (e.g., the level-set equation) is a common strategy [19, 20, 21, 22, 23, 24]. Furthermore, these techniques are also employed in other numerical simulations like Monte Carlo simulations [138]. For process TCAD simulations, the foundations are presented in [139]. The technique of locally adapting the resolution of the simulation domain is typically referred to as adaptive mesh refinement (AMR). It should be mentioned here that the term mesh in AMR is a different mathematical object than a conforming mesh (see Definition 2.2.10). To avoid confusion, when the word mesh is used in this work, it refers to Definition 2.2.10, meshes in the context of AMR are called grids.
In level-set based topography simulations that utilize AMR, the entire simulation domain is covered by a so-called base grid (or level 0 grid) and several rectangular refined grids (or level 1 grids) with higher resolutions. Furthermore, it is possible that refined grids (i.e., level 2 grids) with an even finer resolution are nested inside a refined grid (i.e., level 1), which is further discussed in Section 6.1.1. A base grid with all its refined nested grids is called a hierarchical grid. The general term grid refers to all kinds of grids (i.e., the base grid and refined grids). Figure 6.1 illustrates three refinement levels with different resolutions.
A straightforward approach that utilizes hierarchical grids in a level-set based simulation is to cover the entire narrow band around the zero level-set with refined grids [140, 141, 142]. However, this approach still resolves non-features of the geometry with a high resolution, which leads to large areas that do not benefit from the higher resolution. A computationally more efficient way of covering the simulation domain with refined grids is to detect areas of interest in the simulation domain and cover them with refined grids [143]. Therefore, a hierarchical grid placement algorithm is proposed that analyzes the device topography and only covers areas of interest (i.e., features) with refined grids [22, 144].
Figure 6.2 illustrates a level-set function with three features covered by refined grids with higher spatial accuracy (i.e., three times finer).
In order to maximize the performance gains from this hierarchical approach, these refined grids need to be optimally placed, guided by an automatic feature detection method.
The automatic hierarchical grid placement algorithm consists of two parts
-
1. An automatic feature detection step where areas of interest (i.e., features) are marked (flagged) as presented in Chapter 5.
-
2. An automatic grid generation algorithm that clusters the flagged grid points and places refined grids with a finer resolution at these clusters (see Section 6.1.2).
In Section 6.1 sub-grids (i.e., refined grids with additional properties) are defined. Furthermore, nesting
criteria, to avoid computational overhead, for these sub-grids and how they are placed in the simulation domain are discussed. Next, in Section 6.2 a hierarchical grid placement algorithm is introduced that places sub-grids based on the detected features of the level-set
function (see Section 5.1). This hierarchical grid placement algorithm is then incorporated into the general
workflow for topography simulations (see Section 4.5). Section 6.3 evaluates the performance of the hierarchical grid placement algorithm by simulating SEG of silicon-germanium
(
Own Contributions
This chapter introduces a combination of the previously presented feature detection algorithm (Chapter 5) with an algorithm for automatic grid generation to realize a hierarchical grid placement algorithm for topography simulations based on the level-set method. The work has been presented at the EUROSOI-ULIS 2021 conference [145] and was published as a journal article in Solid-State Electronics [61].
6.1 Hierarchical Grids
In the introduction to this chapter, the basic terminology for hierarchical grids is introduced (e.g., base grid, refined grids, and level
The refinement ratio between two grid levels must not necessarily be equal, as suggested in [146]. In the remainder of this thesis, the refinement ratio between
grid levels is assumed to be constant with a refinement factor of
To solve the level-set equation, at least a star stencil
6.1.1 Definition (Sub-Grid) A sub-grid is a refined grid that stores:
-
• Its resolution
. -
• Its position relative to the grid on the next coarser level.
-
• Its extent (i.e., the number of grid points) in all Cartesian directions.
-
• A set of ghost cells.
The ghost cells directly neighbor the grid cells at the border of the refined grid (see Figure 6.4).
This construction allows for calculating finite differences even when the finite difference stencil extends beyond the boundary of a refined grid. Furthermore, the ghost cells are used to transfer data between neighboring sub-grids
and set boundary conditions. Using ghost cells increases the required memory footprint since each sub-grid has to store its ghost cells. Additionally, if two sub-grids are adjacent, the ghost cells must be stored multiple times. If
bigger finite difference stencils are required, the number of ghost cells may be increased. The concept of level
6.1.1 Nesting
During a typical topography simulation workflow, numerous nested sub-grids are present in the simulation domain. Furthermore, these sub-grids have to exchange data amongst each other (e.g., between sub-grids on the same level
or between grid-levels). If the sub-grids could be placed arbitrarily in the simulation domain, a substantial computational overhead would be necessary to handle the data exchange between the sub-grids since all possible relations
between sub-grids have to be treated. Thus, the sub-grid placement is restricted to only allow for specific sub-grid configurations. These restrictions allow for efficient handling of the interactions between sub-grids. When a grid
The placement restrictions (nesting criteria) for sub-grids used in this work are as follows [147]:
-
1. Sub-grids may not overlap other sub-grids on the same level.
-
2. Each sub-grid has a unique parent grid on the next lower level (i.e., a sub-grid or the base grid).
-
3. Sub-grids have to be aligned to their parent’s grid cells (i.e., each sub-grid is either fully covered by a grid cell of its parent or is not covered at all).
-
4. A sub-grid may not border an area not refined on a lower grid level.
The first two criteria guarantee that each sub-grid has a single unique parent grid, which improves computational efficiency when exchanging data between levels. The last two criteria ensure that there is a gradual refinement from a coarser to a finer resolution.
Figure 6.5 illustrates hierarchical grids that fulfill and do not fulfill the nesting criteria.
6.1.2 Grid Generation
This section discusses how sub-grids are obtained from the flags created by the feature detection algorithm. For the remainder of this section, it is assumed that a single 2D grid with several flagged grid points is given. The extension of the presented algorithm to hierarchical grids is presented in Section 6.2. Furthermore, the general algorithm is independent of the dimension of the grid [148].
The basic grid generation algorithm used in this thesis is a slight variation of the grid generation algorithm of Berger and Rigoutsos [148]. This
algorithm considers the flagged and non-flagged grid points in a grid as a black and white image. In this context, the flagged grid points are considered to be black "
If one of the previously discussed criteria is not met, the patch is not efficient and has to be split. The position of the split is determined by calculating the signature (
Figure 6.6 shows an example of how the above discussed grid generation algorithm operates on a 2D grid.
In this example, the efficiency parameter is set to
The grid generation algorithm terminates when the queue is empty. Afterwards, for each patch stored in the pre-grid list, a sub-grid, with a finer resolution (according to
6.2 Hierarchical Grid Placement
In this section, the algorithms presented in Section 5.1.2 and Section 6.1.2 are combined into a single algorithm for hierarchical grid placement for level-set functions (see
Algorithm 2). Moreover, this algorithm is incorporated into a topography workflow. This algorithm is further referred
to as the regridding algorithm. The regridding algorithm starts with a feature detection step that iterates over all grids in the simulation domain and flags the features of the level-set functions (see Section 5.1.2). It should be noted that during the flagging procedure, not only geometric features (i.e., features defined by the curvatures of the
geometry) may be of interest. Examples of such non-geometric features are interfaces between multiple material layers (i.e., level-set functions). After the flagging procedure, the automatic grid placement algorithm starts by
computing the new sub-grids on the base grid. The flagging and grid generation steps are executed iteratively until a pre-defined number of refinement levels – the general refinement level (
input: Hierarchical grid
output: Updated hierarchical grid
1 recomputeSDF(
2 foreach Grid
3 detectFeatures(
4 preGridList
5 currLevel
6 while currLevel
7 tmpGridList
8 foreach Grid
9 tmpGridList
10 if checkNestingCriteria(tmpGridList,
/* nesting violation */
11 addAdditionalFlags(
12 preGridList = preGridList / getLevelNGrids(
// remove already generated sub-grids on this level
13 currLevel
14 else
15 preGridList
16 currLevel
17
18 foreach Patch
19 if
20
21 else
22
23
24 recomputeHierarchicalSDF(G); // Hierarchical SDF update[149]
Algorithm 2: Regridding algorithm for hierarchical grids.
The first three criteria are automatically fulfilled due to the construction of the grid generation algorithm (see Section 6.1.2)
-
1. Sub-grids on the same level cannot overlap since each patch is split into smaller non overlapping patches.
-
2. Sub-grids always have a unique parent since the grid generation is executed on each grid on the same grid level individually.
-
3. All sub-grids are aligned to their parents grid cells since only grid cells of the parent grid are refined (see Section 6.1).
Only the fourth criteria has to checked manually. If a sub-grid is found that borders an unrefined area on the previous grid level, the points on the border are flagged as features. Afterwards, the grid generation algorithm is executed again on the previous grid level. The algorithm concludes with a hierarchical re-distancing step [149].
6.2.1 Extended Topography Simulation Workflow
The major difference introduced into the simulation workflow due to the utilization of hierarchical grids is after the advection step, where the regridding algorithm has to be executed. During the advection step, the velocities and
the solution to the level-set equation must be calculated on each grid. These steps can be executed on all grids simultaneously. However, the CFL condition (see Equation 4.11) is bound by the grid resolution of the finest sub-grid in the simulation domain. This restriction is necessary since otherwise, the zero
level-set on the coarser sub-grids would evolve faster than the zero level-set on the finer sub-grids. Thus, the zero level-set of the level-set function would have two different positions depending on the observed sub-grid. It should be
mentioned here that it is possible to evolve the zero level-set on different grid levels with different CFL conditions. However, this has two primary drawbacks. First, the
Figure 6.7 depicts an updated topography simulation workflow (see Figure 4.7).
The reconstruction of the signed distance function has to be done before the feature detection to guarantee accurate
6.3 Benchmark Example Selective Epitaxial Growth
This section presents an evaluation of the extended topography simulation workflow introduced in Section 6.2.1. By comparing it to simulations of two SEG processes investigated by Jang et al. [137]. To that end, the run-time and accuracy of the simulated device topographies are analyzed. As previously shown in Section 5.2, topographies originating from SEG processes result in geometries with pronounced features which benefit from a higher resolution.
Furthermore, in this section, to ensure a well-resolved description of the level-set functions, the material interfaces with the
6.3.1 Simulation Setup
In the experiments presented in Jang et al. [137], the authors grow
The cyclic SEG process is modeled as a continuous epitaxy process that is perfectly selective (i.e., the deposition rate on the
In Jang et al. [137], the deposition rates on the crystallographic facets for two different alloys
Rates [nm/cycle] |
|
||||||||
Name | |||||||||
SEG1 | 13 | 5 | 3.1 | 1.6 | 5 | 24 | 47 | ||
SEG2 | 5 | 3 | 3.5 | 1 | 8 | 33 | 55 | ||
To apply these rates during a topography simulation, the process model utilizes a four-rate Hubbard interpolation to calculate velocity values for all grid points [136].
The epitaxial growth simulations of the
A singular grid without sub-grids is utilized when performing the SEG simulations with the Fine and Coarse grid settings. The simulation domains are comprised of
The SEG simulations using the Multi-Grid grid settings utilize a base grid with the same spatial resolutions as Coarse grid settings and a general refinement level
In what follows, the simulation results attained with the Multi-Grid grid settings are compared to the measurement data reported by Jang et al. [137]. Furthermore, the final
6.3.2 Example 1
The simulated
The simulation results are in good agreement with the experiment after all three measured cycles. Figure 6.9 shows the final surfaces (i.e., after 47 SEG cycles) of the SEG1 simulation with all grid settings reported in Table 6.2.
The Fine and Multi-Grid simulation results are in good agreement. On the other hand, the simulated
The
The simulation run-times of the SEG1 and SEG2 simulations run with the three studied grid settings are shown in Table 6.3:
The results show that the Fine grid settings have the worst simulation run-times. This is expected since the high resolution used in the entire simulation domain unnecessarily resolves non-features that do not benefit from the high resolution. In contrast and as expected, the simulation using the Coarse grid-setting results in the fastest run-times. However, as discussed previously, the quality of the final simulated surface is insufficient. The Multi-Grid grid settings improves the simulation performance by 32% compared to the Fine grid settings.
The flagged grid points and thus generated sub-grids after 24 SEG cycles, using the SEG1 process model, are shown in Figure 6.11.
During this simulation step of the SEG process, a new feature forms between the
6.3.3 Example 2
The simulated
The final surfaces (i.e., after 55 SEG cycles) of the
The error between the Coarse and Fine grid settings is not as pronounced as in the first experiment (i.e., SEG1), although there is still a mismatch between the surfaces, especially at the peak of the crystal. The surfaces obtained from the Multi-Grid and Fine simulations are again in good agreement.
Figure 6.14 reports the
The
Considering the run-times reported in Table 6.3 for the SEG2 process model, the observations made in the
previous experiment still hold. The Coarse grid-setting again has the fastest run-time, with the drawback of an inaccurate description of the
Another point that requires discussion is the difference in total run-time between the SEG1 and SEG2 experiments (see Table 6.3). The SEG2 experiment simulates 55 SEG cycles, while the SEG1 experiment only simulates 47 cycles with more than
double the simulation run-time compared to SEG2. This difference in run-time is explained by the complexity of the velocity field (i.e., process model), which influences how far the zero level-set can propagate in a single time step.
A closer investigation of the actual time steps the level-set method has to calculate during the SEG simulation shows that for the Multi-Grid grid settings the SEG1 simulation has to perform
Figure 6.15 shows the flagged grid points and sub-grids generated by the hierarchical grid placement algorithm after 33 SEG cycles using the SEG2 process model.
The process model for the SEG2 process does not generate a new feature during the SEG process. Thus no additional sub-grids are needed on the crystalline surface. Still, the peak of the
6.4 Summary
The feature detection algorithm presented in Chapter 5 has been combined with an AMR algorithm to create a
hierarchical grid placement algorithm. It has been discussed how the AMR algorithm determines the size and position of sub-grids. Furthermore, nesting criteria for nested sub-grids as well as a strategy to calculate finite differences
at the borders of these sub-grids, have been discussed. The hierarchical grid placement algorithm has been integrated into the topography simulation workflow. To demonstrate the efficiency of the hierarchical grid placement
algorithm for topography simulations, representative and practically relevant simulations of selectively grown epitaxial