# The modal method (RCWA / FMM)

How MC Grating's three modal codes work: the True Modes Method of Botten and Li for lamellar gratings, the Fourier Modal Method (RCWA) with Li's factorization rules, mode selection, the suppression of TM instabilities in metals, and the normal-vector field for crossed gratings — with the papers behind each step.

Canonical: https://mcgrating.com/features/modal-method.html


A rigorous method best suited to gratings with rectangular grooves, and applicable to other profiles by slicing them into layers: the field inside the grating layer is written as a sum of the layer's own modes, exact ones or Fourier ones, and matched to plane waves above and below.

## What it is

A lamellar grating is a layer that is periodic in one direction and uniform in depth: each period is a row of cells of different materials with vertical walls. Because the layer is uniform in depth, its electromagnetic modes can be found once and propagated through the thickness analytically; the diffraction problem then reduces to matching those modes to the plane waves of the cover and substrate at the two interfaces, and, for a stack of such layers, propagating from one interface to the next. The modal codes in MC Grating implement two ways of finding the modes:

- **The True Modes Method (TMM)** solves the exact transcendental eigenvalue equation of the periodic layer, so the modes are exact for any index contrast and any groove depth. It comes from [Botten et al.](https://mcgrating.com/publications/botten-1981-dielectric-lamellar-grating.html) [[5](https://mcgrating.com/references.html#ref-5)] for dielectric gratings, their extension to [lossy](https://mcgrating.com/publications/botten-1981-finitely-conducting-lamellar-grating.html) [[6](https://mcgrating.com/references.html#ref-6)] and [highly conducting](https://mcgrating.com/publications/botten-1981-highly-conducting-lamellar-gratings.html) [[7](https://mcgrating.com/references.html#ref-7)] materials, and [Li's conical-mount generalisation](https://mcgrating.com/publications/li-1993-modal-analysis-lamellar-conical.html) [[8](https://mcgrating.com/references.html#ref-8)]. Finding every complex root reliably is the hard part; the software's history records a "reliable lamellar modes searching algorithm in TMM" among its developments, and [hidden modes](https://mcgrating.com/publications/foresti-2006-hidden-modes-deep-metal-dielectric-gratings.html) [[9](https://mcgrating.com/references.html#ref-9)] are why the search must be thorough.
- **The Fourier Modal Method (FMM)**, also known as rigorous coupled-wave analysis (RCWA), expands the permittivity and the field in Fourier series and turns the eigenproblem into a matrix one. It converges fast only if the Fourier factorization follows the rules proved by [Li](https://mcgrating.com/publications/li-1996-fourier-series-discontinuous.html) [[11](https://mcgrating.com/references.html#ref-11)], which is what the reformulation of [Lalanne and Morris](https://mcgrating.com/publications/lalanne-1996-improved-convergence-tm.html) [[10](https://mcgrating.com/references.html#ref-10)] does for TM polarization. For low-loss metals under TM incidence the FMM can still go unstable; [Lyndin, Parriaux and Tishchenko](https://mcgrating.com/publications/lyndin-2007-fmm-instabilities.html) [[12](https://mcgrating.com/references.html#ref-12)] traced the instability to specific modes and suppressed it, and that suppression is implemented in the modal codes.

The two methods are complementary, and the codes let you switch between them; the [Modes page](https://mcgrating.com/docs/modal/modes.html) of the Settings dialog calculates the modes of each layer by either method, with the coupling and scattering matrices, and draws the eigenmode fields.

## When to use it

Whenever the profile is made of vertical walls: binary and multilevel gratings, high-contrast gratings, pillars and holes, etched waveguide gratings, and any structure that can be built from lamellar layers. A smooth profile can be approximated by slicing it into lamellar layers, and the [Layer Slicing](https://mcgrating.com/docs/modal/layer-slicing.html) dialog does exactly that for sinusoidal, trapezoidal, triangular and file-defined profiles; for a genuinely smooth profile the [C method](https://mcgrating.com/features/c-method.html) avoids the staircase altogether.

## The three modal codes

- [Modal Collinear](https://mcgrating.com/products.html#modal-collinear): incidence in the plane normal to the grooves (the classical mount), with TMM and FMM, resonance search, finite-beam analysis, fields and optimization.
- [Modal Conical](https://mcgrating.com/products.html#modal-conical): any incidence angle and any polarization, reading the same structure files, at about eight times the computing cost.
- [Modal Crossed](https://mcgrating.com/products.html#modal-crossed): biperiodic gratings by the FMM, where the factorization rules are applied through a normal-vector field over the unit cell — the method of [Schuster et al.](https://mcgrating.com/publications/schuster-2007-normal-vector-method-rcwa.html) [[23](https://mcgrating.com/references.html#ref-23)] built on [Popov and Nevière](https://mcgrating.com/publications/popov-2000-fourier-space-tm-polarization.html) [[21,22]](https://mcgrating.com/references.html#ref-21); the code generates the [NV field](https://mcgrating.com/docs/modal-crossed/nv-field.html) automatically from the pillar geometry.

All three have the Modes page ([1D codes](https://mcgrating.com/docs/modal/modes.html), [Modal Crossed](https://mcgrating.com/docs/modal-crossed/modes.html)), where Modal Crossed computes its modes by the FMM, and a Modes Interference window ([1D codes](https://mcgrating.com/docs/modal/modes-interference.html), [Modal Crossed](https://mcgrating.com/docs/modal-crossed/modes-interference.html)) that shows the zero-order reflection and transmission carried by a chosen group of modes as the layer thickness changes. The [modes-interference study](https://mcgrating.com/modes-interference.html) and [Akhmedzhanov, Nurligareev and Usievich](https://mcgrating.com/publications/akhmedzhanov-2023-wire-grid-polarizer-extinction-ratio.html) [[27](https://mcgrating.com/references.html#ref-27)] use it.

The documentation of the modal codes starts at [the introduction for the 1D codes](https://mcgrating.com/docs/modal/introduction.html) and [the introduction for Modal Crossed](https://mcgrating.com/docs/modal-crossed/introduction.html); sections 4 to 6 of the [step-by-step examples](https://mcgrating.com/docs/examples.html#ex-4) are modal-code examples.
