Miller Testing

Hello Admin,

Thank you for providing me with more information and for directing me to the script articles. I appreciate your suggestions on using the getdata and getresult functions to obtain the refractive index, as well as your explanation on how to use the monitors and rectangle geometry to test and verify my simulation results. 

I attempted to conduct a simulation using standard geometry, such as a rectangle with an x, y, and z span of 0.36um. As a result, the minimum and maximum positions of the span were -0.18 to 0.18um, as shown in the picture below.

In the model, I utilized a simulation region, a rectangle structure, and an index monitor. The x and y spans of my index monitor were 0.5um respectively, and I used a monitor type of 2D Z-normal. The x, y, and z spans of my simulation region were 0.6um respectively. 

Before or after running the simulation, the size of the rectangle decreased to around 0.171um. I expected it to become 0.18um for the x and y axes.

I attempted to run the simulation using the following script:

# Get data from the index monitor

x = getdata(“index”,”x”);

y = getdata(“index”,”y”);

z = getdata(“index”,”z”);

index_data = getresult(“index”,”index”);


index_x = pinch(index_data.index_x,4,1);

# Plot the index data as an image

image(index_data.x*1e6,index_data.y*1e6,index_x,”x (um)”,”y (um)”,”index”);


However, I still obtained the same result.


When I changed the refractive index material of the structure from 1.4 (which resulted in a size of 0.171um) to 1.1, the size of x and y in the index monitor increased to 0.176470um. However, this is still not close enough to the original size of 0.18um for the rectangle. 


This is the layout of my simulation model.



I have several questions:

1. Is there anything wrong with my model or anything that I did incorrectly during the process that resulted in different sizes in the index monitor?

2. When I attempted to run the script, I obtained the following data in the script workspace:

Previously, you mentioned using a script to obtain data from the index monitor. Is “index_x” the data that I need to retrieve in order to measure the geometry? I am still somewhat confused about the output of this data (it also has the same output data for “index_y”). Could you please assist me in understanding whether this is the correct data that I should be obtaining and how I can measure or convert this data into a geometric value or parameter?

3. Regarding your previous statement that “after meshing, the geometry will not be exactly the same as the continuous geometry,” is this one of the effects or results that occurred in my simulation where the size of the geometry became different from its original size? If so, are there any methods or tools that I can use to preserve and measure the original geometry of the structure after meshing?

4. I am currently using the default grid size of 0.1um or 100nm. However, when I tried changing the grid size to 1nm, 5nm, and 10nm and imported my structure.stl files, I still obtained the same geometry results. I am wondering if changing the grid size will have any effect on the geometry sizes for both the rectangle and the index monitor? 


I would greatly appreciate any information or guidance you could provide on this matter.

Thank you for your time and assistance.