Skip to content

Commit

Permalink
Merge branch 'master' of ssh://github.com/stevengj/meep into rescale_…
Browse files Browse the repository at this point in the history
…gdsII_files
  • Loading branch information
HomerReid committed Nov 6, 2018
2 parents a9e48ff + 1e628c9 commit 8c246f5
Show file tree
Hide file tree
Showing 37 changed files with 267 additions and 4,188 deletions.
20 changes: 10 additions & 10 deletions doc/docs/Python_Tutorials/Basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ import meep as mp
We can begin specifying each of the simulation objects starting with the computational cell. We're going to put a source at one end and watch the fields propagate down the waveguide in the *x* direction, so let's use a cell of length 16 μm in the *x* direction to give it some distance to propagate. In the *y* direction, we just need enough room so that the boundaries do not affect the waveguide mode; let's give it a size of 8 μm.

```py
cell = mp.Vector3(16, 8, 0)
cell = mp.Vector3(16,8,0)
```
The `Vector3` object stores the size of the computational cell in each of the three coordinate directions. This is a 2d computational cell in *x* and *y* where the *z* direction has size 0.

Next we add the waveguide. Most commonly, the device structure is specified by a set of [`GeometricObject`s](../Python_User_Interface.md#geometricobject) stored in the `geometry` object.

```py
geometry = [mp.Block(mp.Vector3(1e20, 1, 1e20),
center=mp.Vector3(0, 0),
geometry = [mp.Block(mp.Vector3(1e20,1,1e20),
center=mp.Vector3(0,0),
material=mp.Medium(epsilon=12))]
```

Expand Down Expand Up @@ -134,12 +134,12 @@ import meep as mp
Then let's set up the bent waveguide in a slightly larger computational cell:

```py
cell = mp.Vector3(16, 16, 0)
geometry = [mp.Block(mp.Vector3(12, 1, 1e20),
center=mp.Vector3(-2.5, -3.5),
cell = mp.Vector3(16,16,0)
geometry = [mp.Block(mp.Vector3(12,1,1e20),
center=mp.Vector3(-2.5,-3.5),
material=mp.Medium(epsilon=12)),
mp.Block(mp.Vector3(1, 12, 1e20),
center=mp.Vector3(3.5, 2),
mp.Block(mp.Vector3(1,12,1e20),
center=mp.Vector3(3.5,2),
material=mp.Medium(epsilon=12))]
pml_layers = [mp.PML(1.0)]
resolution = 10
Expand Down Expand Up @@ -207,8 +207,8 @@ Instead of doing an animation, another interesting possibility is to make an ima
vals = []

def get_slice(sim):
center = mp.Vector3(0, -3.5)
size = mp.Vector3(16, 0)
center = mp.Vector3(0,-3.5)
size = mp.Vector3(16,0)
vals.append(sim.get_array(center=center, size=size, component=mp.Ez))

sim.run(mp.at_beginning(mp.output_epsilon),
Expand Down
90 changes: 64 additions & 26 deletions doc/docs/Python_Tutorials/Near_to_Far_Field_Spectra.md

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions doc/docs/Python_User_Interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,8 @@ The resonance frequency $f_n = \omega_n / 2\pi$.
The resonance loss rate $γ_n / 2\pi$.

Note: multiple objects with identical values for the `frequency` and `gamma` but different `sigma` willl appear as a *single* Lorentzian susceptibility term in the preliminary simulation info output.

### DrudeSusceptibility

Specifies a single dispersive susceptibility of Drude form. See [Material Dispersion](Materials.md#material-dispersion), with the parameters (in addition to σ):
Expand Down Expand Up @@ -1063,12 +1065,12 @@ Similar to `add_flux`, but for use with `get_eigenmode_coefficients`.

`add_mode_monitor` works properly with arbitrary symmetries, but may be suboptimal because the Fourier-transformed region does not exploit the symmetry. As an optimization, if you have a mirror plane that bisects the mode monitor, you can instead use `add_flux` to gain a factor of two, but in that case you *must* also pass the corresponding `eig_parity` to `get_eigenmode_coefficients` in order to only compute eigenmodes with the corresponding mirror symmetry.

**`get_eigenmode(omega_src, direction, where, band_num, kpoint, eig_vol=None, match_frequency=True, parity=mp.NO_PARITY, resolution=0, eigensolver_tol=1e-12, verbose=False)`**
**`get_eigenmode(freq, direction, where, band_num, kpoint, eig_vol=None, match_frequency=True, parity=mp.NO_PARITY, resolution=0, eigensolver_tol=1e-12, verbose=False)`**
The parameters of this routine are the same as that of `get_eigenmode_coefficients` or `EigenModeSource`, but this function returns an object that can be used to inspect the computed mode. In particular, it returns an `EigenmodeData` instance with the following fields:

+ `band_num`: same as the `band_num` parameter
+ `omega`: the computed frequency, same as `omega_src` if `match_frequency=True`
+ `freq`: the computed frequency, same as the `freq` input parameter if `match_frequency=True`
+ `group_velocity`: the group velocity of the mode in `direction`
+ `k`: the Bloch wavevector of the mode in `direction`
+ `kdom`: the dominant planewave of mode `band_num`
Expand Down
61 changes: 45 additions & 16 deletions doc/docs/Scheme_Tutorials/Near_to_Far_Field_Spectra.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions doc/docs/Scheme_User_Interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,8 @@ The resonance frequency $f_n = \omega_n / 2\pi$.
The resonance loss rate $γ_n / 2\pi$.

Note: multiple objects with identical values for the `frequency` and `gamma` but different `sigma` willl appear as a *single* Lorentzian susceptibility term in the preliminary simulation info output.

### drude-susceptibility

Specifies a single dispersive susceptibility of Drude form. See [Material Dispersion](Materials.md#material-dispersion), with the parameters (in addition to σ):
Expand Down
120 changes: 0 additions & 120 deletions doc/meep-mkdocs-theme/base.html

This file was deleted.

25 changes: 0 additions & 25 deletions doc/meep-mkdocs-theme/breadcrumbs.html

This file was deleted.

125 changes: 0 additions & 125 deletions doc/meep-mkdocs-theme/css/highlight.css

This file was deleted.

Loading

0 comments on commit 8c246f5

Please sign in to comment.