|
16 | 16 |
|
17 | 17 | Here: |
18 | 18 |
|
19 | | -- \(\mathbf{r}\) is position in the local mode-coordinate system; |
20 | | -- \(\mathbf{E}\) and \(\mathbf{H}\) are the electric and magnetic mode fields; |
21 | | -- \(\omega\) is the angular frequency; |
22 | | -- \(\epsilon\) and \(\mu\) are the supplied material tensors. |
| 19 | +- $\mathbf{r}$ is position in the local mode-coordinate system; |
| 20 | +- $\mathbf{E}$ and $\mathbf{H}$ are the electric and magnetic mode fields; |
| 21 | +- $\omega$ is the angular frequency; |
| 22 | +- $\epsilon$ and $\mu$ are the supplied material tensors. |
23 | 23 |
|
24 | 24 | Unlike a driven FDFD field solve, MicroMode is a mode solver: there are no |
25 | 25 | electric or magnetic current sources. It assumes fields vary along the local |
|
31 | 31 | \mathbf{H}(x, y, z) = \mathbf{h}(x, y) e^{i k_0 n_\mathrm{eff} z}, |
32 | 32 | $$ |
33 | 33 |
|
34 | | -where \(k_0 = 2\pi / \lambda_0\) and \(n_\mathrm{eff}\) is the unknown complex |
| 34 | +where $k_0 = 2\pi / \lambda_0$ and $n_\mathrm{eff}$ is the unknown complex |
35 | 35 | effective index. The transverse fields are discretized by the |
36 | 36 | finite-difference frequency-domain method on a regular Yee grid [2]. |
37 | 37 |
|
38 | 38 | ## Discretization |
39 | 39 |
|
40 | | -The Rust kernels use relative material tensors \(\epsilon_r(x,y)\), |
41 | | -\(\mu_r(x,y)\) and scale transverse derivatives by \(1/k_0\), so the sparse |
| 40 | +The Rust kernels use relative material tensors $\epsilon_r(x,y)$, |
| 41 | +$\mu_r(x,y)$ and scale transverse derivatives by $1/k_0$, so the sparse |
42 | 42 | operators are dimensionless. On the local Yee grid, the four derivative |
43 | 43 | matrices are |
44 | 44 |
|
|
132 | 132 |
|
133 | 133 | ## Tensorial Materials |
134 | 134 |
|
135 | | -For full tensor media, including off-diagonal \(\epsilon\)/\(\mu\) terms and |
| 135 | +For full tensor media, including off-diagonal $\epsilon$/$\mu$ terms and |
136 | 136 | angle or bend coordinate transforms, MicroMode switches to a first-order |
137 | 137 | tensorial eigenproblem: |
138 | 138 |
|
|
161 | 161 | \mu_{\alpha z}\mu_{z\beta}/\mu_{zz}, |
162 | 162 | $$ |
163 | 163 |
|
164 | | -then \(E_z\) and \(H_z\) are reconstructed with the off-diagonal coupling terms |
| 164 | +then $E_z$ and $H_z$ are reconstructed with the off-diagonal coupling terms |
165 | 165 | included. This is the path used automatically for `Materials.from_components`, |
166 | 166 | angled solves, and bend solves whenever the transformed tensors are no longer |
167 | 167 | diagonal. |
|
0 commit comments