This tutorial demonstrates Meep's ability to compute classical forces via the Maxwell stress tensor (MST). The geometry consists of two identical, parallel, silicon waveguides with square cross section in vacuum. A schematic of the geometry is shown below. Due to the parallel orientation of the waveguides, the two modes can be chosen to be either symmetric or anti-symmetric with respect to an $x$ mirror-symmetry plane between them. As the two waveguides are brought closer and closer together, their modes increasingly couple and give rise to a gradient force that is transverse to the waveguide axis (i.e., in the $x$ direction). This is different from radiation pressure which involves momentum exchange between photons and is longitudinal in nature. An interesting phenomena that occurs for this coupled system is that the force can be tuned to be either attractive or repulsive depending on the relative phase of the modes. This tutorial will demonstrate this effect.
The gradient force on each waveguide arising from the evanescent coupling of the two waveguide modes can be computed analytically:
$$F=-\frac{1}{\omega}\frac{d\omega}{ds}\Bigg\vert_\vec{k}U,$$where $ω$ is the mode frequency of the coupled-waveguide system, $s$ is the separation distance between the parallel waveguides, $k$ is the conserved wave vector and $U$ is the total energy of the electromagnetic fields. By convention, negative and positive values correspond to attractive and repulsive forces, respectively. For more details, see Optics Letters, Vol. 30, pp. 3042-4, 2005. This expression has been shown to be mathematically equivalent to the MST in Optics Express, Vol. 17, pp. 18116-35, 2009. We will verify this result in this tutorial. Note: in this particular example, only the fundamental ODD_Y
mode shows the bidirectional force.
It is convenient to normalize the force in order to work with dimensionless quantities. Since the total power transmitted through the waveguide is $P=v_gU/L$ where $v_g$ is the group velocity, $L$ is the waveguide length, and $U$ is defined as before, we focus instead on the force per unit length per unit power $(F/L)(ac/P)$ where $a$ is the waveguide width and $c$ is the speed of light. This dimensionless quantity enables us to compute both the flux and the force in a single simulation.
The gradient force can be computed using two different methods: (1) using MPB, compute the frequency and group velocity for a given mode over a range of separation distances and then use a centered finite-difference scheme to numerically evaluate the formula from above, and (2) using Meep, directly compute both the gradient force and the power transmitted through the waveguide for the guided mode over the same range of separation distances. This tutorial verifies that (1) and (2) produce equivalent results.
The main component of the script is the function parallel_waveguide(s,xodd)
which computes the Poynting flux and the force given the waveguide separation distance s
and parity of the waveguide mode xodd
. Since the eigenmode frequency is not known apriori, a preliminary Harminv
run is required using a broadband pulsed source. The propagating mode never decays away and the runtime is therefore chosen arbitrarily as 200 time units after the pulsed sources have turned off. Once we have determined the eigenmode frequency, we then replace the Source
with EigenModeSource
to compute: (1) the force on each waveguide due to the mode coupling and (2) the power in the mode. The eigenmode source enables a more efficient mode excitation than simply using a constant-amplitude point/area source.
import meep as mp
import numpy as np
import matplotlib.pyplot as plt
resolution = 30 # pixels/μm
Si = mp.Medium(index=3.45)
dpml = 1.0
pml_layers = [mp.PML(dpml)]
sx = 5
sy = 3
cell = mp.Vector3(sx+2*dpml,sy+2*dpml,0)
a = 1.0 # waveguide width
k_point = mp.Vector3(z=0.5)
fcen = 0.22
df = 0.06
def parallel_waveguide(s,xodd):
geometry = [mp.Block(center=mp.Vector3(-0.5*(s+a)),
size=mp.Vector3(a,a,mp.inf),
material=Si),
mp.Block(center=mp.Vector3(0.5*(s+a)),
size=mp.Vector3(a,a,mp.inf),
material=Si)]
symmetries = [mp.Mirror(mp.X, phase=-1.0 if xodd else 1.0),
mp.Mirror(mp.Y, phase=-1.0)]
sources = [mp.Source(src=mp.GaussianSource(fcen, fwidth=df),
component=mp.Ey,
center=mp.Vector3(-0.5*(s+a)),
size=mp.Vector3(a,a)),
mp.Source(src=mp.GaussianSource(fcen, fwidth=df),
component=mp.Ey,
center=mp.Vector3(0.5*(s+a)),
size=mp.Vector3(a,a),
amplitude=-1.0 if xodd else 1.0)]
sim = mp.Simulation(resolution=resolution,
cell_size=cell,
boundary_layers=pml_layers,
geometry=geometry,
symmetries=symmetries,
k_point=k_point,
sources=sources)
h = mp.Harminv(mp.Ey, mp.Vector3(0.5*(s+a)), fcen, df)
sim.run(mp.after_sources(h), until_after_sources=200)
f = h.modes[0].freq
print("freq:, {}, {}".format(s, f))
sim.reset_meep()
eig_sources = [mp.EigenModeSource(src=mp.GaussianSource(f, fwidth=df),
size=mp.Vector3(a,a),
center=mp.Vector3(-0.5*(s+a)),
eig_kpoint=k_point,
eig_match_freq=True,
eig_parity=mp.ODD_Y),
mp.EigenModeSource(src=mp.GaussianSource(f, fwidth=df),
size=mp.Vector3(a,a),
center=mp.Vector3(0.5*(s+a)),
eig_kpoint=k_point,
eig_match_freq=True,
eig_parity=mp.ODD_Y,
amplitude=-1.0 if xodd else 1.0)]
sim.change_sources(eig_sources)
flux_reg = mp.FluxRegion(direction=mp.Z, center=mp.Vector3(), size=mp.Vector3(1.2*(2*a+s),1.2*a))
wvg_flux = sim.add_flux(f, 0, 1, flux_reg)
force_reg1 = mp.ForceRegion(mp.Vector3(0.5*s), direction=mp.X, weight=1.0, size=mp.Vector3(y=a))
force_reg2 = mp.ForceRegion(mp.Vector3(0.5*s+a), direction=mp.X, weight=-1.0, size=mp.Vector3(y=a))
wvg_force = sim.add_force(f, 0, 1, force_reg1, force_reg2)
sim.run(until_after_sources=500)
flux = mp.get_fluxes(wvg_flux)[0]
force = mp.get_forces(wvg_force)[0]
sim.reset_meep()
return flux, force
There are two important items to note in parallel_waveguide
: (1) a single flux surface is used to compute the Poynting flux in $z$ which spans an area slightly larger than both waveguides rather than two separate flux surfaces (one for each waveguide). This is because in the limit of small separation, two flux surfaces overlap whereas the total power through a single flux surface need, by symmetry, only be halved in order to determine the value for just one of the two waveguides. (2) Instead of defining a closed, four-sided "box" surrounding the waveguides, the MST is computed along just two $y$-oriented lines (to obtain the force in the $x$ direction) with different weight
values to correctly sum the total force. By symmetry, the force in the $y$ direction is zero and need not be computed. Choosing a suitable runtime requires some care. A large runtime is necessary to obtain the steady-state response but this will also lead to large values for the discrete Fourier-transformed fields used to compute both the flux and the MST. Large floating-point numbers may contain roundoff errors.
The simulation is run over the range of separation distances from 0.1 to 1.00 μm in increments of 0.1 μm. The results are compared with those from MPB. This is shown in the figure above. The two methods show good agreement.
s = np.arange(0.1,1.1,0.1)
fluxes_odd = np.zeros(s.size)
forces_odd = np.zeros(s.size)
fluxes_even = np.zeros(s.size)
forces_even = np.zeros(s.size)
for k in range(len(s)):
fluxes_odd[k], forces_odd[k] = parallel_waveguide(s[k],True)
fluxes_even[k], forces_even[k] = parallel_waveguide(s[k],False)
----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00360179 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0422099 s ----------- Meep: using complex fields. Meep progress: 89.8/366.6666717529297 = 24.5% done in 4.0s, 12.3s to go on time step 5388 (time=89.8), 0.000742406 s/step Meep progress: 181.51666666666665/366.6666717529297 = 49.5% done in 8.0s, 8.2s to go on time step 10892 (time=181.533), 0.000726833 s/step Meep progress: 270.9166666666667/366.6666717529297 = 73.9% done in 12.0s, 4.2s to go on time step 16257 (time=270.95), 0.000745663 s/step Meep progress: 354.48333333333335/366.6666717529297 = 96.7% done in 16.0s, 0.5s to go on time step 21271 (time=354.517), 0.000797836 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.23374229564948107, -2.0370530376107446e-09, 57372658.27983471, 0.5614173140056927, -0.5571968483946811-0.068710061886171i, 2.1803102586228e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.1, 0.23374229564948107 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00125718 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0901592 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.770525) = 0.233378 after 12 iters MPB solved for omega_1(0,0,0.77174) = 0.233742 after 7 iters MPB solved for omega_1(0,0,0.77174) = 0.233742 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.770525) = 0.233378 after 12 iters MPB solved for omega_1(0,0,0.77174) = 0.233742 after 7 iters MPB solved for omega_1(0,0,0.77174) = 0.233742 after 1 iters Meep progress: 67.25/666.6666717529297 = 10.1% done in 4.0s, 35.7s to go on time step 4035 (time=67.25), 0.000991493 s/step Meep progress: 140.25/666.6666717529297 = 21.0% done in 8.0s, 30.0s to go on time step 8416 (time=140.267), 0.000913247 s/step Meep progress: 216.48333333333332/666.6666717529297 = 32.5% done in 12.0s, 25.0s to go on time step 12991 (time=216.517), 0.000874406 s/step Meep progress: 296.48333333333335/666.6666717529297 = 44.5% done in 16.0s, 20.0s to go on time step 17792 (time=296.533), 0.000833313 s/step Meep progress: 373.5333333333333/666.6666717529297 = 56.0% done in 20.0s, 15.7s to go on time step 22416 (time=373.6), 0.000865156 s/step Meep progress: 448.8333333333333/666.6666717529297 = 67.3% done in 24.0s, 11.6s to go on time step 26934 (time=448.9), 0.0008854 s/step Meep progress: 524.1833333333333/666.6666717529297 = 78.6% done in 28.0s, 7.6s to go on time step 31456 (time=524.267), 0.000884651 s/step Meep progress: 597.2166666666667/666.6666717529297 = 89.6% done in 32.0s, 3.7s to go on time step 35838 (time=597.3), 0.000912972 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000809908 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.041292 s ----------- Meep: using complex fields. Meep progress: 76.8/366.6666717529297 = 20.9% done in 4.0s, 15.1s to go on time step 4608 (time=76.8), 0.000868207 s/step Meep progress: 155.05/366.6666717529297 = 42.3% done in 8.0s, 10.9s to go on time step 9303 (time=155.05), 0.000851982 s/step Meep progress: 229.95/366.6666717529297 = 62.7% done in 12.0s, 7.1s to go on time step 13798 (time=229.967), 0.000889992 s/step Meep progress: 306.5/366.6666717529297 = 83.6% done in 16.0s, 3.1s to go on time step 18392 (time=306.533), 0.000870906 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.21431032766411273, 2.2288228830156038e-08, -4807702.067697506, 1.039871452917814, -0.6677554036974251-0.7971419945193543i, 3.6265822866835364e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.1, 0.21431032766411273 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00142908 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.55,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0933309 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.706244) = 0.214102 after 11 iters MPB solved for omega_1(0,0,0.706937) = 0.21431 after 6 iters MPB solved for omega_1(0,0,0.706937) = 0.21431 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.706244) = 0.214102 after 11 iters MPB solved for omega_1(0,0,0.706937) = 0.21431 after 6 iters MPB solved for omega_1(0,0,0.706937) = 0.21431 after 1 iters Meep progress: 69.61666666666666/666.6666717529297 = 10.4% done in 4.0s, 34.3s to go on time step 4177 (time=69.6167), 0.000957769 s/step Meep progress: 143.38333333333333/666.6666717529297 = 21.5% done in 8.0s, 29.2s to go on time step 8603 (time=143.383), 0.000903772 s/step Meep progress: 217.31666666666666/666.6666717529297 = 32.6% done in 12.0s, 24.8s to go on time step 13039 (time=217.317), 0.000901732 s/step Meep progress: 282.18333333333334/666.6666717529297 = 42.3% done in 16.0s, 21.8s to go on time step 16931 (time=282.183), 0.00102796 s/step Meep progress: 352.1333333333333/666.6666717529297 = 52.8% done in 20.0s, 17.9s to go on time step 21128 (time=352.133), 0.000953083 s/step Meep progress: 423.59999999999997/666.6666717529297 = 63.5% done in 24.0s, 13.8s to go on time step 25417 (time=423.617), 0.000932828 s/step Meep progress: 493.98333333333335/666.6666717529297 = 74.1% done in 28.0s, 9.8s to go on time step 29640 (time=494), 0.000947254 s/step Meep progress: 565.4166666666666/666.6666717529297 = 84.8% done in 32.0s, 5.7s to go on time step 33927 (time=565.45), 0.000933248 s/step Meep progress: 634.6666666666666/666.6666717529297 = 95.2% done in 36.0s, 1.8s to go on time step 38082 (time=634.7), 0.000962784 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00139594 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0331678 s ----------- Meep: using complex fields. Meep progress: 73.96666666666667/366.6666717529297 = 20.2% done in 4.0s, 15.8s to go on time step 4438 (time=73.9667), 0.000901337 s/step Meep progress: 148.65/366.6666717529297 = 40.5% done in 8.0s, 11.7s to go on time step 8920 (time=148.667), 0.000892644 s/step Meep progress: 218.96666666666667/366.6666717529297 = 59.7% done in 12.0s, 8.1s to go on time step 13140 (time=219), 0.000947903 s/step Meep progress: 291.5/366.6666717529297 = 79.5% done in 16.0s, 4.1s to go on time step 17490 (time=291.5), 0.000919692 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.2320582072289672, -7.187375062052522e-10, 161434602.49777028, 0.7086613397470293, -0.3801627466619353-0.5980611845810657i, 1.4487929164079128e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.2, 0.2320582072289672 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00135493 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.062665 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.763839) = 0.231711 after 10 iters MPB solved for omega_1(0,0,0.764994) = 0.232058 after 6 iters MPB solved for omega_1(0,0,0.764994) = 0.232058 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.763839) = 0.231711 after 10 iters MPB solved for omega_1(0,0,0.764994) = 0.232058 after 6 iters MPB solved for omega_1(0,0,0.764994) = 0.232058 after 1 iters Meep progress: 67.28333333333333/666.6666717529297 = 10.1% done in 4.0s, 35.6s to go on time step 4037 (time=67.2833), 0.000991073 s/step Meep progress: 136.85/666.6666717529297 = 20.5% done in 8.0s, 31.0s to go on time step 8212 (time=136.867), 0.000958243 s/step Meep progress: 204.4/666.6666717529297 = 30.7% done in 12.0s, 27.1s to go on time step 12266 (time=204.433), 0.000986883 s/step Meep progress: 276.31666666666666/666.6666717529297 = 41.4% done in 16.0s, 22.6s to go on time step 16582 (time=276.367), 0.00092685 s/step Meep progress: 349.68333333333334/666.6666717529297 = 52.5% done in 20.0s, 18.1s to go on time step 20985 (time=349.75), 0.000908581 s/step Meep progress: 414.0/666.6666717529297 = 62.1% done in 24.0s, 14.6s to go on time step 24843 (time=414.05), 0.00103698 s/step Meep progress: 479.25/666.6666717529297 = 71.9% done in 28.0s, 11.0s to go on time step 28760 (time=479.333), 0.00102126 s/step Meep progress: 551.0166666666667/666.6666717529297 = 82.7% done in 32.0s, 6.7s to go on time step 33067 (time=551.117), 0.000928792 s/step Meep progress: 621.55/666.6666717529297 = 93.2% done in 36.0s, 2.6s to go on time step 37300 (time=621.667), 0.000945015 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000916958 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.036346 s ----------- Meep: using complex fields. Meep progress: 74.08333333333333/366.6666717529297 = 20.2% done in 4.0s, 15.8s to go on time step 4445 (time=74.0833), 0.000900018 s/step Meep progress: 151.0/366.6666717529297 = 41.2% done in 8.0s, 11.4s to go on time step 9060 (time=151), 0.000866776 s/step Meep progress: 225.86666666666667/366.6666717529297 = 61.6% done in 12.0s, 7.5s to go on time step 13553 (time=225.883), 0.000890371 s/step Meep progress: 300.5333333333333/366.6666717529297 = 82.0% done in 16.0s, 3.5s to go on time step 18034 (time=300.567), 0.000892781 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.21791380596839446, 2.7123554007306713e-08, -4017058.4929558174, 1.2908281667923203, -0.682733883317874+1.095496143650957i, 2.1644312073604896e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.2, 0.21791380596839446 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00139999 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.6,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0790112 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.717117) = 0.217682 after 10 iters MPB solved for omega_1(0,0,0.717889) = 0.217914 after 6 iters MPB solved for omega_1(0,0,0.717889) = 0.217914 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.717117) = 0.217682 after 10 iters MPB solved for omega_1(0,0,0.717889) = 0.217914 after 6 iters MPB solved for omega_1(0,0,0.717889) = 0.217914 after 1 iters Meep progress: 68.16666666666667/666.6666717529297 = 10.2% done in 4.0s, 35.1s to go on time step 4090 (time=68.1667), 0.000978039 s/step Meep progress: 141.76666666666665/666.6666717529297 = 21.3% done in 8.0s, 29.6s to go on time step 8507 (time=141.783), 0.000905737 s/step Meep progress: 215.56666666666666/666.6666717529297 = 32.3% done in 12.0s, 25.1s to go on time step 12936 (time=215.6), 0.000903317 s/step Meep progress: 288.65/666.6666717529297 = 43.3% done in 16.0s, 21.0s to go on time step 17322 (time=288.7), 0.00091215 s/step Meep progress: 361.1666666666667/666.6666717529297 = 54.2% done in 20.0s, 16.9s to go on time step 21673 (time=361.217), 0.000919449 s/step Meep progress: 428.95/666.6666717529297 = 64.3% done in 24.0s, 13.3s to go on time step 25741 (time=429.017), 0.000983401 s/step Meep progress: 501.3666666666667/666.6666717529297 = 75.2% done in 28.0s, 9.2s to go on time step 30087 (time=501.45), 0.00092055 s/step Meep progress: 572.0833333333334/666.6666717529297 = 85.8% done in 32.0s, 5.3s to go on time step 34330 (time=572.167), 0.00094273 s/step Meep progress: 644.15/666.6666717529297 = 96.6% done in 36.0s, 1.3s to go on time step 38654 (time=644.233), 0.000925083 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000869036 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.036432 s ----------- Meep: using complex fields. Meep progress: 78.8/366.6666717529297 = 21.5% done in 4.0s, 14.6s to go on time step 4728 (time=78.8), 0.000846042 s/step Meep progress: 160.58333333333334/366.6666717529297 = 43.8% done in 8.0s, 10.3s to go on time step 9635 (time=160.583), 0.000815166 s/step Meep progress: 241.01666666666665/366.6666717529297 = 65.7% done in 12.0s, 6.3s to go on time step 14462 (time=241.033), 0.000828869 s/step Meep progress: 319.76666666666665/366.6666717529297 = 87.2% done in 16.0s, 2.3s to go on time step 19188 (time=319.8), 0.00084651 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.2304584794221163, 1.0634248187984447e-09, -108356733.52184385, 0.8547952870601584, 0.22921259365443036-0.8234904794170165i, 2.6330486575457057e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.30000000000000004, 0.2304584794221163 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00135112 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.08955 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.759662) = 0.230124 after 12 iters MPB solved for omega_1(0,0,0.760778) = 0.230458 after 7 iters MPB solved for omega_1(0,0,0.760778) = 0.230458 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.759662) = 0.230124 after 12 iters MPB solved for omega_1(0,0,0.760778) = 0.230458 after 7 iters MPB solved for omega_1(0,0,0.760778) = 0.230458 after 1 iters Meep progress: 68.21666666666667/666.6666717529297 = 10.2% done in 4.0s, 35.1s to go on time step 4093 (time=68.2167), 0.000977362 s/step Meep progress: 140.58333333333334/666.6666717529297 = 21.1% done in 8.0s, 29.9s to go on time step 8436 (time=140.6), 0.000921178 s/step Meep progress: 212.9/666.6666717529297 = 31.9% done in 12.0s, 25.6s to go on time step 12776 (time=212.933), 0.000921829 s/step Meep progress: 285.23333333333335/666.6666717529297 = 42.8% done in 16.0s, 21.4s to go on time step 17117 (time=285.283), 0.000921618 s/step Meep progress: 357.55/666.6666717529297 = 53.6% done in 20.0s, 17.3s to go on time step 21456 (time=357.6), 0.000921966 s/step Meep progress: 429.8833333333333/666.6666717529297 = 64.5% done in 24.0s, 13.2s to go on time step 25797 (time=429.95), 0.000921627 s/step Meep progress: 501.06666666666666/666.6666717529297 = 75.2% done in 28.0s, 9.3s to go on time step 30068 (time=501.133), 0.000936582 s/step Meep progress: 572.2333333333333/666.6666717529297 = 85.8% done in 32.0s, 5.3s to go on time step 34338 (time=572.3), 0.000936924 s/step Meep progress: 640.2166666666667/666.6666717529297 = 96.0% done in 36.0s, 1.5s to go on time step 38418 (time=640.3), 0.000980588 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00100088 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0405252 s ----------- Meep: using complex fields. Meep progress: 77.73333333333333/366.6666717529297 = 21.2% done in 4.0s, 14.9s to go on time step 4664 (time=77.7333), 0.000857717 s/step Meep progress: 159.16666666666666/366.6666717529297 = 43.4% done in 8.0s, 10.4s to go on time step 9551 (time=159.183), 0.000818637 s/step Meep progress: 238.26666666666665/366.6666717529297 = 65.0% done in 12.0s, 6.5s to go on time step 14297 (time=238.283), 0.000842858 s/step Meep progress: 314.65/366.6666717529297 = 85.8% done in 16.0s, 2.6s to go on time step 18880 (time=314.667), 0.000872816 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22023544575691004, 1.635141607559094e-08, -6734445.651030586, 1.3719341569438452, 0.8394390852055893+1.0851476181692623i, 9.647466233746446e-14+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.30000000000000004, 0.22023544575691004 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00134397 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.65,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.087333 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.725844) = 0.219985 after 11 iters MPB solved for omega_1(0,0,0.72668) = 0.220235 after 6 iters MPB solved for omega_1(0,0,0.72668) = 0.220235 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.725844) = 0.219985 after 11 iters MPB solved for omega_1(0,0,0.72668) = 0.220235 after 6 iters MPB solved for omega_1(0,0,0.72668) = 0.220235 after 1 iters Meep progress: 64.31666666666666/666.6666717529297 = 9.6% done in 4.0s, 37.5s to go on time step 3859 (time=64.3167), 0.00103667 s/step Meep progress: 131.16666666666666/666.6666717529297 = 19.7% done in 8.0s, 32.7s to go on time step 7870 (time=131.167), 0.000997371 s/step Meep progress: 198.25/666.6666717529297 = 29.7% done in 12.0s, 28.4s to go on time step 11896 (time=198.267), 0.000993774 s/step Meep progress: 269.68333333333334/666.6666717529297 = 40.5% done in 16.0s, 23.6s to go on time step 16182 (time=269.7), 0.000933308 s/step Meep progress: 340.05/666.6666717529297 = 51.0% done in 20.0s, 19.2s to go on time step 20405 (time=340.083), 0.000947318 s/step Meep progress: 405.23333333333335/666.6666717529297 = 60.8% done in 24.0s, 15.5s to go on time step 24316 (time=405.267), 0.00102289 s/step Meep progress: 474.01666666666665/666.6666717529297 = 71.1% done in 28.0s, 11.4s to go on time step 28444 (time=474.067), 0.000969117 s/step Meep progress: 540.7166666666667/666.6666717529297 = 81.1% done in 32.0s, 7.5s to go on time step 32447 (time=540.783), 0.000999418 s/step Meep progress: 608.7166666666667/666.6666717529297 = 91.3% done in 36.0s, 3.4s to go on time step 36528 (time=608.8), 0.000980248 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000908852 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.036809 s ----------- Meep: using complex fields. Meep progress: 64.98333333333333/366.6666717529297 = 17.7% done in 4.0s, 18.6s to go on time step 3899 (time=64.9833), 0.00102599 s/step Meep progress: 142.76666666666665/366.6666717529297 = 38.9% done in 8.0s, 12.5s to go on time step 8566 (time=142.767), 0.000857144 s/step Meep progress: 216.78333333333333/366.6666717529297 = 59.1% done in 12.0s, 8.3s to go on time step 13008 (time=216.8), 0.000900648 s/step Meep progress: 292.1666666666667/366.6666717529297 = 79.7% done in 16.0s, 4.1s to go on time step 17532 (time=292.2), 0.000884238 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22933726326384737, 2.79426147240498e-09, -41037187.38004503, 0.9591142558886121, 0.7259793855459205-0.6267807332800953i, 5.574464349569071e-14+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.4, 0.22933726326384737 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.0013938 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.091202 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.754851) = 0.229014 after 10 iters MPB solved for omega_1(0,0,0.755926) = 0.229337 after 6 iters MPB solved for omega_1(0,0,0.755926) = 0.229337 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.754851) = 0.229014 after 10 iters MPB solved for omega_1(0,0,0.755926) = 0.229337 after 6 iters MPB solved for omega_1(0,0,0.755926) = 0.229337 after 1 iters Meep progress: 57.11666666666667/666.6666717529297 = 8.6% done in 4.0s, 42.7s to go on time step 3427 (time=57.1167), 0.00116738 s/step Meep progress: 115.03333333333333/666.6666717529297 = 17.3% done in 8.0s, 38.4s to go on time step 6902 (time=115.033), 0.00115118 s/step Meep progress: 181.56666666666666/666.6666717529297 = 27.2% done in 12.0s, 32.1s to go on time step 10894 (time=181.567), 0.0010022 s/step Meep progress: 246.36666666666667/666.6666717529297 = 37.0% done in 16.0s, 27.3s to go on time step 14783 (time=246.383), 0.00102871 s/step Meep progress: 311.75/666.6666717529297 = 46.8% done in 20.0s, 22.8s to go on time step 18706 (time=311.767), 0.00101967 s/step Meep progress: 379.15/666.6666717529297 = 56.9% done in 24.0s, 18.2s to go on time step 22750 (time=379.167), 0.000989141 s/step Meep progress: 447.96666666666664/666.6666717529297 = 67.2% done in 28.0s, 13.7s to go on time step 26880 (time=448), 0.000968637 s/step Meep progress: 518.35/666.6666717529297 = 77.8% done in 32.0s, 9.2s to go on time step 31103 (time=518.383), 0.000947198 s/step Meep progress: 586.1/666.6666717529297 = 87.9% done in 36.0s, 4.9s to go on time step 35168 (time=586.133), 0.000984087 s/step Meep progress: 651.35/666.6666717529297 = 97.7% done in 40.0s, 0.9s to go on time step 39083 (time=651.383), 0.00102175 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000927925 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.03809 s ----------- Meep: using complex fields. Meep progress: 74.51666666666667/366.6666717529297 = 20.3% done in 4.0s, 15.7s to go on time step 4471 (time=74.5167), 0.000894717 s/step Meep progress: 154.1/366.6666717529297 = 42.0% done in 8.0s, 11.0s to go on time step 9247 (time=154.117), 0.00083769 s/step Meep progress: 230.6/366.6666717529297 = 62.9% done in 12.0s, 7.1s to go on time step 13838 (time=230.633), 0.000871328 s/step Meep progress: 308.26666666666665/366.6666717529297 = 84.1% done in 16.0s, 3.0s to go on time step 18499 (time=308.317), 0.000858298 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22192961434798275, 2.2238819996785375e-09, -49896895.24445602, 1.3811826261105158, 1.3807432587120034+0.03483532963671006i, 1.7205571155532076e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.4, 0.22192961434798275 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00138497 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.7,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0894089 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.730382) = 0.221667 after 10 iters MPB solved for omega_1(0,0,0.731255) = 0.22193 after 6 iters MPB solved for omega_1(0,0,0.731255) = 0.22193 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.730382) = 0.221667 after 10 iters MPB solved for omega_1(0,0,0.731255) = 0.22193 after 6 iters MPB solved for omega_1(0,0,0.731255) = 0.22193 after 1 iters Meep progress: 64.7/666.6666717529297 = 9.7% done in 4.0s, 37.2s to go on time step 3882 (time=64.7), 0.00103063 s/step Meep progress: 130.3/666.6666717529297 = 19.5% done in 8.0s, 32.9s to go on time step 7819 (time=130.317), 0.00101616 s/step Meep progress: 195.48333333333332/666.6666717529297 = 29.3% done in 12.0s, 28.9s to go on time step 11730 (time=195.5), 0.00102293 s/step Meep progress: 264.5833333333333/666.6666717529297 = 39.7% done in 16.0s, 24.3s to go on time step 15877 (time=264.617), 0.000964712 s/step Meep progress: 333.01666666666665/666.6666717529297 = 50.0% done in 20.0s, 20.0s to go on time step 19983 (time=333.05), 0.000974242 s/step Meep progress: 402.6166666666667/666.6666717529297 = 60.4% done in 24.0s, 15.7s to go on time step 24160 (time=402.667), 0.000957755 s/step Meep progress: 470.3666666666667/666.6666717529297 = 70.6% done in 28.0s, 11.7s to go on time step 28223 (time=470.383), 0.000985074 s/step Meep progress: 536.35/666.6666717529297 = 80.5% done in 32.0s, 7.8s to go on time step 32185 (time=536.417), 0.0010097 s/step Meep progress: 599.6166666666667/666.6666717529297 = 89.9% done in 36.0s, 4.0s to go on time step 35982 (time=599.7), 0.00105374 s/step Meep progress: 659.3333333333334/666.6666717529297 = 98.9% done in 40.0s, 0.4s to go on time step 39565 (time=659.417), 0.00111639 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000865936 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.040071 s ----------- Meep: using complex fields. Meep progress: 68.25/366.6666717529297 = 18.6% done in 4.0s, 17.5s to go on time step 4095 (time=68.25), 0.000976983 s/step Meep progress: 143.75/366.6666717529297 = 39.2% done in 8.0s, 12.4s to go on time step 8625 (time=143.75), 0.000883045 s/step Meep progress: 221.43333333333334/366.6666717529297 = 60.4% done in 12.0s, 7.9s to go on time step 13287 (time=221.45), 0.000858078 s/step Meep progress: 298.5833333333333/366.6666717529297 = 81.4% done in 16.0s, 3.6s to go on time step 17917 (time=298.617), 0.00086411 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22835035053721117, 4.685319627884293e-09, -24368705.7312166, 1.0451771206496243, 1.0252873926430903-0.2029309636713261i, 2.7856797013746015e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.5, 0.22835035053721117 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00148392 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0936301 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.752688) = 0.228034 after 12 iters MPB solved for omega_1(0,0,0.753743) = 0.22835 after 7 iters MPB solved for omega_1(0,0,0.753743) = 0.22835 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.752688) = 0.228034 after 12 iters MPB solved for omega_1(0,0,0.753743) = 0.22835 after 7 iters MPB solved for omega_1(0,0,0.753743) = 0.22835 after 1 iters Meep progress: 65.31666666666666/666.6666717529297 = 9.8% done in 4.0s, 36.8s to go on time step 3919 (time=65.3167), 0.00102092 s/step Meep progress: 132.61666666666667/666.6666717529297 = 19.9% done in 8.0s, 32.2s to go on time step 7958 (time=132.633), 0.000990575 s/step Meep progress: 201.06666666666666/666.6666717529297 = 30.2% done in 12.0s, 27.8s to go on time step 12065 (time=201.083), 0.000974086 s/step Meep progress: 264.2833333333333/666.6666717529297 = 39.6% done in 16.0s, 24.4s to go on time step 15858 (time=264.3), 0.00105464 s/step Meep progress: 328.9/666.6666717529297 = 49.3% done in 20.0s, 20.5s to go on time step 19735 (time=328.917), 0.00103181 s/step Meep progress: 390.4/666.6666717529297 = 58.6% done in 24.0s, 17.0s to go on time step 23427 (time=390.45), 0.00108362 s/step Meep progress: 450.73333333333335/666.6666717529297 = 67.6% done in 28.0s, 13.4s to go on time step 27047 (time=450.783), 0.001105 s/step Meep progress: 509.4166666666667/666.6666717529297 = 76.4% done in 32.0s, 9.9s to go on time step 30568 (time=509.467), 0.00113631 s/step Meep progress: 573.25/666.6666717529297 = 86.0% done in 36.0s, 5.9s to go on time step 34400 (time=573.333), 0.00104404 s/step Meep progress: 641.2833333333333/666.6666717529297 = 96.2% done in 40.0s, 1.6s to go on time step 38483 (time=641.383), 0.000979924 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000879049 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.041075 s ----------- Meep: using complex fields. Meep progress: 68.18333333333334/366.6666717529297 = 18.6% done in 4.0s, 17.5s to go on time step 4091 (time=68.1833), 0.000977879 s/step Meep progress: 137.38333333333333/366.6666717529297 = 37.5% done in 8.0s, 13.4s to go on time step 8244 (time=137.4), 0.000963344 s/step Meep progress: 208.11666666666667/366.6666717529297 = 56.8% done in 12.0s, 9.1s to go on time step 12488 (time=208.133), 0.000942547 s/step Meep progress: 278.71666666666664/366.6666717529297 = 76.0% done in 16.0s, 5.0s to go on time step 16725 (time=278.75), 0.000944156 s/step Meep progress: 350.8333333333333/366.6666717529297 = 95.7% done in 20.0s, 0.9s to go on time step 21053 (time=350.883), 0.000924314 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22298117105327928, -8.416854523898624e-09, 13246110.55235371, 1.362712783673582, 1.1788975604245882-0.6835105506225614i, 7.22252727711167e-14+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.5, 0.22298117105327928 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.001441 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.75,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0880821 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.734927) = 0.222709 after 11 iters MPB solved for omega_1(0,0,0.735834) = 0.222981 after 6 iters MPB solved for omega_1(0,0,0.735834) = 0.222981 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.734927) = 0.222709 after 11 iters MPB solved for omega_1(0,0,0.735834) = 0.222981 after 6 iters MPB solved for omega_1(0,0,0.735834) = 0.222981 after 1 iters Meep progress: 64.91666666666667/666.6666717529297 = 9.7% done in 4.0s, 37.1s to go on time step 3895 (time=64.9167), 0.00102715 s/step Meep progress: 129.71666666666667/666.6666717529297 = 19.5% done in 8.0s, 33.1s to go on time step 7784 (time=129.733), 0.00102878 s/step Meep progress: 195.51666666666665/666.6666717529297 = 29.3% done in 12.0s, 28.9s to go on time step 11733 (time=195.55), 0.00101313 s/step Meep progress: 261.93333333333334/666.6666717529297 = 39.3% done in 16.0s, 24.7s to go on time step 15719 (time=261.983), 0.00100375 s/step Meep progress: 320.31666666666666/666.6666717529297 = 48.0% done in 20.0s, 21.6s to go on time step 19223 (time=320.383), 0.00114178 s/step Meep progress: 385.25/666.6666717529297 = 57.8% done in 24.0s, 17.5s to go on time step 23120 (time=385.333), 0.00102654 s/step Meep progress: 452.6333333333333/666.6666717529297 = 67.9% done in 28.0s, 13.2s to go on time step 27163 (time=452.717), 0.000989575 s/step Meep progress: 518.1333333333333/666.6666717529297 = 77.7% done in 32.0s, 9.2s to go on time step 31094 (time=518.233), 0.00101761 s/step Meep progress: 586.7833333333333/666.6666717529297 = 88.0% done in 36.0s, 4.9s to go on time step 35213 (time=586.883), 0.000971111 s/step Meep progress: 655.5833333333334/666.6666717529297 = 98.3% done in 40.0s, 0.7s to go on time step 39342 (time=655.7), 0.000968887 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000882864 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.038204 s ----------- Meep: using complex fields. Meep progress: 75.48333333333333/366.6666717529297 = 20.6% done in 4.0s, 15.4s to go on time step 4529 (time=75.4833), 0.000883389 s/step Meep progress: 151.2/366.6666717529297 = 41.2% done in 8.0s, 11.4s to go on time step 9072 (time=151.2), 0.000880533 s/step Meep progress: 222.35/366.6666717529297 = 60.6% done in 12.0s, 7.8s to go on time step 13342 (time=222.367), 0.000936968 s/step Meep progress: 296.05/366.6666717529297 = 80.7% done in 16.0s, 3.8s to go on time step 17765 (time=296.083), 0.000904528 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.2277481607926663, 6.590783575316441e-09, -17277775.71437942, 1.0971848191249656, 1.089302838353774+0.13127777295755527i, 1.5429683557892107e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.6, 0.2277481607926663 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.0014081 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0927281 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.749602) = 0.227439 after 10 iters MPB solved for omega_1(0,0,0.750632) = 0.227748 after 6 iters MPB solved for omega_1(0,0,0.750632) = 0.227748 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.749602) = 0.227439 after 10 iters MPB solved for omega_1(0,0,0.750632) = 0.227748 after 6 iters MPB solved for omega_1(0,0,0.750632) = 0.227748 after 1 iters Meep progress: 64.96666666666667/666.6666717529297 = 9.7% done in 4.0s, 37.1s to go on time step 3898 (time=64.9667), 0.00102628 s/step Meep progress: 133.61666666666667/666.6666717529297 = 20.0% done in 8.0s, 31.9s to go on time step 8018 (time=133.633), 0.000971055 s/step Meep progress: 202.26666666666665/666.6666717529297 = 30.3% done in 12.0s, 27.6s to go on time step 12138 (time=202.3), 0.000971013 s/step Meep progress: 267.01666666666665/666.6666717529297 = 40.1% done in 16.0s, 23.9s to go on time step 16023 (time=267.05), 0.00102969 s/step Meep progress: 332.71666666666664/666.6666717529297 = 49.9% done in 20.0s, 20.1s to go on time step 19965 (time=332.75), 0.00101474 s/step Meep progress: 394.5333333333333/666.6666717529297 = 59.2% done in 24.0s, 16.6s to go on time step 23673 (time=394.55), 0.00107889 s/step Meep progress: 459.5/666.6666717529297 = 68.9% done in 28.0s, 12.6s to go on time step 27573 (time=459.55), 0.00102586 s/step Meep progress: 524.3166666666666/666.6666717529297 = 78.6% done in 32.0s, 8.7s to go on time step 31463 (time=524.383), 0.00102848 s/step Meep progress: 586.0166666666667/666.6666717529297 = 87.9% done in 36.0s, 5.0s to go on time step 35165 (time=586.083), 0.00108059 s/step Meep progress: 648.8333333333334/666.6666717529297 = 97.3% done in 40.0s, 1.1s to go on time step 38935 (time=648.917), 0.00106121 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000964165 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.037488 s ----------- Meep: using complex fields. Meep progress: 72.78333333333333/366.6666717529297 = 19.8% done in 4.0s, 16.2s to go on time step 4367 (time=72.7833), 0.000916042 s/step Meep progress: 147.68333333333334/366.6666717529297 = 40.3% done in 8.0s, 11.9s to go on time step 8861 (time=147.683), 0.000890112 s/step Meep progress: 222.21666666666667/366.6666717529297 = 60.6% done in 12.0s, 7.8s to go on time step 13334 (time=222.233), 0.000894323 s/step Meep progress: 295.8333333333333/366.6666717529297 = 80.7% done in 16.0s, 3.8s to go on time step 17751 (time=295.85), 0.000905646 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22384199660227042, -1.78395891602329e-08, 6273743.038355602, 1.3369127292696077, 0.7489076806970392-1.1074623837747686i, 1.5386734780049519e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.6, 0.22384199660227042 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00150204 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.8,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0955219 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.736699) = 0.223565 after 10 iters MPB solved for omega_1(0,0,0.737622) = 0.223842 after 6 iters MPB solved for omega_1(0,0,0.737622) = 0.223842 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.736699) = 0.223565 after 10 iters MPB solved for omega_1(0,0,0.737622) = 0.223842 after 6 iters MPB solved for omega_1(0,0,0.737622) = 0.223842 after 1 iters Meep progress: 64.53333333333333/666.6666717529297 = 9.7% done in 4.0s, 37.3s to go on time step 3872 (time=64.5333), 0.00103314 s/step Meep progress: 131.46666666666667/666.6666717529297 = 19.7% done in 8.0s, 32.6s to go on time step 7889 (time=131.483), 0.000995981 s/step Meep progress: 199.76666666666665/666.6666717529297 = 30.0% done in 12.0s, 28.1s to go on time step 11987 (time=199.783), 0.000976155 s/step Meep progress: 268.23333333333335/666.6666717529297 = 40.2% done in 16.0s, 23.8s to go on time step 16096 (time=268.267), 0.00097369 s/step Meep progress: 331.65/666.6666717529297 = 49.7% done in 20.0s, 20.2s to go on time step 19902 (time=331.7), 0.00105124 s/step Meep progress: 398.21666666666664/666.6666717529297 = 59.7% done in 24.0s, 16.2s to go on time step 23896 (time=398.267), 0.00100151 s/step Meep progress: 465.0333333333333/666.6666717529297 = 69.8% done in 28.0s, 12.1s to go on time step 27906 (time=465.1), 0.000997537 s/step Meep progress: 531.6333333333333/666.6666717529297 = 79.7% done in 32.0s, 8.1s to go on time step 31903 (time=531.717), 0.00100085 s/step Meep progress: 596.5/666.6666717529297 = 89.5% done in 36.0s, 4.2s to go on time step 35795 (time=596.583), 0.00102784 s/step Meep progress: 664.0166666666667/666.6666717529297 = 99.6% done in 40.0s, 0.2s to go on time step 39847 (time=664.117), 0.000987272 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000895977 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0382059 s ----------- Meep: using complex fields. Meep progress: 72.41666666666667/366.6666717529297 = 19.7% done in 4.0s, 16.3s to go on time step 4345 (time=72.4167), 0.000920756 s/step Meep progress: 145.0/366.6666717529297 = 39.5% done in 8.0s, 12.2s to go on time step 8700 (time=145), 0.0009185 s/step Meep progress: 218.91666666666666/366.6666717529297 = 59.7% done in 12.0s, 8.1s to go on time step 13136 (time=218.933), 0.0009019 s/step Meep progress: 290.9166666666667/366.6666717529297 = 79.3% done in 16.0s, 4.2s to go on time step 17457 (time=290.95), 0.000925947 s/step Meep progress: 364.26666666666665/366.6666717529297 = 99.3% done in 20.0s, 0.1s to go on time step 21858 (time=364.3), 0.000908912 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.227168908860377, 8.795584365758671e-09, -12913804.212074222, 1.1420749012296723, 1.041290755826275+0.46909342550233035i, 1.338451142437783e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.7000000000000001, 0.227168908860377 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00138187 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.090616 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.74878) = 0.226863 after 12 iters MPB solved for omega_1(0,0,0.749801) = 0.227169 after 7 iters MPB solved for omega_1(0,0,0.749801) = 0.227169 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.74878) = 0.226863 after 12 iters MPB solved for omega_1(0,0,0.749801) = 0.227169 after 7 iters MPB solved for omega_1(0,0,0.749801) = 0.227169 after 1 iters Meep progress: 60.46666666666667/666.6666717529297 = 9.1% done in 4.0s, 40.1s to go on time step 3628 (time=60.4667), 0.00110274 s/step Meep progress: 122.2/666.6666717529297 = 18.3% done in 8.0s, 35.6s to go on time step 7333 (time=122.217), 0.00107982 s/step Meep progress: 186.6/666.6666717529297 = 28.0% done in 12.0s, 30.9s to go on time step 11197 (time=186.617), 0.00103533 s/step Meep progress: 248.2/666.6666717529297 = 37.2% done in 16.0s, 27.0s to go on time step 14894 (time=248.233), 0.00108221 s/step Meep progress: 315.75/666.6666717529297 = 47.4% done in 20.0s, 22.2s to go on time step 18947 (time=315.783), 0.000986936 s/step Meep progress: 381.8833333333333/666.6666717529297 = 57.3% done in 24.0s, 17.9s to go on time step 22915 (time=381.917), 0.00100808 s/step Meep progress: 449.55/666.6666717529297 = 67.4% done in 28.0s, 13.5s to go on time step 26976 (time=449.6), 0.000985198 s/step Meep progress: 517.5833333333334/666.6666717529297 = 77.6% done in 32.0s, 9.2s to go on time step 31059 (time=517.65), 0.000979885 s/step Meep progress: 578.3833333333333/666.6666717529297 = 86.8% done in 36.0s, 5.5s to go on time step 34708 (time=578.467), 0.00109634 s/step Meep progress: 643.55/666.6666717529297 = 96.5% done in 40.0s, 1.4s to go on time step 38619 (time=643.65), 0.00102308 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000891924 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.037086 s ----------- Meep: using complex fields. Meep progress: 73.85/366.6666717529297 = 20.1% done in 4.0s, 15.9s to go on time step 4431 (time=73.85), 0.000902851 s/step Meep progress: 150.88333333333333/366.6666717529297 = 41.1% done in 8.0s, 11.4s to go on time step 9053 (time=150.883), 0.000865439 s/step Meep progress: 226.91666666666666/366.6666717529297 = 61.9% done in 12.0s, 7.4s to go on time step 13616 (time=226.933), 0.00087675 s/step Meep progress: 299.0833333333333/366.6666717529297 = 81.6% done in 16.0s, 3.6s to go on time step 17947 (time=299.117), 0.000923777 s/step Meep progress: 354.35/366.6666717529297 = 96.6% done in 20.0s, 0.7s to go on time step 21262 (time=354.367), 0.00120683 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.2243242241557239, -2.3795502230840202e-08, 4713584.566939463, 1.3161140220947878, 0.44148767953440904-1.2398567449402542i, 1.7636065651441524e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.7000000000000001, 0.2243242241557239 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00143099 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.85,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.09251 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.73937) = 0.224042 after 12 iters MPB solved for omega_1(0,0,0.740313) = 0.224324 after 6 iters MPB solved for omega_1(0,0,0.740313) = 0.224324 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.73937) = 0.224042 after 12 iters MPB solved for omega_1(0,0,0.740313) = 0.224324 after 6 iters MPB solved for omega_1(0,0,0.740313) = 0.224324 after 1 iters Meep progress: 64.31666666666666/666.6666717529297 = 9.6% done in 4.0s, 37.5s to go on time step 3859 (time=64.3167), 0.0010367 s/step Meep progress: 130.3/666.6666717529297 = 19.5% done in 8.0s, 32.9s to go on time step 7819 (time=130.317), 0.0010103 s/step Meep progress: 195.0/666.6666717529297 = 29.2% done in 12.0s, 29.0s to go on time step 11701 (time=195.017), 0.00103049 s/step Meep progress: 263.2833333333333/666.6666717529297 = 39.5% done in 16.0s, 24.5s to go on time step 15798 (time=263.3), 0.000976334 s/step Meep progress: 330.76666666666665/666.6666717529297 = 49.6% done in 20.0s, 20.3s to go on time step 19847 (time=330.783), 0.000987995 s/step Meep progress: 397.68333333333334/666.6666717529297 = 59.7% done in 24.0s, 16.2s to go on time step 23862 (time=397.7), 0.000996276 s/step Meep progress: 465.0833333333333/666.6666717529297 = 69.8% done in 28.0s, 12.1s to go on time step 27907 (time=465.117), 0.00098904 s/step Meep progress: 531.85/666.6666717529297 = 79.8% done in 32.0s, 8.1s to go on time step 31913 (time=531.883), 0.00099852 s/step Meep progress: 591.35/666.6666717529297 = 88.7% done in 36.0s, 4.6s to go on time step 35483 (time=591.383), 0.0011206 s/step Meep progress: 651.7666666666667/666.6666717529297 = 97.8% done in 40.0s, 0.9s to go on time step 39109 (time=651.817), 0.0011032 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000898123 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0368001 s ----------- Meep: using complex fields. Meep progress: 72.36666666666666/366.6666717529297 = 19.7% done in 4.0s, 16.3s to go on time step 4342 (time=72.3667), 0.000921443 s/step Meep progress: 150.95/366.6666717529297 = 41.2% done in 8.0s, 11.4s to go on time step 9058 (time=150.967), 0.000848313 s/step Meep progress: 228.11666666666667/366.6666717529297 = 62.2% done in 12.0s, 7.3s to go on time step 13688 (time=228.133), 0.000863986 s/step Meep progress: 304.0833333333333/366.6666717529297 = 82.9% done in 16.0s, 3.3s to go on time step 18247 (time=304.117), 0.000877569 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22687607958369985, 1.1400643119296407e-08, -9950143.917745123, 1.1655794014114116, 0.977127312310812+0.6354506719886552i, 1.4997457957847012e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.8, 0.22687607958369985 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00149512 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0977569 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.746721) = 0.226574 after 10 iters MPB solved for omega_1(0,0,0.747727) = 0.226876 after 6 iters MPB solved for omega_1(0,0,0.747727) = 0.226876 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.746721) = 0.226574 after 10 iters MPB solved for omega_1(0,0,0.747727) = 0.226876 after 6 iters MPB solved for omega_1(0,0,0.747727) = 0.226876 after 1 iters Meep progress: 52.28333333333333/666.6666717529297 = 7.8% done in 4.0s, 47.0s to go on time step 3137 (time=52.2833), 0.00127588 s/step Meep progress: 112.55/666.6666717529297 = 16.9% done in 8.0s, 39.4s to go on time step 6753 (time=112.55), 0.0011062 s/step Meep progress: 178.53333333333333/666.6666717529297 = 26.8% done in 12.0s, 32.8s to go on time step 10712 (time=178.533), 0.0010104 s/step Meep progress: 245.7/666.6666717529297 = 36.9% done in 16.0s, 27.4s to go on time step 14743 (time=245.717), 0.000992504 s/step Meep progress: 312.8833333333333/666.6666717529297 = 46.9% done in 20.0s, 22.6s to go on time step 18774 (time=312.9), 0.000992323 s/step Meep progress: 378.5833333333333/666.6666717529297 = 56.8% done in 24.0s, 18.3s to go on time step 22716 (time=378.6), 0.00101474 s/step Meep progress: 445.01666666666665/666.6666717529297 = 66.8% done in 28.0s, 13.9s to go on time step 26703 (time=445.05), 0.0010035 s/step Meep progress: 505.96666666666664/666.6666717529297 = 75.9% done in 32.0s, 10.2s to go on time step 30359 (time=505.983), 0.00109431 s/step Meep progress: 560.5333333333333/666.6666717529297 = 84.1% done in 36.0s, 6.8s to go on time step 33635 (time=560.583), 0.00122128 s/step Meep progress: 628.1/666.6666717529297 = 94.2% done in 40.0s, 2.5s to go on time step 37689 (time=628.15), 0.000986733 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.000888109 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.037467 s ----------- Meep: using complex fields. Meep progress: 75.78333333333333/366.6666717529297 = 20.7% done in 4.0s, 15.4s to go on time step 4547 (time=75.7833), 0.000879852 s/step Meep progress: 154.4/366.6666717529297 = 42.1% done in 8.0s, 11.0s to go on time step 9264 (time=154.4), 0.000848002 s/step Meep progress: 227.93333333333334/366.6666717529297 = 62.2% done in 12.0s, 7.3s to go on time step 13676 (time=227.933), 0.000906679 s/step Meep progress: 304.46666666666664/366.6666717529297 = 83.0% done in 16.0s, 3.3s to go on time step 18268 (time=304.467), 0.000871124 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22479731243789122, -3.0000469700458526e-08, 3746563.215216184, 1.2948302869370316, 0.12198324559450935-1.2890715883005355i, 2.0241172522256874e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.8, 0.22479731243789122 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.0015111 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.9,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.090904 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.739855) = 0.224512 after 10 iters MPB solved for omega_1(0,0,0.740803) = 0.224797 after 6 iters MPB solved for omega_1(0,0,0.740803) = 0.224797 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.739855) = 0.224512 after 10 iters MPB solved for omega_1(0,0,0.740803) = 0.224797 after 6 iters MPB solved for omega_1(0,0,0.740803) = 0.224797 after 1 iters Meep progress: 64.66666666666667/666.6666717529297 = 9.7% done in 4.0s, 37.2s to go on time step 3880 (time=64.6667), 0.001031 s/step Meep progress: 132.98333333333332/666.6666717529297 = 19.9% done in 8.0s, 32.1s to go on time step 7980 (time=133), 0.000975751 s/step Meep progress: 186.4/666.6666717529297 = 28.0% done in 12.0s, 30.9s to go on time step 11184 (time=186.4), 0.00124851 s/step Meep progress: 240.0/666.6666717529297 = 36.0% done in 16.0s, 28.4s to go on time step 14401 (time=240.017), 0.00124372 s/step Meep progress: 302.56666666666666/666.6666717529297 = 45.4% done in 20.0s, 24.1s to go on time step 18155 (time=302.583), 0.00106558 s/step Meep progress: 365.55/666.6666717529297 = 54.8% done in 24.0s, 19.8s to go on time step 21934 (time=365.567), 0.00105857 s/step Meep progress: 431.7/666.6666717529297 = 64.8% done in 28.0s, 15.2s to go on time step 25903 (time=431.717), 0.0010079 s/step Meep progress: 492.9166666666667/666.6666717529297 = 73.9% done in 32.0s, 11.3s to go on time step 29576 (time=492.933), 0.00108904 s/step Meep progress: 556.9833333333333/666.6666717529297 = 83.5% done in 36.0s, 7.1s to go on time step 33421 (time=557.017), 0.00104054 s/step Meep progress: 618.4333333333333/666.6666717529297 = 92.8% done in 40.0s, 3.1s to go on time step 37109 (time=618.483), 0.0010848 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00135803 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0369499 s ----------- Meep: using complex fields. Meep progress: 68.3/366.6666717529297 = 18.6% done in 4.0s, 17.5s to go on time step 4098 (time=68.3), 0.000976214 s/step Meep progress: 145.16666666666666/366.6666717529297 = 39.6% done in 8.0s, 12.2s to go on time step 8711 (time=145.183), 0.000867321 s/step Meep progress: 219.95/366.6666717529297 = 60.0% done in 12.0s, 8.0s to go on time step 13199 (time=219.983), 0.000891398 s/step Meep progress: 295.3333333333333/366.6666717529297 = 80.5% done in 16.0s, 3.9s to go on time step 17723 (time=295.383), 0.000884263 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.2265278474245952, 1.4539532530172293e-08, -7790066.391560625, 1.1896334548994774, 0.8631437981019856+0.818663875356758i, 9.44069094162509e-14+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.9, 0.2265278474245952 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00146699 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0906651 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.746659) = 0.226227 after 12 iters MPB solved for omega_1(0,0,0.747663) = 0.226528 after 7 iters MPB solved for omega_1(0,0,0.747663) = 0.226528 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.746659) = 0.226227 after 12 iters MPB solved for omega_1(0,0,0.747663) = 0.226528 after 7 iters MPB solved for omega_1(0,0,0.747663) = 0.226528 after 1 iters Meep progress: 63.166666666666664/666.6666717529297 = 9.5% done in 4.0s, 38.2s to go on time step 3790 (time=63.1667), 0.0010555 s/step Meep progress: 128.1/666.6666717529297 = 19.2% done in 8.0s, 33.6s to go on time step 7686 (time=128.1), 0.0010267 s/step Meep progress: 194.46666666666667/666.6666717529297 = 29.2% done in 12.0s, 29.1s to go on time step 11668 (time=194.467), 0.00100457 s/step Meep progress: 260.3833333333333/666.6666717529297 = 39.1% done in 16.0s, 25.0s to go on time step 15624 (time=260.4), 0.00101129 s/step Meep progress: 325.6/666.6666717529297 = 48.8% done in 20.0s, 21.0s to go on time step 19538 (time=325.633), 0.00102221 s/step Meep progress: 393.1666666666667/666.6666717529297 = 59.0% done in 24.0s, 16.7s to go on time step 23592 (time=393.2), 0.000987037 s/step Meep progress: 460.56666666666666/666.6666717529297 = 69.1% done in 28.0s, 12.5s to go on time step 27638 (time=460.633), 0.000988785 s/step Meep progress: 527.6166666666667/666.6666717529297 = 79.1% done in 32.0s, 8.4s to go on time step 31661 (time=527.683), 0.00099439 s/step Meep progress: 595.5333333333333/666.6666717529297 = 89.3% done in 36.0s, 4.3s to go on time step 35737 (time=595.617), 0.000981597 s/step Meep progress: 663.55/666.6666717529297 = 99.5% done in 40.0s, 0.2s to go on time step 39818 (time=663.633), 0.000980212 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.001091 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0367699 s ----------- Meep: using complex fields. Meep progress: 74.53333333333333/366.6666717529297 = 20.3% done in 4.0s, 15.7s to go on time step 4472 (time=74.5333), 0.000894657 s/step Meep progress: 151.4/366.6666717529297 = 41.3% done in 8.0s, 11.4s to go on time step 9085 (time=151.417), 0.000867297 s/step Meep progress: 227.21666666666667/366.6666717529297 = 62.0% done in 12.0s, 7.4s to go on time step 13635 (time=227.25), 0.000879315 s/step Meep progress: 301.68333333333334/366.6666717529297 = 82.3% done in 16.0s, 3.4s to go on time step 18104 (time=301.733), 0.00089524 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.225007444260206, -3.411140661225682e-08, 3298126.149089333, 1.282850723732187, -0.020124749229969874-1.2826928602937753i, 1.9977197754650086e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 0.9, 0.225007444260206 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00139499 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (0.95,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0888979 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.74163) = 0.224719 after 12 iters MPB solved for omega_1(0,0,0.742591) = 0.225007 after 6 iters MPB solved for omega_1(0,0,0.742591) = 0.225007 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.151963 after 15 iters MPB solved for omega_1(0,0,0.74163) = 0.224719 after 12 iters MPB solved for omega_1(0,0,0.742591) = 0.225007 after 6 iters MPB solved for omega_1(0,0,0.742591) = 0.225007 after 1 iters Meep progress: 62.75/666.6666717529297 = 9.4% done in 4.0s, 38.5s to go on time step 3765 (time=62.75), 0.0010625 s/step Meep progress: 129.05/666.6666717529297 = 19.4% done in 8.0s, 33.3s to go on time step 7744 (time=129.067), 0.00100546 s/step Meep progress: 194.6/666.6666717529297 = 29.2% done in 12.0s, 29.1s to go on time step 11677 (time=194.617), 0.00101706 s/step Meep progress: 259.8666666666667/666.6666717529297 = 39.0% done in 16.0s, 25.0s to go on time step 15594 (time=259.9), 0.00102137 s/step Meep progress: 327.4/666.6666717529297 = 49.1% done in 20.0s, 20.7s to go on time step 19647 (time=327.45), 0.000987002 s/step Meep progress: 395.06666666666666/666.6666717529297 = 59.3% done in 24.0s, 16.5s to go on time step 23708 (time=395.133), 0.000985119 s/step Meep progress: 462.43333333333334/666.6666717529297 = 69.4% done in 28.0s, 12.4s to go on time step 27751 (time=462.517), 0.000989585 s/step Meep progress: 527.6666666666666/666.6666717529297 = 79.1% done in 32.0s, 8.4s to go on time step 31665 (time=527.75), 0.00102228 s/step Meep progress: 595.3/666.6666717529297 = 89.3% done in 36.0s, 4.3s to go on time step 35724 (time=595.4), 0.000985666 s/step Meep progress: 660.4166666666666/666.6666717529297 = 99.1% done in 40.0s, 0.4s to go on time step 39633 (time=660.55), 0.00102353 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.0011251 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.035866 s ----------- Meep: using complex fields. Meep progress: 75.86666666666666/366.6666717529297 = 20.7% done in 4.0s, 15.3s to go on time step 4552 (time=75.8667), 0.000878903 s/step Meep progress: 150.81666666666666/366.6666717529297 = 41.1% done in 8.0s, 11.5s to go on time step 9050 (time=150.833), 0.000889439 s/step Meep progress: 220.75/366.6666717529297 = 60.2% done in 12.0s, 7.9s to go on time step 13246 (time=220.767), 0.000953549 s/step Meep progress: 288.1/366.6666717529297 = 78.6% done in 16.0s, 4.4s to go on time step 17287 (time=288.117), 0.000990054 s/step Meep progress: 361.7833333333333/366.6666717529297 = 98.7% done in 20.0s, 0.3s to go on time step 21709 (time=361.817), 0.000904671 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.22640536408982545, 1.8701411305075058e-08, -6053162.523311413, 1.1994351446619307, 0.8155612905569631+0.8794910162106531i, 1.4151611110599002e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 1.0, 0.22640536408982545 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00133705 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.070148 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.745166) = 0.226107 after 10 iters MPB solved for omega_1(0,0,0.746159) = 0.226405 after 6 iters MPB solved for omega_1(0,0,0.746159) = 0.226405 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.745166) = 0.226107 after 10 iters MPB solved for omega_1(0,0,0.746159) = 0.226405 after 6 iters MPB solved for omega_1(0,0,0.746159) = 0.226405 after 1 iters Meep progress: 57.88333333333333/666.6666717529297 = 8.7% done in 4.0s, 42.1s to go on time step 3473 (time=57.8833), 0.00115196 s/step Meep progress: 122.18333333333334/666.6666717529297 = 18.3% done in 8.0s, 35.7s to go on time step 7332 (time=122.2), 0.00103677 s/step Meep progress: 189.01666666666665/666.6666717529297 = 28.4% done in 12.0s, 30.3s to go on time step 11343 (time=189.05), 0.000997474 s/step Meep progress: 256.73333333333335/666.6666717529297 = 38.5% done in 16.0s, 25.6s to go on time step 15406 (time=256.767), 0.000984541 s/step Meep progress: 324.5333333333333/666.6666717529297 = 48.7% done in 20.0s, 21.1s to go on time step 19475 (time=324.583), 0.000983217 s/step Meep progress: 389.68333333333334/666.6666717529297 = 58.5% done in 24.0s, 17.1s to go on time step 23385 (time=389.75), 0.00102323 s/step Meep progress: 457.26666666666665/666.6666717529297 = 68.6% done in 28.0s, 12.8s to go on time step 27441 (time=457.35), 0.000986341 s/step Meep progress: 524.8333333333334/666.6666717529297 = 78.7% done in 32.0s, 8.6s to go on time step 31496 (time=524.933), 0.000986734 s/step Meep progress: 592.5/666.6666717529297 = 88.9% done in 36.0s, 4.5s to go on time step 35557 (time=592.617), 0.000985192 s/step Meep progress: 659.4833333333333/666.6666717529297 = 98.9% done in 40.0s, 0.4s to go on time step 39577 (time=659.617), 0.000995131 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps) ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00095582 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0355389 s ----------- Meep: using complex fields. Meep progress: 75.28333333333333/366.6666717529297 = 20.5% done in 4.0s, 15.5s to go on time step 4517 (time=75.2833), 0.000885723 s/step Meep progress: 154.68333333333334/366.6666717529297 = 42.2% done in 8.0s, 11.0s to go on time step 9282 (time=154.7), 0.000839545 s/step Meep progress: 232.36666666666667/366.6666717529297 = 63.4% done in 12.0s, 6.9s to go on time step 13944 (time=232.4), 0.00085817 s/step Meep progress: 310.01666666666665/366.6666717529297 = 84.5% done in 16.0s, 2.9s to go on time step 18604 (time=310.067), 0.000858523 s/step harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error harminv0:, 0.2252900344060825, -3.972875600686559e-08, 2835352.23664126, 1.268528226017774, -0.20669047620325842-1.251576169176559i, 1.682966756410931e-13+0.0i run 0 finished at t = 366.68333333333334 (22001 timesteps) freq:, 1.0, 0.2252900344060825 ----------- Initializing structure... Halving computational cell along direction x Halving computational cell along direction y time for choose_chunkdivision = 0.00120592 s Working in 3D dimensions. Computational cell is 7 x 5 x 0.0333333 with resolution 30 block, center = (-1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) block, center = (1,0,0) size (1,1,1e+20) axes (1,0,0), (0,1,0), (0,0,1) dielectric constant epsilon diagonal = (11.9025,11.9025,11.9025) time for set_epsilon = 0.0628369 s ----------- Meep: using complex fields. MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.741482) = 0.225001 after 10 iters MPB solved for omega_1(0,0,0.742444) = 0.22529 after 6 iters MPB solved for omega_1(0,0,0.742444) = 0.22529 after 1 iters MPB solved for omega_1(0,0,0.5) = 0.152184 after 14 iters MPB solved for omega_1(0,0,0.741482) = 0.225001 after 10 iters MPB solved for omega_1(0,0,0.742444) = 0.22529 after 6 iters MPB solved for omega_1(0,0,0.742444) = 0.22529 after 1 iters Meep progress: 64.55/666.6666717529297 = 9.7% done in 4.0s, 37.3s to go on time step 3873 (time=64.55), 0.00103291 s/step Meep progress: 131.83333333333334/666.6666717529297 = 19.8% done in 8.0s, 32.5s to go on time step 7910 (time=131.833), 0.000990937 s/step Meep progress: 199.6/666.6666717529297 = 29.9% done in 12.0s, 28.1s to go on time step 11976 (time=199.6), 0.000983864 s/step Meep progress: 267.43333333333334/666.6666717529297 = 40.1% done in 16.0s, 23.9s to go on time step 16046 (time=267.433), 0.000982824 s/step Meep progress: 335.15/666.6666717529297 = 50.3% done in 20.0s, 19.8s to go on time step 20110 (time=335.167), 0.000984433 s/step Meep progress: 402.8333333333333/666.6666717529297 = 60.4% done in 24.0s, 15.7s to go on time step 24171 (time=402.85), 0.000985015 s/step Meep progress: 470.55/666.6666717529297 = 70.6% done in 28.0s, 11.7s to go on time step 28235 (time=470.583), 0.000984423 s/step Meep progress: 538.3/666.6666717529297 = 80.7% done in 32.0s, 7.6s to go on time step 32301 (time=538.35), 0.000983948 s/step Meep progress: 604.8833333333333/666.6666717529297 = 90.7% done in 36.0s, 3.7s to go on time step 36296 (time=604.933), 0.00100132 s/step run 1 finished at t = 666.6666666666666 (40000 timesteps)
plt.figure(dpi=150)
plt.plot(s,-forces_odd/fluxes_odd,'rs',label='anti symmetric')
plt.plot(s,-forces_even/fluxes_even,'bo',label='symmetric')
plt.grid(True)
plt.xlabel('waveguide separation s/a')
plt.ylabel('optical force (F/L)(ac/P)')
plt.legend(loc='upper right')
plt.show()
The MPB simulation is below. Note: since MPB permits symmetries only in the $y$ and $z$ directions, the coordinate axes used in the MPB script to define the waveguide geometry are different than those in the Meep script. In MPB, the propagating axis is $x$ whereas in Meep it is $z$.
import meep as mp
from meep import mpb
import numpy as np
import matplotlib.pyplot as plt
resolution = 128 # pixels/μm
Si = mp.Medium(index=3.45)
syz = 10
geometry_lattice = mp.Lattice(size=mp.Vector3(0,syz,syz))
k_points = [mp.Vector3(0.5)]
num_bands = 1
tolerance = 1e-9
a = 1.0 # waveguide width
def parallel_waveguide(s,yodd):
geometry = [mp.Block(center=mp.Vector3(0,-0.5*(s+a),0),
size=mp.Vector3(mp.inf,a,a),
material=Si),
mp.Block(center=mp.Vector3(0,0.5*(s+a),0),
size=mp.Vector3(mp.inf,a,a),
material=Si)]
ms = mpb.ModeSolver(resolution=resolution,
k_points=k_points,
geometry_lattice=geometry_lattice,
geometry=geometry,
num_bands=num_bands,
tolerance=tolerance)
if yodd:
ms.run_yodd_zodd()
else:
ms.run_yeven_zodd()
f = ms.get_freqs()[0]
vg = ms.compute_group_velocity_component(mp.Vector3(1,0,0))[0]
return f,vg
ss = np.arange(0.1,1.1,0.1)
f_odd = np.zeros(len(ss))
vg_odd = np.zeros(len(ss))
f_even = np.zeros(len(ss))
vg_even = np.zeros(len(ss))
for j in range(len(ss)):
f_odd[j], vg_odd[j] = parallel_waveguide(ss[j],True)
f_even[j], vg_even[j] = parallel_waveguide(ss[j],False)
ds = ss[1]-ss[0]
def compute_force(f,vg):
f_avg = 0.5*(f[:-1]+f[1:])
df = f[1:]-f[:-1]
vg_avg = 0.5*(vg[:-1]+vg[1:])
return np.multiply(np.multiply(-1/f_avg,df/ds), 1/vg_avg)
force_odd = compute_force(f_odd,vg_odd)
force_even = compute_force(f_even,vg_even)
Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.55,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.55,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.1171050071716309 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.233911 elapsed time for k point: 23.74375629425049 total elapsed time for run: 24.861119985580444 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.55,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.55,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.198291540145874 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 19 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.214446 elapsed time for k point: 25.20313835144043 total elapsed time for run: 26.401572704315186 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.6,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.6,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2093915939331055 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 20 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.232136 elapsed time for k point: 26.406787872314453 total elapsed time for run: 27.616334676742554 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.6,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.6,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.194544792175293 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.218002 elapsed time for k point: 23.89072322845459 total elapsed time for run: 25.08543825149536 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.65,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.65,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2202491760253906 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 19 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.230609 elapsed time for k point: 27.146918058395386 total elapsed time for run: 28.367331981658936 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.65,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.65,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.4451804161071777 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.220388 elapsed time for k point: 24.16555118560791 total elapsed time for run: 25.610894203186035 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.7,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.7,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2811601161956787 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.229408 elapsed time for k point: 24.277979135513306 total elapsed time for run: 25.559289693832397 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.7,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.7,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2923684120178223 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.222012 elapsed time for k point: 24.478357791900635 total elapsed time for run: 25.771002054214478 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.75,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.75,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2905426025390625 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 17 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.2285 elapsed time for k point: 23.339821100234985 total elapsed time for run: 24.63052201271057 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.75,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.75,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2385966777801514 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.223137 elapsed time for k point: 24.006115198135376 total elapsed time for run: 25.244858741760254 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.8,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.8,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2169744968414307 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 17 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.227819 elapsed time for k point: 22.855571508407593 total elapsed time for run: 24.072863817214966 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.8,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.8,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2518179416656494 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.223921 elapsed time for k point: 24.147750854492188 total elapsed time for run: 25.40097951889038 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.85,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.85,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.331031322479248 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 17 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.227319 elapsed time for k point: 23.37817120552063 total elapsed time for run: 24.7093608379364 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.85,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.85,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.327040672302246 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 17 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.224479 elapsed time for k point: 23.153270483016968 total elapsed time for run: 24.48114776611328 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.9,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.9,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.3384766578674316 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.226949 elapsed time for k point: 24.747398614883423 total elapsed time for run: 26.086078643798828 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.9,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.9,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.233776330947876 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.224876 elapsed time for k point: 24.158668041229248 total elapsed time for run: 25.392586946487427 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.95,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.95,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2510592937469482 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 19 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.226677 elapsed time for k point: 25.66195845603943 total elapsed time for run: 26.913161277770996 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-0.95,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,0.95,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.2212038040161133 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 20 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.22516 elapsed time for k point: 26.67510437965393 total elapsed time for run: 27.89653754234314 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-1,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,1,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyodd. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.3138513565063477 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 16 iterations. zoddyoddfreqs:, 1, 0.5, 0, 0, 0.5, 0.22648 elapsed time for k point: 22.287580251693726 total elapsed time for run: 23.60159468650818 done Initializing eigensolver data Computing 1 bands with 1e-09 tolerance Working in 3 dimensions. Grid size is 1 x 1280 x 1280. Solving for 1 bands at a time. Creating Maxwell data... Mesh size is 3. Lattice vectors: (1, 0, 0) (0, 10, 0) (0, 0, 10) Cell volume = 100 Reciprocal lattice vectors (/ 2 pi): (1, -0, 0) (-0, 0.1, -0) (0, -0, 0.1) Geometric objects: block, center = (0,-1,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) block, center = (0,1,0) size (1e+20,1,1) axes (1,0,0), (0,1,0), (0,0,1) Geometric object tree has depth 2 and 6 object nodes (vs. 2 actual objects) Initializing epsilon function... Allocating fields... Solving for band polarization: zoddyeven. Initializing fields to random numbers... 1 k-points Vector3<0.5, 0.0, 0.0> elapsed time for initialization: 1.3500831127166748 solve_kpoint (0.5,0,0): Solving for bands 1 to 1... Finished solving for bands 1 to 1 after 18 iterations. zoddyevenfreqs:, 1, 0.5, 0, 0, 0.5, 0.225369 elapsed time for k point: 23.889298915863037 total elapsed time for run: 25.23954153060913 done
plt.plot(ss[:-1],force_odd,'b-',label='antisymmetric')
plt.plot(ss[:-1],force_even,'r-',label='symmetric')
plt.xlabel("waveguide separation s/a")
plt.ylabel("optical force (F/L)(ac/P)")
plt.legend(loc='upper right')
plt.xticks(np.arange(0,1.2,0.2))
plt.yticks(np.arange(-1.5,1.0,0.5))
plt.show()