pynitride.tests.Analytical_POP.SWH_checks module

pynitride.tests.Analytical_POP.SWH_checks.check_POP_interface(phi, q, w)

Checks the continuity of the potential and displacement field for a POP phonon.

Checks the continuity of \(\phi\) and \(\varepsilon_\parallel \frac{\partial phi}{\partial z}\) at the interface. These should be satisfied elsewhere automatically since the solutions are analytic.

The absolute tolerance for \(D\) discontinuity is set by the maximum value of \(D\).

Parameters:
  • phi – the hopefully normalized potential, should of course be provided on the full mesh that it’s solved on, not just on some submesh where it interacts with carriers.

  • q – the in-plane wavevector for the mode

  • w – the angular frequency for the mode

Returns:

None

Exceptions:

AssertionError if the mode fails interface conditions

pynitride.tests.Analytical_POP.SWH_checks.check_POP_normalization(phi, q, w, overrides={})

Checks the normalization of a POP potential.

The normalization is given as

\[\begin{align} \frac{\hbar}{2\omega} = \int dz \varepsilon_\infty(\omega^2_{LO}-\omega^2_{TO})\left( \left(\frac{\partial_z\phi}{\omega_{TO\parallel}^2-\omega^2}\right)^2 + \left(\frac{q\phi}{\omega^2_{TO\perp}-\omega^2}\right)^2 \right) \end{align}\]

for the given POP potential phi.

Parameters:
  • phi – the hopefully normalized potential, should of course be provided on the full mesh that it’s solved on, not just on some submesh where it interacts with carriers.

  • q – the in-plane wavevector for the mode

  • w – the angular frequency for the mode

Returns:

None

Exceptions:

AssertionError if the mode is not normalized