EME: Bragg Grating
A Bragg grating reflects a band of wavelengths around the one at which the reflections from its periods add in phase. Here a 220 nm Si strip in SiO2 at 1550 nm has its width alternate between 530 and 470 nm once every 317 nm. A uniform grating is compared with coupled-mode theory, and a chirped grating, whose period changes along its length, reflects a wider band.
Highlighted features: grating_sections, which gives the length of every section of a uniform, chirped or noisy grating, one straight_section per length alternating between two labeled profiles, and a wavelength sweep.
grating_sections(period, count, duty_cycle=0.5, chirp=0.0, jitter_rms=0.0, seed=None) returns the 2 count lengths of the grating’s sections in order: the first part of each period (duty_cycle of it), then the second. A chirp changes the period linearly from period - chirp / 2 at the first period to period + chirp / 2 at the last, so the grating keeps its length. jitter_rms moves every wall between two sections by Gaussian noise drawn with seed, for fabrication-tolerance studies, and keeps the grating’s two ends where they are. It is computed in emodeconnection and sends nothing to the solver.
Coupled-mode theory describes a weak grating by one coupling coefficient \(\kappa\). A rectangular grating with a 50 % duty cycle has two steps per period, of opposite sign and half a period apart, which add in phase at the Bragg wavelength, so \(\kappa = 2 r / \Lambda\) with \(r\) the reflection at one step and \(\Lambda\) the period. The example solves that one step with EME first, and with that \(\kappa\) the theory follows the solved spectrum of the uniform grating: its peak, its width and its side lobes. The peak is \(\tanh^2(\kappa L)\).
The common estimate \(\kappa = 2 \Delta n / \lambda\), from the two widths’ effective indices, is about three times too large here. It treats the width change as a uniform step in index. In a high-contrast Si strip much of the change of the effective index comes from the longitudinal field \(E_z\) at the sidewalls, and that component couples the forward and backward waves with the opposite sign to the transverse field. A step therefore reflects well below \((n_1 - n_2) / (n_1 + n_2)\), and the dotted curve, coupled-mode theory with the effective-index estimate, is much wider than the grating’s real band.
The chirped grating is twice as long, and its period runs from 313 to 321 nm, so its local Bragg wavelength moves along it, different parts of the grating reflect different wavelengths, and the band at half maximum widens from 9.6 to 22.4 nm. Its band ripples because the grating starts and ends abruptly and its parts reflect back and forth. Tapering the corrugation toward the two ends (apodization) smooths it, at the cost of a longer grating. The spectrum is solved at each wavelength directly: with hundreds of sections, the interpolated sweep’s rebuild costs more per wavelength than a direct solve.
This code example is licensed under the BSD 3-Clause License.
import sys
import time
import numpy as np
import emodeconnection as emc
from emodeconnection import grating_sections
from matplotlib import pyplot as plt
## A Bragg grating in a 220 nm Si strip in SiO2: the strip's width alternates
## between two values once per period, and the small reflection at each step
## adds up in phase at the Bragg wavelength. A uniform grating is compared with
## coupled-mode theory, and a chirped one reflects a wider band.
## Set simulation parameters
wavelength = 1550 # [nm] design wavelength
dx, dy = 10, 10 # [nm] resolution
h_core = 220 # [nm] silicon thickness
w_wide, w_narrow = 530, 470 # [nm] the two widths of the corrugated strip
window_width, window_height = 2000, 2000 # [nm]
num_modes = 4 # [-]
period = 317 # [nm] grating period
num_periods = 150 # [-] uniform grating
num_chirped = 300 # [-] chirped grating
chirp = 8 # [nm] change of the period from the chirped grating's first period to its last
lead = 1000 # [nm] unperturbed guide before and after the grating
wavelengths = np.arange(1530, 1570.01, 0.4) # [nm]
def start(name, solve=False):
"""Open a session with the two cross-sections of the corrugated strip.
With `solve`, each is solved first, and its effective index and group
index are returned too.
"""
em = emc.EMode(emode_cmd=sys.argv[1:], simulation_name=name)
em.settings(
wavelength=wavelength, x_resolution=dx, y_resolution=dy,
window_width=window_width, window_height=window_height,
num_modes=num_modes, boundary_condition='TE',
background_material='SiO2')
em.shape(name='core', material='Si', height=h_core, etch_depth=h_core,
position=[0, window_height / 2])
indices = []
for profile, width in (('wide', w_wide), ('narrow', w_narrow)):
em.shape(name='core', mask=width)
if solve:
em.FDM()
indices.append((float(np.real(np.asarray(em.get('effective_index'))[0])),
float(np.real(np.asarray(em.group_index())[0]))))
em.label_profile(name=profile)
return em, indices
def declare(em, lengths):
"""The grating between two leads, one straight section per length."""
em.straight_section(name='lead_in', profile='wide', length=lead)
for k, length in enumerate(lengths):
em.straight_section(name=f'grating_{k}', profile=('narrow', 'wide')[k % 2],
length=length)
em.straight_section(name='lead_out', profile='wide', length=lead)
def reflection(em):
"""The reflection spectrum of the declared grating, solved at every wavelength."""
start_time = time.time()
data = em.sweep(key='wavelength', values=wavelengths, result='S_matrix')
R = np.array([np.abs(S.block('left', 'left')[0, 0]) ** 2 for S in data['S_matrix']])
return R, time.time() - start_time
## Part 1: the two cross-sections and the reflection at one step
em, indices = start('bragg_step', solve=True)
(n_wide, ng_wide), (n_narrow, ng_narrow) = indices
n_avg, n_g = (n_wide + n_narrow) / 2, (ng_wide + ng_narrow) / 2
print(f'n_eff: {n_wide:.5f} wide, {n_narrow:.5f} narrow, mean group index {n_g:.4f}')
em.straight_section(name='wide_lead', profile='wide', length=lead)
em.straight_section(name='narrow_lead', profile='narrow', length=lead)
r_step = float(np.abs(em.EME().block('left', 'left')[0, 0]))
r_index = (n_wide - n_narrow) / (n_wide + n_narrow)
print(f'reflection at one step: {r_step:.5f}, the index estimate (n1 - n2) / (n1 + n2): {r_index:.5f}')
em.close()
## Coupled-mode theory for a rectangular grating with 50 % duty cycle. Each
## period has two steps of opposite sign, half a period apart, which add in
## phase at the Bragg wavelength, so the coupling coefficient is 2 r / period.
## The effective-index estimate 2 (n1 - n2) / lambda treats the width change as
## a uniform index step. In a high-contrast strip much of the index change
## comes from the longitudinal field E_z at the sidewalls, which couples the
## forward and backward waves with the opposite sign, so a step reflects well
## below (n1 - n2) / (n1 + n2).
kappa = 2 * r_step / period # [1/nm]
kappa_index = 2 * (n_wide - n_narrow) / wavelength # [1/nm] from the effective indices
L = num_periods * period # [nm]
print(f'kappa from the step: {kappa * 1e6:.1f} /mm, from the effective indices: {kappa_index * 1e6:.1f} /mm')
def cmt(lam, kappa, L):
"""|r|^2 of a uniform grating of length L, its mean index dispersed with the group index."""
n = n_avg - (n_g - n_avg) * (lam - wavelength) / wavelength
delta = 2 * np.pi * n / lam - np.pi / period
s = np.sqrt(kappa ** 2 - delta ** 2 + 0j)
r = -1j * kappa * np.sinh(s * L) / (s * np.cosh(s * L) + 1j * delta * np.sinh(s * L))
return np.abs(r) ** 2
## Part 2: the uniform grating
em, _ = start('bragg_uniform')
declare(em, grating_sections(period=period, count=num_periods))
R_uniform, seconds = reflection(em)
em.close()
R_cmt = cmt(wavelengths, kappa, L)
peak = np.argmax(R_uniform)
print(f'uniform, {num_periods} periods ({L / 1e3:.1f} um), {seconds:.0f} s for {len(wavelengths)} wavelengths')
print(f'uniform peak reflection: {R_uniform[peak]:.4f} at {wavelengths[peak]:.1f} nm')
print(f'coupled-mode theory peak: {R_cmt.max():.4f} at {wavelengths[np.argmax(R_cmt)]:.1f} nm, '
f'tanh^2(kappa L) = {np.tanh(kappa * L) ** 2:.4f}')
print(f'largest difference from coupled-mode theory: {np.max(np.abs(R_uniform - R_cmt)):.4f}')
def band(R):
above = wavelengths[R >= R.max() / 2]
return above.max() - above.min()
print(f'uniform bandwidth at half maximum: {band(R_uniform):.1f} nm, coupled-mode theory {band(R_cmt):.1f} nm')
## Part 3: a chirped grating, the period changing along its length
em, _ = start('bragg_chirped')
declare(em, grating_sections(period=period, count=num_chirped, chirp=chirp))
R_chirped, seconds = reflection(em)
em.close()
print(f'chirped, {num_chirped} periods, period {period - chirp / 2:.0f} to {period + chirp / 2:.0f} nm, '
f'{seconds:.0f} s')
print(f'chirped bandwidth at half maximum: {band(R_chirped):.1f} nm, peak {R_chirped.max():.4f}')
plt.figure(figsize=(6, 3.5))
plt.plot(wavelengths, R_uniform, label='uniform, EME')
plt.plot(wavelengths, R_cmt, ls='--', label='uniform, coupled-mode theory')
plt.plot(wavelengths, cmt(wavelengths, kappa_index, L), ls=':', color='gray',
label='coupled-mode theory, effective-index kappa')
plt.plot(wavelengths, R_chirped, label='chirped, EME')
plt.xlabel('Wavelength (nm)')
plt.ylabel('Reflection')
plt.legend(fontsize=7, loc='upper center', bbox_to_anchor=(0.5, -0.2), ncol=2)
plt.grid(True, alpha=0.3)
plt.savefig('bragg_spectrum.png', dpi=300, bbox_inches='tight')
Console output:
EMode3D 1.0.8 - email
Meshing completed in 0.1 sec
Solving modes completed in 0.3 sec
Meshing completed in 0.1 sec
Solving modes completed in 0.3 sec
n_eff: 2.49006 wide, 2.39448 narrow, mean group index 4.1973
Solving S-matrices...
Solving section: wide_lead... completed in 0.0 sec
Solving section: narrow_lead... completed in 0.0 sec
completed in 0.0 sec
reflection at one step: 0.00635, the index estimate (n1 - n2) / (n1 + n2): 0.01957
Exited EMode
kappa from the step: 40.1 /mm, from the effective indices: 123.3 /mm
EMode3D 1.0.8 - email
Sweeping setting parameter 'wavelength'...
Solving EME: wavelength = 1530.0... completed in 5.6 sec
Solving EME: wavelength = 1530.4... completed in 5.6 sec
Solving EME: wavelength = 1530.8000000000002... completed in 5.5 sec
Solving EME: wavelength = 1531.2000000000003... completed in 5.6 sec
Solving EME: wavelength = 1531.6000000000004... completed in 5.4 sec
Solving EME: wavelength = 1532.0000000000005... completed in 5.7 sec
Solving EME: wavelength = 1532.4000000000005... completed in 5.7 sec
Solving EME: wavelength = 1532.8000000000006... completed in 5.5 sec
Solving EME: wavelength = 1533.2000000000007... completed in 5.5 sec
Solving EME: wavelength = 1533.6000000000008... completed in 5.6 sec
Solving EME: wavelength = 1534.000000000001... completed in 5.6 sec
Solving EME: wavelength = 1534.400000000001... completed in 5.5 sec
Solving EME: wavelength = 1534.800000000001... completed in 5.5 sec
Solving EME: wavelength = 1535.2000000000012... completed in 5.6 sec
Solving EME: wavelength = 1535.6000000000013... completed in 5.6 sec
Solving EME: wavelength = 1536.0000000000014... completed in 5.5 sec
Solving EME: wavelength = 1536.4000000000015... completed in 5.5 sec
Solving EME: wavelength = 1536.8000000000015... completed in 5.6 sec
Solving EME: wavelength = 1537.2000000000016... completed in 5.5 sec
Solving EME: wavelength = 1537.6000000000017... completed in 5.4 sec
Solving EME: wavelength = 1538.0000000000018... completed in 5.5 sec
Solving EME: wavelength = 1538.400000000002... completed in 5.6 sec
Solving EME: wavelength = 1538.800000000002... completed in 5.5 sec
Solving EME: wavelength = 1539.200000000002... completed in 5.4 sec
Solving EME: wavelength = 1539.6000000000022... completed in 5.6 sec
Solving EME: wavelength = 1540.0000000000023... completed in 5.6 sec
Solving EME: wavelength = 1540.4000000000024... completed in 5.4 sec
Solving EME: wavelength = 1540.8000000000025... completed in 5.5 sec
Solving EME: wavelength = 1541.2000000000025... completed in 5.5 sec
Solving EME: wavelength = 1541.6000000000026... completed in 5.5 sec
Solving EME: wavelength = 1542.0000000000027... completed in 5.4 sec
Solving EME: wavelength = 1542.4000000000028... completed in 5.6 sec
Solving EME: wavelength = 1542.800000000003... completed in 5.4 sec
Solving EME: wavelength = 1543.200000000003... completed in 5.5 sec
Solving EME: wavelength = 1543.600000000003... completed in 5.5 sec
Solving EME: wavelength = 1544.0000000000032... completed in 5.5 sec
Solving EME: wavelength = 1544.4000000000033... completed in 5.5 sec
Solving EME: wavelength = 1544.8000000000034... completed in 5.5 sec
Solving EME: wavelength = 1545.2000000000035... completed in 5.6 sec
Solving EME: wavelength = 1545.6000000000035... completed in 5.5 sec
Solving EME: wavelength = 1546.0000000000036... completed in 5.5 sec
Solving EME: wavelength = 1546.4000000000037... completed in 5.5 sec
Solving EME: wavelength = 1546.8000000000038... completed in 5.6 sec
Solving EME: wavelength = 1547.200000000004... completed in 5.6 sec
Solving EME: wavelength = 1547.600000000004... completed in 5.5 sec
Solving EME: wavelength = 1548.000000000004... completed in 5.6 sec
Solving EME: wavelength = 1548.4000000000042... completed in 5.5 sec
Solving EME: wavelength = 1548.8000000000043... completed in 5.7 sec
Solving EME: wavelength = 1549.2000000000044... completed in 5.5 sec
Solving EME: wavelength = 1549.6000000000045... completed in 5.6 sec
Solving EME: wavelength = 1550.0000000000045... completed in 5.6 sec
Solving EME: wavelength = 1550.4000000000046... completed in 5.6 sec
Solving EME: wavelength = 1550.8000000000047... completed in 5.5 sec
Solving EME: wavelength = 1551.2000000000048... completed in 5.4 sec
Solving EME: wavelength = 1551.600000000005... completed in 5.6 sec
Solving EME: wavelength = 1552.000000000005... completed in 5.5 sec
Solving EME: wavelength = 1552.400000000005... completed in 5.5 sec
Solving EME: wavelength = 1552.8000000000052... completed in 5.5 sec
Solving EME: wavelength = 1553.2000000000053... completed in 5.6 sec
Solving EME: wavelength = 1553.6000000000054... completed in 5.5 sec
Solving EME: wavelength = 1554.0000000000055... completed in 5.6 sec
Solving EME: wavelength = 1554.4000000000055... completed in 5.5 sec
Solving EME: wavelength = 1554.8000000000056... completed in 5.5 sec
Solving EME: wavelength = 1555.2000000000057... completed in 5.5 sec
Solving EME: wavelength = 1555.6000000000058... completed in 5.5 sec
Solving EME: wavelength = 1556.000000000006... completed in 5.5 sec
Solving EME: wavelength = 1556.400000000006... completed in 5.5 sec
Solving EME: wavelength = 1556.800000000006... completed in 5.6 sec
Solving EME: wavelength = 1557.2000000000062... completed in 5.5 sec
Solving EME: wavelength = 1557.6000000000063... completed in 5.5 sec
Solving EME: wavelength = 1558.0000000000064... completed in 5.5 sec
Solving EME: wavelength = 1558.4000000000065... completed in 5.4 sec
Solving EME: wavelength = 1558.8000000000065... completed in 5.5 sec
Solving EME: wavelength = 1559.2000000000066... completed in 5.5 sec
Solving EME: wavelength = 1559.6000000000067... completed in 5.6 sec
Solving EME: wavelength = 1560.0000000000068... completed in 5.4 sec
Solving EME: wavelength = 1560.400000000007... completed in 5.5 sec
Solving EME: wavelength = 1560.800000000007... completed in 5.4 sec
Solving EME: wavelength = 1561.200000000007... completed in 5.6 sec
Solving EME: wavelength = 1561.6000000000072... completed in 5.4 sec
Solving EME: wavelength = 1562.0000000000073... completed in 5.5 sec
Solving EME: wavelength = 1562.4000000000074... completed in 5.5 sec
Solving EME: wavelength = 1562.8000000000075... completed in 5.6 sec
Solving EME: wavelength = 1563.2000000000075... completed in 5.5 sec
Solving EME: wavelength = 1563.6000000000076... completed in 5.6 sec
Solving EME: wavelength = 1564.0000000000077... completed in 5.6 sec
Solving EME: wavelength = 1564.4000000000078... completed in 5.5 sec
Solving EME: wavelength = 1564.800000000008... completed in 5.6 sec
Solving EME: wavelength = 1565.200000000008... completed in 5.5 sec
Solving EME: wavelength = 1565.600000000008... completed in 5.6 sec
Solving EME: wavelength = 1566.0000000000082... completed in 5.5 sec
Solving EME: wavelength = 1566.4000000000083... completed in 5.4 sec
Solving EME: wavelength = 1566.8000000000084... completed in 5.6 sec
Solving EME: wavelength = 1567.2000000000085... completed in 5.6 sec
Solving EME: wavelength = 1567.6000000000085... completed in 5.5 sec
Solving EME: wavelength = 1568.0000000000086... completed in 5.6 sec
Solving EME: wavelength = 1568.4000000000087... completed in 5.6 sec
Solving EME: wavelength = 1568.8000000000088... completed in 5.6 sec
Solving EME: wavelength = 1569.200000000009... completed in 5.6 sec
Solving EME: wavelength = 1569.600000000009... completed in 5.5 sec
Solving EME: wavelength = 1570.000000000009... completed in 5.6 sec
completed in 9 min 18.9 sec
Exited EMode
uniform, 150 periods (47.5 um), 559 s for 101 wavelengths
uniform peak reflection: 0.9092 at 1549.2 nm
coupled-mode theory peak: 0.9152 at 1549.2 nm, tanh^2(kappa L) = 0.9153
largest difference from coupled-mode theory: 0.0540
uniform bandwidth at half maximum: 9.6 nm, coupled-mode theory 10.0 nm
EMode3D 1.0.8 - email
Sweeping setting parameter 'wavelength'...
Solving EME: wavelength = 1530.0... completed in 11.0 sec
Solving EME: wavelength = 1530.4... completed in 11.2 sec
Solving EME: wavelength = 1530.8000000000002... completed in 10.9 sec
Solving EME: wavelength = 1531.2000000000003... completed in 10.9 sec
Solving EME: wavelength = 1531.6000000000004... completed in 10.9 sec
Solving EME: wavelength = 1532.0000000000005... completed in 10.9 sec
Solving EME: wavelength = 1532.4000000000005... completed in 11.0 sec
Solving EME: wavelength = 1532.8000000000006... completed in 10.9 sec
Solving EME: wavelength = 1533.2000000000007... completed in 10.8 sec
Solving EME: wavelength = 1533.6000000000008... completed in 10.9 sec
Solving EME: wavelength = 1534.000000000001... completed in 11.0 sec
Solving EME: wavelength = 1534.400000000001... completed in 11.0 sec
Solving EME: wavelength = 1534.800000000001... completed in 11.0 sec
Solving EME: wavelength = 1535.2000000000012... completed in 11.1 sec
Solving EME: wavelength = 1535.6000000000013... completed in 11.3 sec
Solving EME: wavelength = 1536.0000000000014... completed in 11.3 sec
Solving EME: wavelength = 1536.4000000000015... completed in 11.3 sec
Solving EME: wavelength = 1536.8000000000015... completed in 11.3 sec
Solving EME: wavelength = 1537.2000000000016... completed in 11.3 sec
Solving EME: wavelength = 1537.6000000000017... completed in 11.3 sec
Solving EME: wavelength = 1538.0000000000018... completed in 11.3 sec
Solving EME: wavelength = 1538.400000000002... completed in 11.3 sec
Solving EME: wavelength = 1538.800000000002... completed in 11.3 sec
Solving EME: wavelength = 1539.200000000002... completed in 11.3 sec
Solving EME: wavelength = 1539.6000000000022... completed in 11.3 sec
Solving EME: wavelength = 1540.0000000000023... completed in 11.3 sec
Solving EME: wavelength = 1540.4000000000024... completed in 11.2 sec
Solving EME: wavelength = 1540.8000000000025... completed in 11.4 sec
Solving EME: wavelength = 1541.2000000000025... completed in 11.2 sec
Solving EME: wavelength = 1541.6000000000026... completed in 11.2 sec
Solving EME: wavelength = 1542.0000000000027... completed in 11.2 sec
Solving EME: wavelength = 1542.4000000000028... completed in 11.3 sec
Solving EME: wavelength = 1542.800000000003... completed in 11.2 sec
Solving EME: wavelength = 1543.200000000003... completed in 11.2 sec
Solving EME: wavelength = 1543.600000000003... completed in 11.2 sec
Solving EME: wavelength = 1544.0000000000032... completed in 11.4 sec
Solving EME: wavelength = 1544.4000000000033... completed in 11.4 sec
Solving EME: wavelength = 1544.8000000000034... completed in 11.4 sec
Solving EME: wavelength = 1545.2000000000035... completed in 11.4 sec
Solving EME: wavelength = 1545.6000000000035... completed in 11.2 sec
Solving EME: wavelength = 1546.0000000000036... completed in 11.4 sec
Solving EME: wavelength = 1546.4000000000037... completed in 11.3 sec
Solving EME: wavelength = 1546.8000000000038... completed in 11.2 sec
Solving EME: wavelength = 1547.200000000004... completed in 11.4 sec
Solving EME: wavelength = 1547.600000000004... completed in 11.3 sec
Solving EME: wavelength = 1548.000000000004... completed in 11.4 sec
Solving EME: wavelength = 1548.4000000000042... completed in 11.3 sec
Solving EME: wavelength = 1548.8000000000043... completed in 11.5 sec
Solving EME: wavelength = 1549.2000000000044... completed in 11.4 sec
Solving EME: wavelength = 1549.6000000000045... completed in 11.5 sec
Solving EME: wavelength = 1550.0000000000045... completed in 11.4 sec
Solving EME: wavelength = 1550.4000000000046... completed in 11.4 sec
Solving EME: wavelength = 1550.8000000000047... completed in 11.3 sec
Solving EME: wavelength = 1551.2000000000048... completed in 11.3 sec
Solving EME: wavelength = 1551.600000000005... completed in 11.5 sec
Solving EME: wavelength = 1552.000000000005... completed in 11.4 sec
Solving EME: wavelength = 1552.400000000005... completed in 11.4 sec
Solving EME: wavelength = 1552.8000000000052... completed in 11.3 sec
Solving EME: wavelength = 1553.2000000000053... completed in 11.3 sec
Solving EME: wavelength = 1553.6000000000054... completed in 11.3 sec
Solving EME: wavelength = 1554.0000000000055... completed in 11.4 sec
Solving EME: wavelength = 1554.4000000000055... completed in 11.3 sec
Solving EME: wavelength = 1554.8000000000056... completed in 11.3 sec
Solving EME: wavelength = 1555.2000000000057... completed in 11.2 sec
Solving EME: wavelength = 1555.6000000000058... completed in 11.2 sec
Solving EME: wavelength = 1556.000000000006... completed in 11.2 sec
Solving EME: wavelength = 1556.400000000006... completed in 11.4 sec
Solving EME: wavelength = 1556.800000000006... completed in 11.3 sec
Solving EME: wavelength = 1557.2000000000062... completed in 11.3 sec
Solving EME: wavelength = 1557.6000000000063... completed in 11.2 sec
Solving EME: wavelength = 1558.0000000000064... completed in 11.0 sec
Solving EME: wavelength = 1558.4000000000065... completed in 11.1 sec
Solving EME: wavelength = 1558.8000000000065... completed in 11.1 sec
Solving EME: wavelength = 1559.2000000000066... completed in 11.1 sec
Solving EME: wavelength = 1559.6000000000067... completed in 11.1 sec
Solving EME: wavelength = 1560.0000000000068... completed in 11.1 sec
Solving EME: wavelength = 1560.400000000007... completed in 11.1 sec
Solving EME: wavelength = 1560.800000000007... completed in 11.0 sec
Solving EME: wavelength = 1561.200000000007... completed in 11.3 sec
Solving EME: wavelength = 1561.6000000000072... completed in 10.9 sec
Solving EME: wavelength = 1562.0000000000073... completed in 11.0 sec
Solving EME: wavelength = 1562.4000000000074... completed in 11.1 sec
Solving EME: wavelength = 1562.8000000000075... completed in 11.2 sec
Solving EME: wavelength = 1563.2000000000075... completed in 11.1 sec
Solving EME: wavelength = 1563.6000000000076... completed in 11.1 sec
Solving EME: wavelength = 1564.0000000000077... completed in 11.2 sec
Solving EME: wavelength = 1564.4000000000078... completed in 11.0 sec
Solving EME: wavelength = 1564.800000000008... completed in 11.1 sec
Solving EME: wavelength = 1565.200000000008... completed in 11.2 sec
Solving EME: wavelength = 1565.600000000008... completed in 11.2 sec
Solving EME: wavelength = 1566.0000000000082... completed in 11.1 sec
Solving EME: wavelength = 1566.4000000000083... completed in 11.1 sec
Solving EME: wavelength = 1566.8000000000084... completed in 11.2 sec
Solving EME: wavelength = 1567.2000000000085... completed in 11.2 sec
Solving EME: wavelength = 1567.6000000000085... completed in 11.2 sec
Solving EME: wavelength = 1568.0000000000086... completed in 11.2 sec
Solving EME: wavelength = 1568.4000000000087... completed in 11.2 sec
Solving EME: wavelength = 1568.8000000000088... completed in 11.0 sec
Solving EME: wavelength = 1569.200000000009... completed in 11.1 sec
Solving EME: wavelength = 1569.600000000009... completed in 11.0 sec
Solving EME: wavelength = 1570.000000000009... completed in 11.1 sec
completed in 18 min 51.3 sec
Exited EMode
chirped, 300 periods, period 313 to 321 nm, 1131 s
chirped bandwidth at half maximum: 22.4 nm, peak 0.9186
Figures: