Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Chapter 6 notebook: trust a wave calculation

Predict first: can a conservative system solve the wrong wave accurately? We solve a one-dimensional normal-incidence dielectric slab by FDFD and compare it with the independent Chapter 2 Fresnel film. The convention is e−iωte^{-i\omega t}; incident Ey=1E_y=1 at z=0z=0, reflected amplitude at z=0z=0, transmitted amplitude at z=dz=d. Equal real exterior indices, isotropic nonmagnetic materials, micrometers. No PML, FDTD, FEM, finite ridge array, material dispersion, or experiment is executed here.

Restart the kernel and run all cells. Preserve the complete source bundle. Plot labels remain common scientific English in both editions; Persian narratives describe their meaning.

Physical parameters: {'wavelength_um': 1.55, 'thickness_um': 0.6, 'n_film': 2.4, 'n_exterior': 1.0}
Python / NumPy / SciPy / Matplotlib: 3.12.1 2.4.6 1.18.1 3.11.1
Source SHA256: 24f0cc7c187c6c92ba906aea101024b3249be87a2bae86c9ad148c79e7c0dd51
Exact r, t, R, T: (-0.2195960689010276-0.3261968489579452j) (0.7627137674043337-0.5134597270137267j) 0.15462681774687742 0.8453731822531227

1. Separate three diagnostics

Compute complex transmission error, the normalized equation residual, and discrete flux imbalance independently. The exact solution is used to judge the numerical prediction; it is not used to assemble the FDFD equations. Predict whether power imbalance will decrease at the same rate as transmission error.

Logarithmic diagnostics at zero or below 1e-17 are displayed at a plotting floor of 1e-17; this floor is not a measured error.

Loading...
First sampled mesh meeting BOTH targets: 128
N 64 -> 128: exact-error observed order 2.00159
N 128 -> 256: exact-error observed order 2.00040
N 256 -> 512: exact-error observed order 2.00010
<Figure size 1430x559 with 2 Axes>

2. Compare fields at the same coordinates

The two physical faces remain on nodes. Each face uses the arithmetic half-cell permittivity for this tangential scalar field only. Exterior padding is one-quarter of the slab thickness on each side. Plot the real field and its complex pointwise error; a similar-looking intensity pattern is a weaker test than complex-field agreement.

<Figure size 1430x780 with 6 Axes>

3. Move the boundary; hold the film mesh fixed

Test three distinct changes: matched boundaries with correct deembedding; a deliberately wrong right outgoing multiplier; correct boundaries with continuum deembedding. Forward minus backward power gives net transmitted flux. The mismatched boundary is a controlled error demonstration, not an alternative validated absorber.

<Figure size 1560x520 with 3 Axes>

4. Compare another discretization family

The following plots inspect the published fixed-geometry RCWA datasets; they do not inherit the adjustable slab parameters above. Left: fresh single-ridge harmonic sweep from the Chapter 6 audit, compared with half-order M=64. Right: saved Chapter 5 expanded beam-steering supercell, compared with its higher-order check. Neither high-order reference is an exact answer. Both examples show conservation before amplitude/order-power convergence.

<Figure size 1430x585 with 2 Axes>

5. Preserve a reproducible decision

The cell below saves your slab experiment separately from the fixed published audit. Report a rejected coarse mesh, an accepted mesh, the tolerance, and independent domain/extraction checks. For a new physical configuration, a successful fixed-reference validator does not certify your modified experiment. The model still excludes absorption, vector patterning, finite aperture effects, and uncertain constitutive data.

Further exercises: refine FDTD run duration and absorbers independently; reproduce a Chapter 3 ridge in a converged FEM model; compare model discrepancy of a thin-sheet approximation only at matching phase planes. These are outlines, not completed simulations. Scientific methods and provenance references are recorded in data/chapter-06/README.md and the chapter.

Saved data\chapter-06\notebook-experiment.json