References

Theoretical background

The phasematching spectrum of a nonlinear optical process in an ideal guiding structure (waveguide, fibre, etc…) of length \(L\) can be calculated using the equation

(1)\[\begin{split}\phi &= \frac{1}{L}\int_0^L \exp\left\lbrace \mathrm{i}\Delta\beta z\right\rbrace dz\\ &= \mathrm{sinc}\left(\frac{\Delta\beta L}{2}\right)\exp\left\lbrace \mathrm{i}\frac{\Delta\beta L}{2}\right\rbrace,\end{split}\]

where \(\Delta\beta\) is the phase mismatch of the process, \(z\) is the optical axis of the system and \(sinc(x) = sin(x)/x\). For example, in a three-wave mixing process, the \(\Delta\beta\) is usually given by

\[\begin{split}\Delta\beta & = \beta_3 - \beta_2 - \beta_1\\ & = 2\pi \left(\frac{n_3}{\lambda_3} - \frac{n_2}{\lambda_2} - \frac{n_1}{\lambda_1}\right),\end{split}\]

being \(\beta_i\) the wavevector of the \(i^{th}\) field.

If, however, the structure is not ideal and its properties change along the propagation axis z, the phase mismatch \(\Delta\beta\) may vary along the guiding structure, i.e. \(\Delta\beta = \Delta\beta(z)\). In this case, the phasematching spectrum is given by

(2)\[\phi = \frac{1}{L}\int_0^L \exp\left\lbrace \mathrm{i} \int_0^z\Delta\beta(\xi)d\xi \right\rbrace dz.\]

The integral \(\int_0^z\Delta\beta(\xi)d\xi\) is necessary to correctly keep track of the phase acquired by the fields as they travel along an inhomogeneous medium.

In the current iteration of the software, the previous integral is solved in two slightly different ways. The class pynumpm.phasematching.SimplePhasematchingDeltaBeta discretises it as

\[\phi = \frac{1}{L} \sum_{i=0}^{N} \Delta z_i \mathrm{sinc}\left(\frac{\Delta\beta_i \Delta z_i}{2}\right) \mathrm{e}^{i\frac{\Delta\beta_i \Delta z_i}{2}}\mathrm{e}^{i \sum_{j=0}^{i-1} \Delta\beta_j\Delta z_j}.\]

This is an exact piecewise integration of (2).

The classes pynumpm.phasematching.SimplePhasematching1D and pynumpm.phasematching.SimplePhasematching2D discretise (2) as

\[\phi = \frac{1}{L} \sum_{i=0}^{N} \Delta z_i \mathrm{e}^{i \sum_{j=0}^{i} \Delta\beta_j\Delta z_j}\]

which is the rectangular approximation of (2). In the future, I will update also these calculations. However, there is no real difference between the two methods, if the wavelength and the z meshes have enough resolution.

While this API can be used to calculate the spectrum of an ideal waveguide, this task is quite trivial, since an analytic expression exist (see first integral). This API was developed to calculate the phasematching of an inhomogeneous structure for a given profile \(\Delta\beta(z)\) or, equivalently, if the variation of the refractive index \(n(z)\) along the guiding structure is known.