This page shows two examples to explain the idea of creating curved or angled monitors using groups and interpolation. This approach is required because the basic monitor objects can not be curved or rotated.
Example 1 (using groups)
This example shows how to use groups of point monitors to obtain frequency domain data along arbitrary paths and arbitrarily oriented planes. In the example below, the mode profiles for a bent wire waveguide are determined at 0 degrees and at 45 degrees into a bent waveguide. In addition, the electric field intensity is determined along a circular arc in these planes.
To obtain the images shown below, run the usr_curved_monitor_group.fsp simulation. Then, run the usr_curved_monitor_group.lsf script file. Please note that to save on meshing time, the mesh refinement setting was set to staircase. The first two images shown below come from the two monitor groups located at the input section of the waveguide. The left image is obtained from the monitor plane2 group. Since the input to the waveguide is normal to the X-axis, the same distribution can be obtained with a conventional 2D X-normal power monitor. On the right, you can see the electric field intensity obtained from monitors that form the circular arc which is drawn in red in the left image. These monitors are contained in the curve2 group, and the location of the monitors can be easily modified to lie along any arbitrary curve in 3D.
The next two images shown below come from the monitor groups located at 45 degrees into the waveguide. In this case, the 2D plane monitor data cannot be obtained from a conventional monitor. As with the images above, the image to the right shows the electric field intensity around the red circular arc from the left image.
The image below (left) shows the transmission vs. frequency for both the monitor group (composed of 50x50 profile point monitors) located at 0 degrees and the 2D X-normal power monitor. The transmission from the two types of monitors will converge to the same result as the number of monitors in the monitor group increase. The right image shows the same plot for the monitor group at 45 degrees.
Example 2 (using interpolation)
In some situations, it is useful to know the field profile or other data along an arbitrary path. Unfortunately, 1D line monitors in FDTD/propagator are always straight, and always parallel to the X,Y or Z axes. If you need data along some other path, one option is to use a 2D monitor. When the simulation is finished, the interpolate function can be used to get the data along an arbitrary path within the plane of the 2D monitor. In the following example, we get the field profile along a straight line with a 45 degree angle, and a semi-circle. Interpolation along a curve can be done using the interpolation analysis object from the Data representation section of the object library.
Interpolating monitor data along an arbitrary path.
The data interpolation can either be done using a script file or with the interpolation analysis object. After running the associated simulation file, you can either run analysis using the interpolation object to get the plots, or else run the associated script file. The script first plots the full 2D field profile that was recorded by the monitor (shown above). Next, we define a new set of x,y position vectors that define the path of interest. The first example is a line from (-5,-5um) to (5,5um). The interpolation function is used to get the field values along this line. When the interpolation is finished, the path and the field data along that path are plotted. Finally the calculation is repeated for a curved path along a semi-circle with a center of (1,0) with a radius of 4um. The two sets of interpolated data are shown below.
Note: Minimizing data collected If you need to minimize the simulation time or the amount of data collected, this method of recording 2D data then interpolating to a 1D line is not ideal. An alternate approach is to create a line of point monitors located directly along the path of interest. See the previous example for details. |