Skip to content

Commit

Permalink
Updating discussion of mode amplitudes
Browse files Browse the repository at this point in the history
  • Loading branch information
momchil-flex committed Jul 12, 2023
1 parent ea2829e commit 8cb6d49
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions docs/source/notebooks/ModalSourcesMonitors.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -417,21 +417,21 @@
"\\mathbf{E}_p^f(\\omega, x) = \\mathbf{E}_p^f(\\omega) e^{i k_p x}, \\quad \\quad \\mathbf{H}_p^f(\\omega, x) = \\mathbf{H}_p^f(\\omega) e^{i k_p x},\n",
"$$\n",
"\n",
"where $p$ is a discrete mode index, $k_p = n_p \\omega/c$ is the wave-vector, $n_p$ is the effective index of the $p$-th mode, and superscript $f$ specifies forward propagation. The fields in the backward direction can be obtained via reflection symmetry. In the axes of the simulation we have as $k_p \\rightarrow -k_p$ and $\\mathbf{E}_{p}^b(\\omega) = (-E_{p,x}^{f}, E_{p,y}^{f}, E_{p,z}^{f})$, $\\mathbf{H}_{p}^b(\\omega) = (H_{p,x}^{f}, -H_{p,y}^{f}, -H_{p,z}^{f})$.\n",
"where $p$ is a discrete mode index, $k_p = n_p \\omega/c$ is the wave-vector, $n_p$ is the effective index of the $p$-th mode, and superscript $f$ specifies forward propagation. The fields in the backward direction can be obtained via reflection symmetry. In the axes of the simulation we have $k_p \\rightarrow -k_p$ and $\\mathbf{E}_{p}^b(\\omega) = (-E_{p,x}^{f}, E_{p,y}^{f}, E_{p,z}^{f})$, $\\mathbf{H}_{p}^b(\\omega) = (H_{p,x}^{f}, -H_{p,y}^{f}, -H_{p,z}^{f})$ for backward modes.\n",
"\n",
"The fields stored in a monitor can then be decomposed on the basis of these waveguide modes. Following [1](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.66.066608), [2](https://arxiv.org/abs/1301.5366), we can define an inner product between fields in the 2D plane as\n",
"\n",
"$$\n",
"(\\mathbf{u}_1, \\mathbf{u}_2) = \\frac{1}{4} \\int_A \\left(\\mathbf{E}_1^* \\times \\mathbf{H}_2 + \\mathbf{E}_2 \\times \\mathbf{H}_1^* \\right) \\cdot \\mathrm{d}\\mathbf{A},\n",
"$$\n",
"\n",
"where $\\mathbf{u} = (\\mathbf{E}, \\mathbf{H})$ combines both electromagnetic fields, the integration is over the plane area $A$, and $\\mathrm{d}\\mathbf{A}$ is the surface normal. If a waveguide mode is normalized such that $(\\mathbf{u}_p, \\mathbf{u}_p) = 1$, and we denote the fields stored in the mode monitor by $\\mathbf{u}_s$, then the power amplitude carried by mode $p$ is given by the complex coefficient\n",
"where $\\mathbf{u} = (\\mathbf{E}, \\mathbf{H})$ combines both electromagnetic fields, the integration is over the plane area $A$, and $\\mathrm{d}\\mathbf{A}$ is the surface normal. From this definition it is clear that $(\\mathbf{u}_p, \\mathbf{u}_p)$ is just the flux carried by a mode $\\mathbf{u}_p$, which is positive for forward-propagating modes and negative for backward-propagating ones. Note that the modes coming from the mode solver are normalized to unit directed flux, such that $(\\mathbf{u}_p, \\mathbf{u}_p) = \\pm 1$. The mode monitor amplitudes are defined by the complex coefficient\n",
"\n",
"$$\n",
"c_p = (\\mathbf{u}_p, \\mathbf{u}_s),\n",
"c_p = \\frac{(\\mathbf{u}_p, \\mathbf{u}_s)}{(\\mathbf{u}_p, \\mathbf{u}_p)}\n",
"$$\n",
"\n",
"while the power is given by $|c_p|^2$."
"which is the power amplitude of field $\\mathbf{u}_s$ carried by mode $p$, while the power carried by that mode is given by $|c_p|^2$."
]
},
{
Expand Down Expand Up @@ -1139,7 +1139,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.0"
"version": "3.9.12"
},
"title": "How to set up mode sources and monitors in Tidy3D FDTD",
"widgets": {
Expand Down

0 comments on commit 8cb6d49

Please sign in to comment.