Geometric-phase metalens — focal distance and spot size

Geometric-phase metalens — focal distance and spot size#

validated · 2026-08-28

forwardresolution 1devicereal_worldmetalensfree_spacecircular_polarizationtidy3d_goldenofficial_notebook

This case compares a local FDTDX result with pinned reference data generated by Tidy3D. The originating Tidy3D example is Metalens.ipynb, pinned at commit c37c785d52e9.

Open the complete executed tutorial →

Parameters → exact geometry → voxelized material → local FDTDX run → simulated field → quantitative analysis. Every code cell and retained output is visible, and the .ipynb source is downloadable.

Geometric-phase metalens: focal distance and spot size

This page is the compact benchmark record. The linked notebook is the primary scientific documentation and contains the actual simulation evidence.

What is exercised#

A compact 7x7 version retains the official 600 nm, NA=0.5 phase law, 410x85x600 nm TiO2 pillars, silica substrate, and circular input. A pulsed phasor monitor records the x-z intensity map; the propagating focal maximum, transverse FWHM, and focal-core contrast over the same 1 um aperture are compared.

This case runs at its declared full benchmark resolution (resolution factor 1.0).

Reconstruction choices#

The official device dimensions, material stack, excitations, and measured observable are retained where they determine the physics. The local scene uses 145 × 145 × 254 cells and the common port/source normalization machinery. Geometry is rasterized as connected material before placement when touching polygons would otherwise introduce grid-snapping seams.

The field panel above is explicitly a schematic of the device and propagation path. The curves and scalar values in the result panel are executed benchmark outputs: solid circles are FDTDX; dashed crosses are the frozen Tidy3D reference.

Recorded result#

Metric

Observed / error

Reference / limit

Error

Effective budget

Result

focal_distance_um

1.9625

1.85

0.1125

0.448

PASS

fwhm_um

0.502048

0.497904

0.00414467

0.224686

PASS

focal_core_contrast

1.92435

1.87628

0.0480716

0.437628

PASS

The table is rendered from progress.json; it is not a hand-written success claim. For metrics that report an error directly, the “observed” column repeats that error and the reference column is the acceptance threshold.

Reproduce#

uv run fdtdx-bench run --case device_metalens

Implementation and provenance: benchmarks/cases/device_metalens/case.yaml, benchmarks/cases/device_metalens/run.py, benchmarks/goldens/device_metalens.npz.

Return to the example atlas