Returns the vertices of polygons formed by the intersection of a given z-plane and structures with a specific material and a partial name. If the material is "<Object defined dielectric>" the index value must be provided (see example).
Syntax |
Description |
---|---|
out = polystencil({"material": "mat_name", "partialname":"partial_name", |
The returned cell array, "out", has the following properties:
curve_chord_tol: the maximum chordal distance between a facet edge and its original edge entity. It is optional and it should be a positive number (default is 0). ignore_disabled: (Optional) If set to true, the command will ignore the disabled objects in the structure (default is false). |
Example
The following script creates four polygon objects and gets the vertices of polygon surfaces at z = 0, 0.5 and 1 um.
# Object 1
V1 = 2e-6*[1,0;0,1;-1,0;0,-1;1,0];
addpoly({"name":"obj1","vertices":V1,"x":-5e-6,"y":0,"z":0,"z span":1e-6,"material":"Au (Gold) - CRC"});
# Object 2
V2 = 0.5e-6*[-3,0;-2,1;-1,0;1,0;2,1;3,0;4,0;0,4;-4,0;0,-4;4,0;3,0;2,-1;1,0;-1,0;-2,-1;-3,0];
addpoly({"name":"obj2","vertices":V2,"x":0,"y":0,"z":0,"z span":1e-6,"material":"Au (Gold) - CRC"});
# Object 3
V3 = 1e-6*[1,0;0,-1;-1,0;0,1;1,0;2,0;0,2;-2,0;0,-2;2,0];
addpoly({"name":"obj3","vertices":V3,"x":5e-6,"y":0,"z":0,"z span":1e-6,"material":"GaAs - Palik"});
# Object 4
V4 = 2e-6*[1,0;0,1;-1,0;0,-1;1,0];
addpoly({"name":"obj4","vertices":V4,"x":10e-6,"y":0,"z":0,"z span":1e-6,"material":"<Object defined dielectric>", "index": 2});
Contour_Gold = polystencil({"material": "Au (Gold) - CRC", "partialname":"obj","z":[0,0.5e-6,1e-6]});
Contour_Dielectric = polystencil({"material": "2", "partialname":"obj","z":[0,0.5e-6,1e-6]});
Specific element at various levels of the "Contour_Gold" and "Contour_Dielectric" cell arrays can be checked as follows:
?Contour_Gold ; # cell array with as many elements as the number of z points
Cell array with 3 elements
?Contour_Gold {1}; # z=0 (There are two Au objects that intersect with this plane)
Cell array with 2 elements
?Contour_Gold {2}; # z = 0.5e-6 (There is no Au object that intersects with this plane)
Cell array with 0 elements
?Contour_Gold {1}{1}; # Intersection of z = 0 and obj1 (one polygon)
Cell array with 1 elements
?Contour_Gold {1}{2}; # Intersection of z = 0 and obj2 (three polygons)
Cell array with 3 elements
?Contour_Gold {1}{1}{1}; # z=0, obj1, contour1
result:
-5e-06 -2e-06
-3e-06 0
-5e-06 2e-06
-7e-06 0
?Contour_Gold {1}{2}{1}; # z=0, obj2, contour1
result:
0 2e-06
-2e-06 0
0 -2e-06
2e-06 0
?Contour_Gold {1}{2}{2}; # z=0, obj2, contour2
result:
5e-07 0
1e-06 5e-07
1.5e-06 0
1e-06 -5e-07
?Contour_Gold {1}{2}{3}; # z=0, obj2, contour3
result:
-1e-06 -5e-07
-1.5e-06 0
-1e-06 5e-07
-5e-07 0
?Contour_Dielectric {1}{1}{1}; # z=0, obj4, contour1
result:
1e-05 -2e-06
1.2e-05 0
1e-05 2e-06
8e-06 0
See Also
List of commands , polyclean , polyarea , polygrow, centroid , polyintersect , inpoly , polyand , polyor , polydiff , polyxor