Using Manual Refinement of Geometrical Mesh in VICTORY Process



VICTORY Process is a 3D process simulation tool which employs the LevelSet technique for manipulating and deforming structures. The structure’s geometry is stored implicitly on the hierarchy of regular (constant mesh size along each direction) Cartesian meshes.

Using a single regular Cartesian mesh for representing the structure’s geometry has limitations when the structure contains features with great aspect ratio or sharp corners that should be resolved accurately (for implicit surface representation the smallest radius of a corner is comparable with the size of the grid cell). To capture such details, small mesh sizes must be used to ensure enough mesh cells and proper resolution in desired areas. However, this resolution may be redundant in other domains of the structure. Therefore a globally higher mesh resolution does lead to an excessive size of the computational grid. The consequence is a significant slowdown of the simulation. For instance, an accurate representation of structures with sharp corners normally requires high mesh resolution only around those sharp corners. To overcome this problem, VICTORY Process uses Adaptive Mesh Refinement (AMR) or Nested Grid approach to resolve the structure’s geometry with variable accuracy through the domain as illustrated in Figure 1.

Figure 1. Illustration of the nested grid approach which is used for geometry representation within VICTORY Process.


One of the critical steps in AMR is choosing the mesh layout. On the one hand, the finer level meshes should not be too large to avoid any unnecessary increase in computational complexity (number of mesh nodes). But on the other hand they should cover all areas that require higher resolution.

VICTORY Process provides automatic adaptive mesh refinement capabilities for the geometrical mesh. After a solution (e.g. from a geometrical or physical structure manipulation) is obtained on a given mesh, all cells are tested and if, according to certain criteria, refinement is required all such cells are

  • grouped,
  • encapsulated into separate mesh blocks, and
  • refined to a given degree

For the majority of cases the automatic mesh refinement is able to capture all fine features using a minimum amount of refinement and hence a minimum amount of mesh nodes. However, it is necessary that features which require refinement are visible (although with low accuracy) on the base mesh (coarsest mesh of the mesh hierarchy). If features are too small, the automatic refinement procedure cannot identify correctly such areas in need of refinement. One solution would be to increase the density of the base mesh, but it may also lead to a significant increase in memory and calculation time.

Another way to approach the problem is to instruct VICTORY Process explicitly to refine certain areas of the domain, by using the REFINEGEOMESH statement. Below we describe typical situations when the manual refinement is the best way to perform the process simulation.


Low Step

The following deck covers part of the initial silicon wafer with a thin layer of oxide with a 45 degrees sidewall slope:

INIT material=”silicon” boxmin=”0,0,0” boxmax=”1.0,1.0,2” \
resolution=”0.05, 0.05, 0.05” initHeight=0.25 meshdepth=2

SPECIFYMASKPOLY maskID=1 p=”0.2, 0.2” p=”0.2, 0.8.” p=”0.8, 0.8” p=”0.8,0.2”

GEOMETRYDEPO material=oxide maskID=1 thickness=0.0125 angle=45

Note that the the thickness of the oxide layer is very small. It is less than a quarter of the base mesh resolution, which is defined in the INIT statement by the resolution parameter. The structure which is created by this deck is shown in Figure 2a and Figure 2b. You can see that the automatic refinement procedure was not able to refine the whole perimeter along the oxide boundary.

a) Automatic refinement.

b) Automatic refinement with mesh layout on.

Figure 2. Deposition of the thin layer of oxide with automatic refinement.


This deficiency can be resolved by means of manual refinement. In order to use the manual refinement we need to define the area(s) for refinement using REFINEGEOMESH statement before performing the deposition:

REFINEGEOMESH box boxmin=”0.2,0.2,0.2” \
boxmax=”0.8,0.8,0.3” resolution=0.001

Note, that the REFINEGEOMESH statement does not perform the refinement immediately. It just marks the area to be refined during the next process step. The areas defined by several REFINEGEOMESH statements can overlap.

When we perform the actual deposition step we should also tell VICTORY Process to switch off the automatic refinement during the deposition step:

GEOMETRYDEPO material=oxide maskID=1 \
thickness=0.012 angle=45 autoref=off

Without setting the parameter autoref to ‘off’ the area marked for refinement by the REFINEGEOMESH statement would be discarded and a warning would be printed.

The structure obtained by using manual refinement is shown in Figure 3a and Figure 3b.


a) Manual refinement.

b) Manual refinement with mesh layout on.

Figure 3. Using manual refinement for correct deposition of the thin layer of oxide.


Thin Pillar

If you need to create a feature with a width or length which is much less than the resolution of the base grid in X or Y direction, such a feature may be completely invisible on the coarse level, and therefore the algorithm for automatic refinement will not be able to determine that the surrounding area requires refinement.

The following example illustrates this:

INIT material=”silicon” boxmin=”0,0,0”\
boxmax=”1.0,1.0,2” resolution=”0.05, 0.05,\
0.05” initHeight=0.25 meshdepth=3

SPECIFYMASKPOLY maskID=1 p=”0.49,0.49”\
p=”0.51,0.49” p=”0.51,0.51” p=”0.49,0.51”

GEOMETRYDEPO material=gold maskID=1 \

This deck creates a thin pillar of gold protruding from the flat silicon base. The results are shown in Figure 4. The pillar, with a width 10 times less than the base mesh resolution, is not captured at all by the automatic mesh refinement procedure as shown in Figure 4a.

a) Fine feature was not captured by automatic refinement as it is completely invisible on the base mesh.

b) Use of manual refinement allows to include thin pillar into simulation.

Figure 4. Capturing very fine feature with manual refinement.


In order to resolve the thin pillar we need to refine manually along its central axis:

start=”0.5,0.5,0.2” length=1.0 radius=0.02 \

GEOMETRYDEPO material=gold maskID=1 \
thickness=0.8 autoref=off

As shown in Figure 4b, the fine feature is captured perfectly well when manual mesh refinement is applied.


Thin Shell

The last example shows how manual refinement helps to construct very thin empty shells. The standard technique of thin shell creation is to deposit a thin layer of material over the certain form and then to remove the sacrificial material from inside the shell.

Figure 5 shows the initial structure with a thin layer of nitride deposited over a sacrificial layer of oxide. The next step is to selectively remove the oxide through the opening at the top by using the command:

GEOMETRYETCH material=”oxide”

Figure 5. Initial structure for creating a thin shell.


By the above statement, as no thickness is specified, we instruct VICTORY Process to remove all the oxide exposed to vacuum. The result is shown in Figure 6a. Again you can see that parts of the shell are too thin to be visible on the base mesh and therefore have disappeared from the structure. Using manual refinement allows us to preserve the whole shell:

REFINEGEOMESH box boxmin=”0.08,0.08,0.35”\
boxmax=”0.32,0.20,0.4” resolution=0.001

REFINEGEOMESH box boxmin=”0.08,0.08,0.15”\
boxmax=”0.12,0.20,0.4” resolution=0.001

REFINEGEOMESH box boxmin=”0.28,0.08,0.15”\
boxmax=”0.32,0.20,0.4” resolution=0.001

REFINEGEOMESH box boxmin=”0.08,0.08,0.15”\
boxmax=”0.32,0.11,0.4” resolution=0.001

GEOMETRYETCH material=”oxide” autoref=off

The resulting structure is shown in Figure 6b.

a) Automatic refinement lost part of the shell.

b) Using manual refinement allowed to resolve the whole structure.

Figure 6. Creating the thin shell by removing the oxide.



Using adaptive mesh refinement technique allows VICTORY Process to simulate the structures with very fine features. In some cases, when the initial grid resolution is not enough, the automatic refinement procedure may struggle to recognize the finest features and skip the refinement of the surrounding area. To overcome this problem VICTORY Process allows you to specify explicitly which areas to refine. Thereby it provides additional flexibility to optimize the number of mesh nodes in the geometrical mesh for your specific problem.


Download PDF version of this article