Please enable JavaScript to view this site.

Application Gallery

Navigation: » No topics above this level «

Zemax Interoperability - Metalens

Scroll Prev Top Next More

cover_picture_zemax_interoperability_metalens_zoom33Design a diffractive metalens consisting of cylindrical nanorods. The radius and the arrangement of the nanorods are tailored to create a desired phase profile on the metalens surface. The design is verified in the FDTD through near- and far-field analyses. Further propagation analysis is performed in Zemax using the exported near-field result from Lumerical.

Files and Required Products




FDTD Zemax Interoperability


Minimum product version: 2019a r3



Run and results

Important model settings

Updating the model with your parameters

Taking the model further

Additional resources



Understand the simulation workflow and key results


Metalenses consist of carefully arranged "unit cells" or "meta atoms" with sub-wavelength structures. By adjusting the geometry of this unit cell element, one can modify the phase above the element in response to a plane wave. With the knowledge of the phase in terms of the geometry parameters, it is possible to create a metalens with an arbitrary phase profile.


Step 1: Unit cell simulations (Initial check)

The example starts with a unit cell simulation of a periodic 2D array of nanorods. The key result that we are interested in is the phase of the field above the nanorod in response to a plane wave. As we will be using the s-parameter analysis group for the calculation of the phase, this initial step will serve as a sanity check to ensure correct settings for the analysis group.


Step 2: Unit cell simulations (Sweep height and radius)

Sweep the height and radius of the nanorod and obtain the transmission and phase. The height that gives desired transmission and phase properties is chosen. The phase vs. radius result at the selected height is saved for the next step.


Step 3: Full lens simulation

Construct the full metalens based on the target phase profile and the phase vs. radius data from the previous step. The design is verified though near- and far-field analyses. The near-field data is exported in a .zbf format for further analysis in Zemax.


Step 4: Further simulation in Zemax

The nearfield data (.zbf) from Lumerical can be imported into the Zemax OpticStudio for further analysis of the propagation properties of the imported beam. If necessary, an optimized lens system can be designed in the Zemax to manipulate the beam further to suit specific purpose.


Run and results

Instructions for running the model and discussion of key results

Step 1: Unit cell (Initial simulations)

It is worth testing the "s_params" analysis group in a pure dielectric material to ensure the simulation setup is correct.

1.Open the simulation file (Zemax_interoperability_metalens_unit_cell.fsp)

2.Run the scrip file (Zemax_interoperability_metalens_initial.lsf)


S-parameter test: phase in empty space

The script disables the structures (“substrate” and “pillar”) and sets the wavelengths range. Then, the phase is calculated analytically and plotted together with the result from the analysis group. Note the good agreement between the two results. If desired, the agreement can be further improved by refining the mesh.



Field profiles for different radii

The script also creates two images of the field profiles for nanorods with different radii. The respective effective indices experienced by the incident field are different for the two cases. Generally, larger radius will result in a higher effective index along the propagation direction (z-axis). As can be seen from the images below, the real(Ex) for the larger radius indeed shows a shorter period, meaning a higher effective index. This modification of the effective path length of the incident light by changing the nanorod radius is one of the key properties utilized in this example.



Step 2: Unit cell (Sweep height and radius)

It was shown that the phase of the nanorod array can be controlled by changing its radius. In many cases, there are certain requirements the metalens must meet such as the desired phase profile and the transmission level. In this example, we are interested in a hyperbolic lens with a phase change of 2π over the length of the metalens radius (note this is different from the nanorod radius). It is desirable to have a high transmission regardless of the radius of the nanorod.


To decide on a design that meets the above requirements, it might be necessary to consider the effect of other parameters such as height, period and refractive index as well. Here, we are limiting ourselves to the height and the radius of the rod for the sweep parameters.


1.Open the simulation file (Zemax_interoperability_metalens_unit_cell.fsp).

2.Set the height, radius and period in the "model".Then, run the "height" in the in Optimizations and Sweep window. If you want to visualize the pre-loaded sweep result, you can skip this step.

3.Run the scrip file (Zemax_interoperability_metalens_unit_cell.lsf) to visualize the sweep results.


Phase and transmission in terms of height and radius

Below are 2D map of the phase and transmission in terms of the height and radius of the rod. It was found that the phase changes over the given radius range (0.05 – 0.15 um) becomes larger than 2\(\pi\) for height values of 1.3 um or over. The transmission at this height is high (over 0.9) and even over the whole radius range, hence meeting the two requirements set above.


zemax_interoperability_metalens_unit_cell_phase_map_zoom30   zemax_interoperability_metalens_unit_cell_transmission_map_zoom30


The following are the line plots of the above image at the height of 1.3 um (dotted lines).


zemax_interoperability_metalens_unit_cell_phase_radius_zoom40   zemax_interoperability_metalens_unit_cell_transmission_radius_zoom40


The phase vs. radius data shown above is saved as “phase_vs_radius.ldf” for the next step for constructing a full metalens.


Step 3: Full lens simulation

1.Open the simulation file (Zemax_interoperability_metalens.fsp)

2.Set the “make plot” option in the “metalens” structure group to “1” and click on the “Test” button under the “Script” tab of the same group.


Lens design and construction

In this example, we are designing a hyperbolic lens with the target phase given by the following formula:

$$ \varphi\left(x,y\right)=\ \ 2\pi/\lambda\ \left(f-\sqrt{f^2+x^2+y^2}\right) $$


\(\varphi\): phase on the metalens surface

\(f\): focal length

\(x, y\): spatial coordinates with respect to the center of the lens




Using this target phase vs. position data and the phase vs. radius data from step 2, we can now calculate the required nanorod radius that can produce a specific phase value at given spatial position.




The same procedure can be applied to the following 2D phase profile of the hyperbolic lens, resulting in a 2D array of nanorods with varying radii matching the target phase. As the phase vs. radius relation for a unit cell was obtained for a period of 0.45 um, the phase profile was discretized with the same periodicity.




The “metalens” structure group loads the “phase_vs_radius.ldf” file, does the phase-to-radius mapping and creates the following structures and we are ready for the simulation.



3.        Run the simulation file (Zemax_interoperability_metalens)

4.        Visulize the amplitude and angle of the Ex from the “field” monitor.


Near-field profile

The simulation injects a plane wave. A circular aperture made of PEC (Perfect Electrical Conductor) is placed between the source and the metalens to limit the area of injection to the circular metalens region. The nearfiled results from the “field” monitor are shown below:


zemax_interoperability_metalens_full_lens_ex_amp_zoom30 zemax_interoperability_metalens_full_lens_ex_phase_zoom30


They show a clear cutoff of the field due to the blocking of the incident light by the PEC aperture. Unlike the ideal hyperbolic lens where there is a perfect rotational symmetry, the simulation results show some patterning effect due to the discretization of the lens with an array of nanorods.


5.Run the “part 1” of the script file (Zemax_interoperability_metalens.lsf) to plot the phase along the x-axis (dotted line in the above phase image).


The measured phase is overall in good agreement with the target phase, but we can see some ripples all over the metalens.




The evolution of the incident field through the metalens can be visualized using a movie monitor or a time monitor. As movie monitor can increase the simulation time significantly, you might want to use a 2D time monitor and get snapshots of the fields in time. The .gif animation of the field is shown below (Click on the image for the animation to run).

The wavefront of the propagating field shows a bending towards the propagation axis, suggesting a focusing of the light as is expected from a hyperbolic phase profile.



6.Run the “Part 2” of the script file (Zemax_interoperability_metalens.lsf)



The farfield projection along the propagation axis (z) shows that the focal distance of the metalens is about 81.4 um. The FWHM (Full Width Half Maximum) of the beam at the focal plane is about 2.4 um. The calculated focal distance is somewhat off the target value of 100 um. This can be mostly attributed to the small lens size, hence the small number of nanorods to map the \(2\pi\) change over the lens radius. Increasing the lens size might help improve the results together with optimizing other parameters such the period.


zemax_interoperability_metalens_far_z_zoom40   zemax_interoperability_metalens_far_xz_zoom28

zemax_interoperability_metalens_far_x_zoom40       zemax_interoperability_metalens_far_xy_zoom28


Export to zbf

The script also exports the nearfield data from the “field” monitor into a .zbf file using the zbfexport, one of the Zemax interoperability script commands.

Step 4: Zemax

The “Zemax_interoperability_metalens.zbf” file from the step 3 is imported into Zemax OpticStudio for further analysis of its propagation properties. Below are the irradiance plots of the input beam and the propagated beams  at various locations along the propagation axis. If necessary, the beams can be further manipulated and optimized using other lens systems in the Zemax. For detailed information about the simulation procedures in the Zemax, please visit here.




Important model settings

Description of important objects and settings used in this model

Unit cell simulations

Variables in “model”: The object has height, radius and period as its variables. The position and span of the simulation region, monitors and sources are automatically set up using these parameters.

“s-parameter” analysis group: The meteamaterial span and center is automatically set by the script in “model” to match the height of the “pillar.”

Simulation time: In the unit cell simulation, the simulation time requirement for each sweep points might be different. To be on the safe side, the current simulation time is set to 10,000. It is a good idea to check whether all the sweep has ended by reaching the auto-shutoff level. This can be done by including the “status” result from the “FDTD” in the sweep result.


Full lens simulations

PEC aperture: To block injection of field beyond the lens, an aperture made of PEC material was placed right before the metalens. Its radius is automatically set by the script in the "model."

“metalens” structure group: To visualize the target phase vs. position and the radius vs. position, set the “make plot” to “1” in the “metalens” structure group and click on the “Test” button in the “Script” tab. Phase_vs_radius.ldf also saves the material data and other geometry data to make the setting up of the full lens simulation easier.

Rendering detail: When there are many structures to draw, the display can be slow. This is especially the case for a large metalens. To prevent such problem, you can set the rendering detail of the structures to a low value in the “metalens” structure group.

Farfieldsettings: When projecting a nearfield from a large frequency monitor, the farfield calculation can take very long. To accelerate the calculation time without sacrificing the accuracy, you can use the farfieldsettings script command and downsample the nearfield data points.

Updating the model with your parameters

Instructions for updating the model based on your device parameters

Geometry: If you want to modify the shapes for the metalens, you make sure you update the unit cell as well as the full lens simulation files. The “model” and the “sweep” objects needs to be updated with correct parameters.

Period and wavelength: When changing the wavelength or the period of the unit cell, it is generally a good idea to avoid multiple grating orders, which can make the design of the metalens more complicated.

Focal length: A metalens with a larger focal length will generally require a larger lens radius, meaning a larger memory and simulation time. It might be a good idea to do some preliminary test with a smaller device for validation of the concept and move on to the larger device in consideration.

Other design considerations: As shown above, it is common for the measured phase to deviate from the target phase. There can be many reasons for this kind of discrepancies:

Diffraction due to the PEC aperture.

Broken local periodicity of the neighboring nanorods: The phase we obtained in step 2 assumed infinitely periodic nanorods with an identical diameter. When there are very small changes in the radii of the neighboring nanorods, we can assume that structures are locally periodic, hence the phase vs. radius relation obtained from step 2 is still valid. As this example uses a relatively small radius and the changes in the phase (hence the radius) of the neighboring nanorods are a bit abrupt.

Deviation from subwavelength operation: When the radius of the nanorod becomes larger, their can be strong interaction of field between neighboring nanorods.

Mesh refinement: A coarse mesh can also contribute poor representation of the fine features.

To improve the results, you might want to try:

Modify the period of the unit cell to make sure that you are working in the subwavelength regime throughout.

Increase the metalens radius

Refine the mesh


Taking the model further

Information and tips for users that want to further customize the model

Broadband simulations: Current example is based on single frequency simulations. However, it can be extended to broadband simulations with some modification of the simulation settings and the associated script. These are mostly to do with the additional dimension (frequency) to be added in the data.

Different lens shapes: This example can be extended to lenses with different phase profiles. For example, if you want to design a flat metalens counterpart of the bulk spherical, cylindrical or axicon lenses, you just need to use the correct phase formula corresponding to the lens of your interest.



Arrangement of “meta atoms”: A rectangular lattice is used in this example to construct the entire metalens using the square unit cell as a building block . The radius of the nanorod on each grid point is calculated and a structure is added on each grid. This approach is fine with a small number of elements. However, this can be very time-consuming for a larger metalens, where the number of elements can grow huge. In such cases, you can utilize the symmetry of the design to accelerate the pattern generation rather than generating the pattern element by element. You can also consider using a non-periodic arrangement of unit cells to better represent the phase profile.

Circularly polarized light: Simulation of metalens with chiral properties can require using a circularly polarized light. Visit here for further information.

Additional resources

Additional documentation, examples and training material

Related KB pages:

S parameter extraction

Circular polarization and phase convention

Farfieldsettings script

Related publication:

P. Yeh, "Optical Waves in Layered Media", Wiley-InterScience, chap. 3, 2005.

M. Khorasaninejad et al, "Visible Wavelength Planar Metalenses Based on Titanium Dioxide", IEEE Journal of Selected Topics in Quantum Electronics, 4700216 (2017)

"Designing large, high-efficiency, high-numerical-aperture, transmissive meta-lenses for visible light," Optics Express, Vol. 24, Issue 5, pp. 5110-5124 (2016)

Related Lumerical university courses:



Copyright Lumerical Inc. | Privacy | Site Map