$$ %------------------ % macros %------------------ \usepackage{amsmath,amssymb} \newcommand{\e}{\varepsilon} \newcommand{\exx}{\e_{xx}} \newcommand{\eyy}{\e_{yy}} \newcommand{\ea}{\e_{a}} \newcommand{\ezz}{\e_{zz}} \newcommand{\exy}{\e_{xy}} \newcommand{\eyx}{\e_{yx}} \newcommand{\muxx}{\mu_{xx}} \newcommand{\muyy}{\mu_{yy}} \newcommand{\mua}{\mu_{a}} \newcommand{\muzz}{\mu_{zz}} \newcommand{\ef}{\e_{\rm f}} \newcommand{\ed}{\e_{\rm d}} \newcommand{\tdf}{\tan \delta_{\rm f}} \newcommand{\td}{\tan \delta} \newcommand{\Eb}{E_{\rm B}} \newcommand{\Em}{\B{\mathcal{E}}} \newcommand{\Hm}{{\mathcal{H}}} \ifxetex \newcommand{\B}[1]{\symbf{#1}} % \newcommand{\B}[1]{\mathbf{#1}} % \newcommand{\B}[1]{\boldsymbol{#1}} \else % \usepackage{bm} % \newcommand{\B}[1]{\bm{{#1}}} % \newcommand{\B}[1]{\boldsymbol{#1}} \newcommand{\B}[1]{\boldsymbol{#1}} \fi \newcommand{\tens}[1]{\B{#1}} \newcommand{\re}{\mathrm{Re}\,} \newcommand{\im}{\mathrm{Im}\,} \newcommand{\grad}{\B{\nabla}} \newcommand{\ddiv}{\B{\nabla}\cdotp} \newcommand{\curl}{\B{\nabla}\times} \newcommand{\dt}{\mathrm{d}} \newcommand{\etens}{\tens{\e}} \newcommand{\h}[1]{\tilde{#1}} \newcommand{\T}[1]{#1^{\rm T}} \newcommand{\lp}{\left(} \newcommand{\rp}{\right)} \newcommand{\bra}{\left\langle} \newcommand{\ket}{\right\rangle} \newcommand{\mn}[1]{\bra #1 \ket} \newcommand{\D}{\partial} \newcommand{\dd}{\rm d} \newcommand{\der}[2]{\frac{\D #1}{\D #2}} \newcommand{\rhof}{\tilde{\rho}} \newcommand{\rhop}{\hat{\rho}} \newcommand{\matthree}[9]{ \begin{pmatrix} #1 & #2 & #3\\ #4 & #5 & #6\\ #7 & #8 & #9 \end{pmatrix} } \newcommand{\ehom}{\tilde{\etens}} \newcommand{\h}[1]{\tilde{#1}} \newcommand{\T}[1]{#1^{\rm T}} \newcommand{\ezaniso}{\matthree{\exx}{\ea^\star}{0}{\ea}{\eyy}{0}{0}{0}{\ezz}} \newcommand{\muzaniso}{\matthree{\muxx}{\mua^\star}{0}{\mua}{\muyy}{0}{0}{0}{\muzz}} \newcommand{\LSO}{L^2({{\rm\textbf{curl}}}, \Omega)} \newcommand{\rpara}{\B{r_\parallel}} \newcommand{\densf}{\tilde{p}} \newcommand{\densp}{\hat{p}} \newcommand{\exxh}{\h{\e}_{xx}} \newcommand{\eyyh}{\h{\e}_{yy}} \newcommand{\exyh}{\h{\e}_{xy}} \newcommand{\eyxh}{\h{\e}_{yx}} \newcommand{\ezzh}{\h{\e}_{zz}} \newcommand{\tdhxx}{\tan \h{\delta}_{xx}} \newcommand{\tunh}{\h{\eta}} \newcommand{\lp}{\left(} \newcommand{\rp}{\right)}$$

Topology optimization of electromagnetic metamaterials

Benjamin Vial Department of Mathematics, Imperial College London

Introduction

What is topology optimization?

A mathematical method that optimizes material layout within a given design space, for a given set of sources, boundary conditions and constraints with the goal of maximizing the performance of the system

Topology optimization Hello World!: Maximizing a beam stiffness with fixed volume fraction
1
  1. Jeremy Bleyer, Numerical Tours of Computational Mechanics with FEniCS, Manual (Zenodo, 2018), doi:10.5281/zenodo.1287832.↩︎

Structural Engineering
Qatar National Convention Centre

Aeronautics
Airplane wing
2
  1. Niels Aage et al., “Giga-Voxel Computational Morphogenesis for Structural Design,” Nature 550, no. 7674 (October 2017): 84–86, doi:10.1038/nature23911.↩︎

Photonics
3
  1. Sean Molesky et al., “Inverse Design in Nanophotonics,” Nature Photonics 12, no. 11 (November 2018): 659–670, doi:10.1038/s41566-018-0246-9.↩︎

Topology optimization: recipes

Material distribution in design domain \(\Omega_{\rm des}\): density function \(p \in [0,1]\)

Filtering

  • convolution: \(f(\B r) = \frac{1}{A}{\rm exp}(-|\B r|^2 /R_f^2)\), with \(\int_{\Omega_{\rm des}} f(\B r) =1\) \[\begin{equation*} \densf(\B r) = p * f = \int_{\Omega_{\rm des}} p(\B r') f(\B r -\B r') {\rm d} \B r' \label{eq:gaussian_filt} \end{equation*}\]
  • PDE: \(-R_f^2 \B\nabla ^2 \densf + \densf = p {\quad\rm on \,}\Omega_{\rm des}, \grad\densf\cdotp\B n = 0 {\quad\rm on \,}\partial\Omega_{\rm des}\)4
  1. B. S. Lazarov and O. Sigmund, “Filters in Topology Optimization Based on Helmholtz-type Differential Equations,” International Journal for Numerical Methods in Engineering 86, no. 6 (2011): 765–781, doi:10.1002/nme.3072.↩︎

Filtering

Projection

\[\densp(\densf) = \frac{\tanh\left[\beta\nu\right] + \tanh\left[\beta(\densf-\nu)\right] }{\tanh\left[\beta\nu\right] + \tanh\left[\beta(1-\nu)\right]}\] with \(\nu=1/2\) and \(\beta>0\) increased during the course of the optimization.5

  1. Fengwen Wang, Boyan Stefanov Lazarov, and Ole Sigmund, “On Projection Methods, Convergence and Robust Formulations in Topology Optimization,” Struct Multidisc Optim 43, no. 6 (December 2010): 767–784, doi:10.1007/s00158-010-0602-y.↩︎

Projection

Interpolation

\(\varepsilon(\densp)=(\varepsilon_{\rm max}-\varepsilon_{\rm min})\,\densp^m + \varepsilon_{\rm min}\)6

  1. M. P. Bendsøe and O. Sigmund, “Material Interpolation Schemes in Topology Optimization,” Arch. Appl. Mech. Ing. Arch. 69, no. 9–10 (November 1999): 635–654, doi:10.1007/s004190050248.↩︎

Algorithm

  • gradient based optimization algorithm: method of moving asymptotes (MMA7), free implementation via the nlopt package8
  • 40 iterations or until convergence on the objective or design variables
  • repeated setting \(\beta =2^n\), where \(n\) is an integer between 0 and 7, restarting the algorithm with the optimized density obtained at the previous step
  1. Krister Svanberg, “A Class of Globally Convergent Optimization Methods Based on Conservative Convex Separable Approximations,” SIAM Journal on Optimization, n.d., 555–573.↩︎

  2. Steven G. Johnson, “The NLopt Nonlinear-Optimization Package,” n.d., doi:http://github.com/stevengj/nlopt.↩︎

Computing gradients

Solution vector \(\B u\) we want to compute is parametrized by a vector of parameters \(\B p\) of size \(M\) and defined implicitly through an operator \(\B F\) as: \[\begin{equation} \B F(\B u, \B p) = \B 0 \label{eq:genimpeq} \end{equation}\]

\(\B G\) is a functional of interest of dimension \(N\), representing the quantity to be optimized

Finite differences

\[\begin{equation} \frac{\mathrm{d}\B G}{\mathrm{d}p_i} \approx \frac{\B G(\B p + h \B e_i) - \B G(\B p)}{h} \end{equation}\] where \(\B e_i\) is the vector with \(0\) in all entries except for \(1\) in the \(i^{th}\) entry.

  • numerical inaccuracy
  • expensive for large \(M\) and/or \(N\)

Tangent linear equation

Explicitly, the gradient can be computed applying the chain rule: \[\begin{equation} \frac{\mathrm{d}\B G}{\mathrm{d}\B p} = \frac{\partial \B G}{\partial \B p} + \frac{\partial \B G}{\partial \B u} \frac{\mathrm{d}\B u}{\mathrm{d}\B p}. \label{eq:gradG} \end{equation}\] Taking the total derivative of Eq. (\(\ref{eq:genimpeq}\)) we obtain the tangent linear equation: \[\begin{equation} {\frac{\partial \B F(\B u, \B p)}{\partial \B u}} {\frac{\mathrm{d}\B u}{\mathrm{d}\B p}} = {-\frac{\partial \B F(\B u, \B p)}{\partial \B p}}. \end{equation}\]

Adjoint equation

Assuming the tangent linear system is invertible, we can rewrite the Jacobian as: \[\begin{equation} \frac{\mathrm{d}\B u}{\mathrm{d}\B p} = - \left(\frac{\partial \B F(\B u, \B p)}{\partial \B u}\right)^{-1} \frac{\partial \B F(\B u, \B p)}{\partial \B p}. \end{equation}\] After substituting this value in (\(\ref{eq:gradG}\)) and taking the adjoint (Hermitian transpose, denoted by \(\dagger\)) we get: \[\begin{equation} \frac{\mathrm{d}\B G}{\mathrm{d}\B p}^{\dagger} = \frac{\partial \B G}{\partial \B p}^{\dagger} - \frac{\partial \B F(\B u, \B p)}{\partial \B p}^{\dagger} \left(\frac{\partial \B F(\B u, \B p)}{\partial \B u}\right)^{-\dagger} \frac{\partial \B G}{\partial \B u}^{\dagger} . \end{equation}\]

Adjoint equation

Defining the adjoint variable \(\B \lambda\) as: \[\begin{equation} \B \lambda = \left(\frac{\partial \B F(\B u, \B p)}{\partial \B u}\right)^{-\dagger} \frac{\partial \B G}{\partial \B u}^{\dagger} \end{equation}\] we obtain the adjoint equation \[\begin{equation} \left(\frac{\partial \B F(\B u, \B p)}{\partial \B u}\right)^{\dagger} \B \lambda = \frac{\partial \B G}{\partial \B u}^{\dagger}. \end{equation}\]

Automatic differentiation (AD)

  • A general way of taking a program which computes a value, and automatically constructing a procedure for computing derivatives of that value, accurately to working precision, and using at most a small constant factor more arithmetic operations than the original program9
  • Not finite differences / symbolic differentiation
  • Procedure:
    1. Decompose original code into intrinsic functions (build computational graph)
    2. Differentiate the intrinsic functions, effectively symbolically
    3. Multiply together according to the chain rule
  • Automation:
    • Source code transformation
    • Operator overloading
  1. Andreas Griewank and Andrea Walther, Evaluating Derivatives, Other Titles in Applied Mathematics (Society for Industrial and Applied Mathematics, 2008), doi:10.1137/1.9780898717761.↩︎

Automatic differentiation (AD)

\(f: \mathbb{R}^n \rightarrow \mathbb{R}^m\)

Example: \(f(x_1,x_2) = x_1x_2 + \sin(x_1)\)

Forward mode

  • more efficient if \(m\gg n\)

Reverse mode

  • more efficient if \(n\gg m\)
  • need to store intermediate values

Maxwell’s equations

Time-harmonic regime with a convention in \(\exp(-i \omega t)\):

\[\begin{equation} \curl {\B H} =-i \omega \varepsilon_{0} \tens{\e} {\B E} \label{eq:maxwell1} \end{equation}\] \[\begin{equation} \curl {\B E} =i \omega \mu_{0} \tens{\mu}{\B H} \label{eq:maxwell2} \end{equation}\]

Finite Element Method (FEM)

  • Scattering by an infinitely long object \(\Omega_s\) embedded in a background with permittivity \(\tens{\e_b}\) and permeability \(\tens{\mu_b}\).
  • Independent of \(z\) and z-anisotropic materials: \[\begin{equation} \tens{\e}=\ezaniso, \qquad \tens{\mu}=\muzaniso. \label{eq:zaniso} \end{equation}\]

Finite Element Method (FEM)

  • The two polarizations decouple and Maxwell’s equations can be combined into the following scalar propagation equation: \[\begin{equation} \mathcal {M}_{\tens{\xi},\chi}(u) = \ddiv \left[\tens{\xi}\grad u\right] + k_0^2 \chi u= 0,\label{eq:propa} \end{equation}\]
    • TE polarization: \(u=H_z\), \(\tens{\xi} = \tens{\e_\parallel}^T/\det\tens{\e_\parallel}\), \(\chi = \muzz\)
    • TM polarization: \(u=E_z\), \(\tens{\xi} = \tens{\mu_\parallel}^T/\det\tens{\mu_\parallel}\), \(\chi = \ezz\)

Finite Element Method

  • Excitation \(u_0\), the diffracted field \(u_s = u - u_0\) must satisfy an Outgoing Waves Condition.
    • Plane wave: \(u_0=\exp(i\B k\cdot\B r)\)
    • Line source: Green’s function \(u_0=G(\B r,\B r',k)=-\frac{i}{4}H_0^{(1)}(k|\B r- \B r'|)\)
  • Scattering problem (\(\ref{eq:propa}\)) is recast into a radiation problem with a source \(\mathcal {S}\) localized inside the object: \[\begin{equation} \mathcal {M}_{\tens{\xi},\chi}(u_s) = -\mathcal {M}_{\tens{\xi}-\tens{\xi_b},\chi-\chi_b}(u_0) = \mathcal {S}.\label{eq:rad} \end{equation}\]
  • Weak form: \[\begin{equation} \mathcal {R}_{\tens{\xi},\chi}(u,v) = -\int_\Omega \,\tens{\xi}\grad u \grad v^{\star} {\dd\B r}+ \int_{\Omega} \, \chi u v^\star{\dd\B r} + \int_{\D\Omega}\, (\tens{\xi}\grad u) v^\star {\dd s}. \label{eq:residual} \end{equation}\] Surface term = 0 since \((\tens{\xi}\grad u)\cdotp \B n = 0\) on the outer boundaries of the PMLs.
  • Find \(u\in\LSO\) such that: \[\begin{equation} \mathcal {R}_{\tens{\xi},\chi}(u,v) = 0, \quad \forall v \in \LSO \label{eq:weak} \end{equation}\]

Application: cloaking

10

  1. Benjamin Vial and Yang Hao, “Topology Optimized All-Dielectric Cloak: Design, Performances and Modal Picture of the Invisibility Effect,” Optics Express 23, no. 18 (August 2015): 23551, doi:10.1364/oe.23.023551.↩︎

Cloaking

Objective: minimize scattered field in the background \[\begin{equation*} \min_{p(\B r)} \quad \phi=\gamma\phi_1 + (1-\gamma) \phi_2 \end{equation*}\] \[\begin{equation*} \phi_1=\frac{1}{W}\int_{\Omega_{\rm B}}\left|E_{\rm d}^{\rm cloak}\right|^2 {\rm d} \B r\end{equation*}\] \[\begin{equation*} \phi_2=\int_{\Omega_{\rm D}}\frac{h_{\rm m}^2}{S}\left| \B \nabla\,\varepsilon \right|^2 {\rm d} \B r\end{equation*}\]

  • \(W=\int_{\Omega_{\rm B}}\left|E_{\rm d}^{\rm object}\right|^2{\rm d} \B r\) (uncloaked case)
  • \(\phi_2\): alternative approach for filtering, \(S=(R_{\rm c}-R_{\rm s})^2/2\) is the area of the design domain and \(h_{\rm m}\) is the maximum size of a mesh element
  • weight parameter \(\gamma\) between 0 and 1

Cloaking

Sensitivity to source

Correlation coefficient: \[\begin{equation*} \rho(X,Y)=\frac{ {\rm E}(XY) - {\rm E}(X){\rm E}(Y) }{ \sqrt{{\rm E}(X^2)-{\rm E}(X)^2} \sqrt{{\rm E}(Y^2)-{\rm E}(Y)^2} } \end{equation*}\]

Bandwidth enhancement with multi-frequency optimization

Illusion

Objective: make a metallic cylinder look like an arbitrarily shaped dielectric \[\begin{equation*} \min_{p(\B r)} \quad \phi=\gamma\phi_1 + (1-\gamma) \phi_2 \end{equation*}\] \[\begin{equation*} \phi_1=\frac{1}{W}\int_{\Omega_{\rm B}}\left|E^{\rm ill} - E^{\rm ref}\right|^2 {\rm d} \B r\end{equation*}\] \[\begin{equation*} \phi_2=\int_{\Omega_{\rm D}}\frac{h_{\rm m}^2}{S}\left| \B \nabla\,\varepsilon \right|^2 {\rm d} \B r\end{equation*}\]

  • \(W=\int_{\Omega_{\rm B}}\left|E^{\rm ref}\right|^2{\rm d} \B r\) (reference object only)

Illusion

11

  1. Benjamin Vial, Max Munoz Torrico, and Yang Hao, “Optimized Microwave Illusion Device,” Scientific Reports 7, no. 1 (June 2017): 3929, doi:10.1038/s41598-017-04410-4.↩︎

Experimental setup

Experimental results

Experimental results

FEM: implementation

Open source libraries with bindings for the python programming language using a custom code gyptis.

  • Geometry and mesh generation: gmsh
  • FEM library: fenics using second order Lagrange basis functions
  • Gradient calculations: dolfin-adjoint library with automatic differentiation

1213 1415

  1. Benjamin Vial, “Gyptis” (Zenodo, June 2022), doi:10.5281/zenodo.6636134.↩︎

  2. Christophe Geuzaine and Jean-François Remacle, “Gmsh: A 3-D Finite Element Mesh Generator with Built-in Pre- and Post-Processing Facilities,” Int J Numer Meth Engng 79, no. 11 (September 2009): 1309–1331, doi:10.1002/nme.2579.↩︎

  3. Martin Alnæs et al., “The FEniCS Project Version 1.5,” Archive of Numerical Software 3, no. 100 (December 2015), doi:10.11588/ans.2015.100.20553.↩︎

  4. Sebastian K. Mitusch, Simon W. Funke, and Jørgen S. Dokken, “Dolfin-Adjoint 2018.1: Automated Adjoints for FEniCS and Firedrake,” Journal of Open Source Software 4, no. 38 (June 2019): 1292, doi:10.21105/joss.01292.↩︎

Bi-focal lens

Objective: focal point at two different locations depending on the excitation frequency \[\begin{equation*} \max_{p(\B r)} \quad \Phi = \left|E_1(\omega_1,\B r_1)\right| + \left|E_2(\omega_2,\B r_2)\right| \end{equation*}\]

Optimization history

Bi-focal lens

16

  1. Benjamin Vial et al., “Optimization and Experimental Validation of a Bi-Focal Lens in the Microwave Domain,” AIP Advances 12, no. 2 (February 2022): 025103, doi:10.1063/5.0074062.↩︎

Measurements

Measurements

Ferrorelectric metamaterials

17

  1. Benjamin Vial and Yang Hao, “Enhanced Tunability in Ferroelectric Composites Through Local Field Enhancement and the Effect of Disorder,” Journal of Applied Physics 126, no. 4 (July 2019): 044102, doi:10.1063/1.5101053.↩︎

Nonlinear permittivity

\[\begin{equation*} \ef(E) = \frac{ \ef(0)}{ \left[(\xi +1)^{1/2} +\xi \right]^{2/3} +\left[(\xi +1)^{1/2} - \xi \right]^{2/3} -1} \label{eq:nl_eps}\end{equation*}\] with \(\xi=E/E_{\rm N}\), \(\ef(0)=3050\) and \(E_{\rm N}=1.65\,\)kV/mm at DC, \(\ef(0)=165\) and \(E_{\rm N}=1.12\,\)kV/mm at \(f=3.8\,\)GHz.

18

  1. Orest G. Vendik, Leon T. Ter-Martirosyan, and Svetlana P. Zubko, “Microwave Losses in Incipient Ferroelectrics as Functions of the Temperature and the Biasing Field,” Journal of Applied Physics 84, no. 2 (June 1998): 993–998, doi:10.1063/1.368166.↩︎

Nonlinear permittivity coupled with electrostatics

Solve for the potential \(V\) satisfying law for a given permittivity distribution \(\e\): \[\begin{equation} \ddiv (\e(\B E) \grad V) = 0 \label{eq:elstat}\end{equation}\] biased by a constant uniform electric field \(\B E_{\rm B} =\Eb \B x\). The electric field \(\B E=-\grad V\) derived from the solution depends on the permittivity distribution, which itself depends on the electric field.

Homogenized properties

Two scale expansion \(\Hm(\B r)=\Hm_0(\B r,\B r/\nu) + \nu \Hm_1(\B r,\B r/\nu) + \nu^2 \Hm_2(\B r,\B r/\nu) + ...\) for magnetic field \(\Hm\)

Two annex problems \(\mathcal P_j\), \(j={x, y}\) on the unit cell : \[\begin{equation} \ddiv \left[ \e(\B E) \grad(\psi_j + r_j) \right] = 0, \label{eq:hom_annex}\end{equation}\] The homogenized permittivity \(\ehom\) is then obtained as: \[\begin{equation} \ehom(\B E) = \langle \e(\B E)\rangle \B I + \B \phi(\B E), \label{eq:hom_epsi}\end{equation}\] where \(\mn{.}\) denotes the mean value over the unit cell, \(\B I\) is the \(2\times 2\) identity matrix and \(\B \phi_{ij}(\B E) = \langle \e(\B E) \grad \psi_i(\B E) \rangle_j\) are correction terms.

19

  1. Grégoire Allaire, “Homogenization and Two-Scale Convergence,” SIAM Journal on Mathematical Analysis 23, no. 6 (November 1992): 1482–1518, doi:10.1137/0523084.↩︎

Enhancement of tunability

Optimized ferroelectric metamaterials

Objective: maximize the tunability of the composites along the direction of the applied electric field defined as \(\tunh(E)=\exxh(0)/\exxh(E)\) \[\begin{equation} \begin{aligned} \max_{p(\B r)} \quad & \sigma(E) = \frac{\tunh(E)}{\eta(E)}-1\\ \textrm{s.t.} \quad & f_{\rm min} < f < f_{\rm max}\\ \end{aligned} \label{eq:max_tuna} \end{equation}\] where \(\sigma\) is the tunability enhancement compared to the bulk BST tunability \(\eta(E)=\ef(0)/\ef(E)\).

20

  1. Benjamin Vial and Yang Hao, “High Frequency Meta-Ferroelectrics by Inverse Design,” Optical Materials Express 11, no. 5 (April 2021): 1457, doi:10.1364/ome.424011.↩︎

Optimized ferroelectric metamaterials

Optimized ferroelectric metamaterials

Bi-objective optimization

Loss reduction factor: \[\begin{equation} \theta(E) = 1- \frac{\tdhxx(E)}{\tdf(E)} \label{eq:loss_red_factor} \end{equation}\] where the homogenized loss tangent \(xx\) component is \(\tdhxx(E) = -\im \exxh(E) / \re\exxh(E)\).

Objective: high tunability and low loss \[\begin{equation} \begin{aligned} \min_{p(\B r)} \quad & \gamma\,\sigma(E) + (1-\gamma)\,\theta(E)\\ \textrm{s.t.} \quad & f_{\rm min} < f < f_{\rm max}\ \end{aligned} \label{eq:biobj} \end{equation}\]

Bi-objective optimization

Bi-objective optimization

Inverse design of superscatterers

  • Design domain: circular rod of diameter \(D=2R=\lambda_0=600\)nm, materials: \(\rm SiO_2\) (\(\varepsilon_{\rm min}=2.17\)) and silicon (\(\varepsilon_{\rm max}=15.59-0.22i\)).
  • Scattering width computed on a circle \(\Gamma\) enclosing the object: \[\begin{equation} \sigma_s=\frac{1}{|\B S_i|}\int_\Gamma \B n \cdotp \B S_s {\rm d} \Gamma \label{eq:scs} \end{equation}\] with Poynting vectors \(\B S_i = \frac{1}{2} {\rm Re}[\B E_i \times \B H_i^\star]\) and \(\B S_s = \frac{1}{2} {\rm Re}[\B E_s \times \B H_s^\star]\) associated with the incident and scattered field respectively, \(\B n\) is the unit vector normal to \(\Gamma\).

Objective: maximize the normalized scattering width: \[\begin{equation} \max_{p(\B r)} \quad \Phi = \sigma_s/2R \end{equation}\]

History

TE

TM

Superscatterers: results

Superscatterers: modal analysis

Fourier Modal Method (FMM)

  • AKA Rigorous Coupled Wave Analysis (RCWA)
  • Suited for a specific type of periodic structure made up of stacked structured layers
  • Key idea: expand the electromagnetic fields within each layer into eigenmodes represented using a Fourier basis in the plane of periodicity

21

22

  1. D. M. Whittaker and I. S. Culshaw, “Scattering-Matrix Treatment of Patterned Multilayer Photonic Structures,” Physical Review B 60, no. 4 (July 1999): 2610–2618, doi:10.1103/PhysRevB.60.2610.↩︎

  2. Victor Liu and Shanhui Fan, “S4 : A Free Electromagnetic Solver for Layered Periodic Structures,” Computer Physics Communications 183, no. 10 (October 2012): 2233–2244, doi:10.1016/j.cpc.2012.04.026.↩︎

FMM

  • Rescaled magnetic field \(\tilde{\B H} = \sqrt{\mu_0/\varepsilon_0}\B H\) expanded as: \[\begin{equation} \tilde{\B H}(\rpara, z)=\sum_{\B {G}} \B{H}_{\B {G}}(z) {\rm e}^{i(\B {k}+\B {G}) \cdot \rpara}, \label{eq:Hexpansion} \end{equation}\] with \(\B {G} = n L_{k,1} + m L_{k,2}\) a reciprocal lattice vector and \(\rpara\) the in plane component of the position vector
  • Fourier transform: \[ \varepsilon_{\B{G}}=\frac{1}{\left|L_{r}\right|} \int_{\Omega} \varepsilon(\B{r}) e^{-i \B{G} \cdot \B{r}} d \B{r} \] where \(\Omega\) denotes one unit cell of the lattice
  • Form block Toepliz matrices \(\hat{\varepsilon}_{m n}=\varepsilon_{\left(\B{G}_{m}-\B{G}_{n}\right)}\) for each components of \(\B \varepsilon\).

FMM

Fourier coefficients \(d_{x}\) and \(d_{y}\) of the displacement field \(\B{D}\) related to the electric field by: \[\begin{equation} \left[\begin{array}{c}-d_{y}(z) \\ d_{x}(z)\end{array}\right]=\mathcal{E}\left[\begin{array}{c}-e_{y}(z) \\ e_{x}(z)\end{array}\right] \label{eq:DE} \end{equation}\]

  • Early formulation:23 Laurent’s rule \[\mathcal{E}=\left[\begin{array}{ll}\hat{\epsilon}_{x x} & \hat{\epsilon}_{x y} \\ \hat{\epsilon}_{y x} & \hat{\epsilon}_{y y}\end{array}\right].\]
  • Improved convergence: proper factorization Rules (Li, 1997):24 decompose the electric field in its normal and tangential components at material interfaces (normal vector field generation)25
  1. M. G. Moharam and T. K. Gaylord, “Rigorous Coupled-Wave Analysis of Planar-Grating Diffraction,” JOSA 71, no. 7 (July 1981): 811–818, doi:10.1364/JOSA.71.000811.↩︎

  2. Lifeng Li, “New Formulation of the Fourier Modal Method for Crossed Surface-Relief Gratings,” JOSA A 14, no. 10 (October 1997): 2758–2767, doi:10.1364/JOSAA.14.002758.↩︎

  3. Thomas Schuster et al., “Normal Vector Method for Convergence Improvement Using the RCWA for Crossed Gratings,” JOSA A 24, no. 9 (September 2007): 2880–2890, doi:10.1364/JOSAA.24.002880.↩︎

FMM

  • Anzatz for eigenmode: \[\begin{equation*}\B{H}(z)=\sum_{\B{G}}\left[\phi_{\B{G}, x} \B{x}+\phi_{\B{G}, y} \B{y}-\frac{\left(k_{x}+G_{x}\right) \phi_{\B{G}, x}+\left(k_{y}+G_{y}\right) \phi_{\B{G}, y}}{q} \B{z}\right] e^{i(\B{k}+\B{G}) \cdot \B{r}+i q z}\end{equation*}\]
  • Fourier transform + eliminating \(z\) components, we get the EVP: \[\begin{equation*} M \Phi = \left(\mathcal{E}\left(k_0^{2}-\mathcal{K}\right)-K\right) \Phi= Q^{2}\Phi, \quad \Phi=\left[\begin{array}{l} \phi_{x} \\ \phi_{y} \end{array}\right] \end{equation*}\] \(Q^{2}={\rm diag\,} q_n^2\), eigenvalues \(q_{n}^2\), \(\left[\phi_{x, n}, \phi_{y, n}\right]^{\rm T}\) Fourier coefficients of the eigenmodes \[\begin{equation*} \mathcal{K}=\left[\begin{array}{cc}\hat{k}_{y} \hat{\varepsilon}_{z}^{-1} \hat{k}_{y} & -\hat{k}_{y} \hat{\varepsilon}_{z}^{-1} \hat{k}_{x} \\ -\hat{k}_{x} \hat{\varepsilon}_{z}^{-1} \hat{k}_{y} & \hat{k}_{x} \hat{\varepsilon}_{z}^{-1} \hat{k}_{x}\end{array}\right], \quad K=\left[\begin{array}{ll}\hat{k}_{x} \hat{k}_{x} & \hat{k}_{x} \hat{k}_{y} \\ \hat{k}_{y} \hat{k}_{x} & \hat{k}_{y} \hat{k}_{y}\end{array}\right], \end{equation*}\] where \(\hat{k}_{\nu}\), \(\nu\in\{x,y\}\), are diagonal matrices with entries \(\left(k_{\nu}+G_{1 \nu}, k_{\nu}+G_{2 \nu}, \ldots\right)\).

FMM

  • Compute fields in each layer
  • \(S\)-matrix algorithm is then used starting from the incident medium to recursively find the \(S\)-matrix of each layer and form the total \(S\)-matrix.
  • Computation of relevant electromagnetic quantities of interest, e.g. diffraction efficiencies in transmission and reflection for each order by calculating the power flux through the outermost layer (more efficient in Fourier space)26
  1. Whittaker and Culshaw, “Scattering-Matrix Treatment of Patterned Multilayer Photonic Structures.”↩︎

Implementation

FMM and PWEM in python with various numerical backends for core linear algebra operations and array manipulation

  • numpy27
  • scipy28
  • autograd (AD)29
  • pytorch (AD + GPU)30
  • jax (AD + GPU)31
  1. Charles R. Harris et al., “Array Programming with NumPy,” Nature 585, no. 7825 (September 2020): 357–362, doi:10.1038/s41586-020-2649-2.↩︎

  2. Pauli Virtanen et al., SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python,” Nature Methods 17 (2020): 261–272, doi:10.1038/s41592-019-0686-2.↩︎

  3. Dougal Maclaurin, David Duvenaud, and Ryan P Adams, “Autograd: Effortless Gradients in Numpy,” in ICML 2015 AutoML Workshop, vol. 238, 2015, 5.↩︎

  4. Adam Paszke et al., PyTorch: An Imperative Style, High-Performance Deep Learning Library,” in Advances in Neural Information Processing Systems 32, ed. H. Wallach et al. (Curran Associates, Inc., 2019), 8024–8035; Adam Paszke et al., “Automatic Differentiation in PyTorch,” in NIPS-W, 2017.↩︎

  5. James Bradbury et al., JAX: Composable Transformations of Python+NumPy Programs,” 2018.↩︎

FMM benchmark

Deflective metasurface

  • \(\lambda_t=732\)nm, periods \(L_x=800\)nm and \(L_y=400\)nm, plane wave normally incident from the superstrate (silica, \(\varepsilon=2.16\)).
  • Design domain: metasurface layer of thickness \(350\)nm, restricted to one unit cell, \(\varepsilon_{\rm min}=1\) (air) and \(\varepsilon_{\rm max}=14.06-0.074i\) (silicon)

Objective: maximize the average of the transmission coefficient in the \((1,0)\) diffracted order for both polarizations: \[\begin{equation} \max_{p(\B r)} \quad \Phi = \frac{1}{2} \left( T^{\rm TE}_{(1,0)} + T^{\rm TM}_{(1,0)}\right) \end{equation}\]

Plane Wave Expansion Method

  • 2D, possibly \(z\)-anisotropic materials in \(\varepsilon\) and \(\mu\), non dispersive
  • Polarization decouple, expand the \(z\) components as: \[\begin{equation} u(\B{r})=\sum_{\B {G}} u_{\B {G}}\, {\rm e}^{i(\B {k}+\B {G}) \cdot \B{r}}, \label{eq:pwem1} \end{equation}\]
  • After Fourier transforming Maxwell’s equations and recombining the relevant \(z\) component of the fields, we get the following generalized eigenproblem: \[\begin{equation} \mathcal{Q}^{\rm T} \,\hat{\tens{\theta}_\parallel}^{-1}\,\mathcal{Q}\, \Phi = k_0^2 \,\chi_{zz}\, \Phi \label{eq:pwem2} \end{equation}\] \(\tens{\theta}_\parallel=\tens{\mu}_\parallel\) for TM and \(\tens{\varepsilon}_\parallel\) for TE polarization, \(\mathcal{Q} = \left[\hat{k}_{y}, -\hat{k}_{x}\right]^{\rm T}\) and \(\Phi=\left[u_{\B{G}_{1}}, u_{\B{G}_{2}}, \ldots\right]^{\rm T}\)
  • Reduced Bloch Mode Expansion,32 only solving Eq. (\(\ref{eq:pwem2}\)) at symmetry points of the first Brillouin zone and performing a second expansion using those modes as a basis set.
  1. Mahmoud I. Hussein, “Reduced Bloch Mode Expansion for Periodic Media Band Structure Calculations,” Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 465, no. 2109 (September 2009): 2825–2848, doi:10.1098/rspa.2008.0471.↩︎

Photonic crystals: maximizing bandgaps

  • TE modes, square array with enforced \(C_4\) symmetry on the unit cell, \(\varepsilon_{\rm min}=1\) (air) and \(\varepsilon_{\rm max}=9\)

Objective: open and maximize a bandgap between the \(5^{th}\) and \(6^{th}\) eigenvalues:\[\begin{equation*}\max_{p(\B r)} \quad \Phi = \min_{\B k} \omega_{6}(\B k) - \max_{\B k} \omega_{5}(\B k)\end{equation*}\]

  • Final distribution in agreement with simple geometrical rules: the walls of an optimal centroidal Voronoi tessellation with \(n=5\) points33
  1. Ole Sigmund and Kristian Hougaard, “Geometric Properties of Optimal Photonic Crystals,” Physical Review Letters 100, no. 15 (April 2008): 153904, doi:10.1103/PhysRevLett.100.153904.↩︎

Photonic crystals: dispersion engineering

  • TM modes, symmetry with respect to \(y\)

Objective: obtain a prescribed dispersion curve for the \(6^{th}\) band \[\begin{equation*}\min_{p(\B r)} \quad \Phi = \left\langle\left|\omega_{6}(k_x) - \langle \omega_{6}\rangle - \omega_{\rm tar}(k_x) \right|^2\right\rangle \end{equation*}\] with \[\begin{align*}\omega_{\rm tar}(k_x) =& -0.02 \cos(k_x a) + 0.01 \cos(2 k_x a) \\ &+ 0.007 \cos(3 k_x a)\end{align*}\] \(\langle f\rangle =\frac{1}{M}\sum_{m=0}^M f_m\)

Open source

  • Free software: low cost, portable, customizable, vendor-independent
  • Widely used programming language, is easily installable and integrates with the rich and growing scientific Python ecosystem
  • Reproducible and collaborative research
  • Auto-differentiation: inverse design of photonic structures and metamaterials with improved performances and explore intriguing effects

Get the code

  • Development on gitlab: continuous integration for testing and documentation deployment
  • Install / fork it / run it online / report bugs!

FEM

pip install gyptis
conda install -c conda-forge gyptis

FMM

pip install nannos
conda install -c conda-forge nannos

PWEM

pip install protis

Online example

THANK YOU

Aage, Niels, Erik Andreassen, Boyan S. Lazarov, and Ole Sigmund. “Giga-Voxel Computational Morphogenesis for Structural Design.” Nature 550, no. 7674 (October 2017): 84–86. https://doi.org/10.1038/nature23911.
Allaire, Grégoire. “Homogenization and Two-Scale Convergence.” SIAM Journal on Mathematical Analysis 23, no. 6 (November 1992): 1482–1518. https://doi.org/10.1137/0523084.
Alnæs, Martin, Jan Blechta, Johan Hake, August Johansson, Benjamin Kehlet, Anders Logg, Chris Richardson, Johannes Ring, Marie E. Rognes, and Garth N. Wells. “The FEniCS Project Version 1.5.” Archive of Numerical Software 3, no. 100 (December 2015). https://doi.org/10.11588/ans.2015.100.20553.
Bendsøe, M. P., and O. Sigmund. “Material Interpolation Schemes in Topology Optimization.” Arch. Appl. Mech. Ing. Arch. 69, no. 9–10 (November 1999): 635–654. https://doi.org/10.1007/s004190050248.
Bleyer, Jeremy. Numerical Tours of Computational Mechanics with FEniCS. Manual (Zenodo, 2018). https://doi.org/10.5281/zenodo.1287832.
Bradbury, James, Roy Frostig, Peter Hawkins, Matthew James Johnson, Chris Leary, Dougal Maclaurin, George Necula, et al. JAX: Composable Transformations of Python+NumPy Programs,” 2018.
Geuzaine, Christophe, and Jean-François Remacle. “Gmsh: A 3-D Finite Element Mesh Generator with Built-in Pre- and Post-Processing Facilities.” Int J Numer Meth Engng 79, no. 11 (September 2009): 1309–1331. https://doi.org/10.1002/nme.2579.
Griewank, Andreas, and Andrea Walther. Evaluating Derivatives Other Titles in Applied Mathematics (Society for Industrial and Applied Mathematics, 2008). https://doi.org/10.1137/1.9780898717761.
Harris, Charles R., K. Jarrod Millman, Stéfan J. van der Walt, Ralf Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser, et al. “Array Programming with NumPy.” Nature 585, no. 7825 (September 2020): 357–362. https://doi.org/10.1038/s41586-020-2649-2.
Hussein, Mahmoud I. “Reduced Bloch Mode Expansion for Periodic Media Band Structure Calculations.” Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 465, no. 2109 (September 2009): 2825–2848. https://doi.org/10.1098/rspa.2008.0471.
Johnson, Steven G. “The NLopt Nonlinear-Optimization Package,” n.d. https://doi.org/http://github.com/stevengj/nlopt.
Lazarov, B. S., and O. Sigmund. “Filters in Topology Optimization Based on Helmholtz-type Differential Equations.” International Journal for Numerical Methods in Engineering 86, no. 6 (2011): 765–781. https://doi.org/10.1002/nme.3072.
Li, Lifeng. “New Formulation of the Fourier Modal Method for Crossed Surface-Relief Gratings.” JOSA A 14, no. 10 (October 1997): 2758–2767. https://doi.org/10.1364/JOSAA.14.002758.
Liu, Victor, and Shanhui Fan. “S4 : A Free Electromagnetic Solver for Layered Periodic Structures.” Computer Physics Communications 183, no. 10 (October 2012): 2233–2244. https://doi.org/10.1016/j.cpc.2012.04.026.
Maclaurin, Dougal, David Duvenaud, and Ryan P Adams. “Autograd: Effortless Gradients in Numpy.” In ICML 2015 AutoML Workshop, 2015, 238:5.
Mitusch, Sebastian K., Simon W. Funke, and Jørgen S. Dokken. “Dolfin-Adjoint 2018.1: Automated Adjoints for FEniCS and Firedrake.” Journal of Open Source Software 4, no. 38 (June 2019): 1292. https://doi.org/10.21105/joss.01292.
Moharam, M. G., and T. K. Gaylord. “Rigorous Coupled-Wave Analysis of Planar-Grating Diffraction.” JOSA 71, no. 7 (July 1981): 811–818. https://doi.org/10.1364/JOSA.71.000811.
Molesky, Sean, Zin Lin, Alexander Y. Piggott, Weiliang Jin, Jelena Vucković, and Alejandro W. Rodriguez. “Inverse Design in Nanophotonics.” Nature Photonics 12, no. 11 (November 2018): 659–670. https://doi.org/10.1038/s41566-018-0246-9.
Paszke, Adam, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. “Automatic Differentiation in PyTorch.” In NIPS-W, 2017.
Paszke, Adam, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, et al. PyTorch: An Imperative Style, High-Performance Deep Learning Library.” In Advances in Neural Information Processing Systems 32, edited by H. Wallach, H. Larochelle, A. Beygelzimer, F. dAlché-Buc, E. Fox, and R. Garnett (Curran Associates, Inc., 2019), 8024–8035.
Schuster, Thomas, Johannes Ruoff, Norbert Kerwien, Stephan Rafler, and Wolfgang Osten. “Normal Vector Method for Convergence Improvement Using the RCWA for Crossed Gratings.” JOSA A 24, no. 9 (September 2007): 2880–2890. https://doi.org/10.1364/JOSAA.24.002880.
Sigmund, Ole, and Kristian Hougaard. “Geometric Properties of Optimal Photonic Crystals.” Physical Review Letters 100, no. 15 (April 2008): 153904. https://doi.org/10.1103/PhysRevLett.100.153904.
Svanberg, Krister. “A Class of Globally Convergent Optimization Methods Based on Conservative Convex Separable Approximations.” SIAM Journal on Optimization, n.d., 555–573.
Vendik, Orest G., Leon T. Ter-Martirosyan, and Svetlana P. Zubko. “Microwave Losses in Incipient Ferroelectrics as Functions of the Temperature and the Biasing Field.” Journal of Applied Physics 84, no. 2 (June 1998): 993–998. https://doi.org/10.1063/1.368166.
Vial, Benjamin. “Gyptis” (Zenodo, June 2022). https://doi.org/10.5281/zenodo.6636134.
Vial, Benjamin, and Yang Hao. “Enhanced Tunability in Ferroelectric Composites Through Local Field Enhancement and the Effect of Disorder.” Journal of Applied Physics 126, no. 4 (July 2019): 044102. https://doi.org/10.1063/1.5101053.
———. “High Frequency Meta-Ferroelectrics by Inverse Design.” Optical Materials Express 11, no. 5 (April 2021): 1457. https://doi.org/10.1364/ome.424011.
———. “Topology Optimized All-Dielectric Cloak: Design, Performances and Modal Picture of the Invisibility Effect.” Optics Express 23, no. 18 (August 2015): 23551. https://doi.org/10.1364/oe.23.023551.
Vial, Benjamin, Max Munoz Torrico, and Yang Hao. “Optimized Microwave Illusion Device.” Scientific Reports 7, no. 1 (June 2017): 3929. https://doi.org/10.1038/s41598-017-04410-4.
Vial, Benjamin, Tom Whittaker, Shiyu Zhang, William G. Whittow, and Yang Hao. “Optimization and Experimental Validation of a Bi-Focal Lens in the Microwave Domain.” AIP Advances 12, no. 2 (February 2022): 025103. https://doi.org/10.1063/5.0074062.
Virtanen, Pauli, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, Evgeni Burovski, et al. SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python.” Nature Methods 17 (2020): 261–272. https://doi.org/10.1038/s41592-019-0686-2.
Wang, Fengwen, Boyan Stefanov Lazarov, and Ole Sigmund. “On Projection Methods, Convergence and Robust Formulations in Topology Optimization.” Struct Multidisc Optim 43, no. 6 (December 2010): 767–784. https://doi.org/10.1007/s00158-010-0602-y.
Whittaker, D. M., and I. S. Culshaw. “Scattering-Matrix Treatment of Patterned Multilayer Photonic Structures.” Physical Review B 60, no. 4 (July 1999): 2610–2618. https://doi.org/10.1103/PhysRevB.60.2610.