Hints, Tips and Solutions

 

How can I Crop and Slice in the Victory Process 3D Exports?

This document is a short guide on the new and existing support for export cropping/slicing in Victory Process cell mode. The cropping operation is useful to extract a segment of the cell mode structure for further simulation. For example, a smaller subsection of a structure can be extracted, or a polygon mask crop can be used to extract a non-axis aligned segment. This allows an exported structure to be non-cuboid.

The slicing operation is similar to cropping, yet both the structure inside the sliced section, and outside is retained. After the slice is complete, the regions now outside the sliced region are relabeled with unique region numbers to those inside. This operation is useful to partition an exported structure into multiple regions, allowing easy visualization of the inside of the structure in Tonployt3d. It is also useful to set different properties for different regions, while maintaining the same materials, within a device simulation.

 

Introduction

Sections 1 and 2 illustrate the cropping support using boxes and masks, respectively. The existing box crop is demonstrated and some new examples of cropping (both boxes and masks) applied to the atlas and victory conformal cell mode exports are given. Section 1 also includes an example of z-axis coordinates for the box cropping. Mirroring is shown for some examples to clarify the cropping/mirroring execution order.

Sections 3 and 4 cover the box/mask slicing support. The slicing operation is identical to cropping, with the exception that both the outside and inside parts of the structure are retained; the outside part is given unique region numbers. Mirroring is supported for all slicing operations.

Figure 1 shows our input structure. The structure has a bounding box of “5.0, 5.0, -6.0” to “8.0, 8.0, 1.0”, and contains four materials in five regions (a substrate electrode is specified on the xy plane at z = 1.0).

Figure 1. Original input sicex10_2_0 round structure. left: materials, right: regions.

 

1. Crop Box

Supported Exports: All cell mode exports

In this operation, a box (that falls inside the input structures’ bounding box) can be used to crop part of the structure. Figure 2 shows an example of the result from a crop box for the xy plane from “5.25, 5.25” to “7.25, 7.25”. The part of the structure outside the crop box is removed.

Figure 2. Victory(delaunay) crop by box.

 

Syntax:

export victory(delaunay)structure=”delaunay_crop_box_2d.str” crop.from = “5.25, 5.25” crop.to = “7.25, 7.25”

A box cropped structure can also be mirrored. Figure 3 shows an example of mirroring the crop box “5.25, 5.25” to “7.25, 7.25” in the atlas(conformal) export. Note how the positive x-plane for the mirroring operation is now at x = 7.25. The regions outside are removed before the mirroring operation.

 

Figure 3. Atlas(conformal) crop by box and mirrored in +x.

 

Syntax:

export atlas(conformal) structure=”conformal_crop_box_2d_mirror_x.str” crop.from = “5.25, 5.25” crop.to = “7.25, 7.25” mirror= “+x””

Figure 4 shows an example of the crop box operation for the victory(conformal) export including a z-value, where the regions inside the box from “5.6, 6.0, -5.5” to “7.4, 7.7, -2.0” are retained.

Figure 4. Victory(conformal) crop by box.

 

Syntax:

export victory(conformal) structure=”conformal_crop_box_3d.str” crop.from = “5.6, 6.0, -5.5” crop.to = “7.4, 7.7, -2.0”

 

2. Crop Mask

Supported Exports: victory(delaunay), victory(conformal), atlas(reduced), atlas(conformal)

Similarly to the box crop, a convex mask can be specified as the cropping boundaries. This mask must be within the bounding box of the input structure and is specified for any xy-plane. In general, mirroring is not supported, unless the mask edges are all axis aligned. Figure 5 shows an example of the mask crop for the atlas(conformal) export. The regions inside the mask specified by “m1” are kept. The regions outside are removed. The syntax crop.maskID = ... can also be used.

Figure 5. Atlas(conformal) crop by mask.

 

Syntax:

Specifymaskpoly maskname=”m1” P1=”6.81, 5.55” P2=”5.69, 5.91” P3=”5.69, 7.09” P4=”6.81, 7.45” P5=”7.5, 6.5”

export atlas(conformal) structure=”conformal_crop_mask.str” crop.mask=”m1”

Figure 6 demonstrates a further example of mask cropping. In this case the victory(conformal) export is cropped. Note how the round SiO2 slope is stepped in the atlas conformal export (Figure 5), but not victory(conformal).

 

Figure 6. Victory(conformal) crop by mask.

 

Syntax:

Specifymaskpoly maskname=”m1” P1=”6.81, 5.55” P2=”5.69, 5.91” P3=”5.69, 7.09” P4=”6.81, 7.45” P5=”7.5, 6.5”

export victory(conformal) structure=”conformal_crop_mask.str” crop.mask=”m1”

 

3. Slice Box

Supported Exports: All cell mode exports

In this operation, similarly to the crop box, the syntax slice.from and slice.to can be used to specify a sub-section of the structure. In comparison to cropping, slicing will retain the parts of the structure outside the given box in addition to the parts inside. The regions outside the slice box will be given different region numbers to the regions inside. Figure 7 shows the regions inside the slicing box from “5.25, 5.25” to “7.25, 7.25”. In comparison to Figure 2 the outside regions are also kept but relabeled with unique region numbers. Note how the mirroring is preformed for the x-plane at x = 8 instead of x = 7.25 as in Figure 2 (since the entire structure is retained by the slicing operation).

Figure 7. Atlas(conformal) slice by box and mirrored in +x.

 

Syntax:

export atlas(conformal) structure=”conformal_slice_box_mirror_x.str” slice.from = “5.25, 5.25” slice.to = “7.25, 7.25” mirror=”+x””

A further example of the box slicing operation applied to the victory(delaunay) export is shown in Figure 8. The outside regions are kept and given unique region numbers. The outside regions are shown meshed, revealing the bottom of the sliced region (z = -2.0).

 

Figure 8. Victory(delaunay) slice by box.

 

Syntax:

export victory(delaunay) structure=”delaunay_slice_box.str” slice.from = “5.25, 5.25, -6.0” slice.to = “7.25, 7.25, -2.0”

 

4. Slice Mask

Supported Exports: All cell mode exports.

The slice mask operation can be used to specify a convex mask on an xy-plane to ‘slice’ the input structure. Similarly to the crop mask operation, the input structure is split into two pieces, yet the outside piece is now kept and relabeled with unique region numbers.

Figure 9 shows an example of the hexagon mask slicing the input structure from Figure 1 for the victory(conformal) export. The outside regions have been shown meshed to illustrate the region boundaries at the slicing mask planes.

Figure 9. Victory(conformal) slice by mask.

 

Syntax:

Specifymaskpoly maskname=”m1” P1=”6.81, 5.55” P2=”5.69, 5.91” P3=”5.69, 7.09” P4=”6.81, 7.45” P5=”7.5, 6.5”

export victory(conformal)structure=”conformal_slice_mask.str” slice.mask=”m1”

Figure 10 shows an example of the hexagon mask applied to the atlas(conformal) export resulting in separate regions inside the sliced convex hull. Note the order of the slicing/mirroring operation, slice then mirror, just as a crop is performed before a mirror. The slice is non-axis aligned, yet mirroring is well defined due to the retention of the outside piece. The resulting sliced mesh is mirrored and has unique regions numbers in the internal mirrored segments also.

Figure 10. Atlas(conformal) slice by mask and mirrored in +x.

 

Syntax:

Specifymaskpoly maskname=”m1” P1=”6.81, 5.55” P2=”5.69, 5.91” P3=”5.69, 7.09” P4=”6.81, 7.45” P5=”7.5, 6.5”

export atlas(conformal) structure=”conformal_slice_mask_mirror_x.str” slice.mask=”m1” mirror=”+x”

 

Conclusions

The export cropping and slicing operations provide a further level of control over the final structure exported from Victory Process cell mode. A standard cell mode export will retain the entire simulated structure. The cropping operation allows the extraction of a sub-section of this structure, either as a smaller cuboid (box crop), or a convex polygon (mask crop). This generalizes the cell mode exports to dump any output shape.

The slicing operation is similar to cropping, yet the part of the structure outside the slicing box or mask is also kept. The part outside is relabeled with unique region numbers to the part inside, and the entire structure is still dumped by the export. This allows for simple visualization of the internal parts of a structure in TonyPlot3D. In addition, multiple regions can now exist within the same material, allowing different properties to be set for different regions in a device simulator