legume.HopfieldPol.run

HopfieldPol.run(gme_options={}, exc_options={}, kpoints=array([[0], [0]]), verbose=True)

Compute the eigenmodes of the photonic crystal taking into account light-matter interaction.

The generalized Hopfield method implemented proceeds as follows:

Iterate over the k points:

Run the GuidedModeExp.run() method for the input phc.

Run ExcitonSchroedEq.run() for each quantum well layer added with PhotCrys.add_qw() method to the photonic crystal.

Compute the photons-excitons coupling terms and construct the Hopfield matrix for diagonalization. The properties of the eigenmodes are stored only for mode with positive energy. The energy modes are stored in HopfieldPol.eners. The losses are stored in HopfieldPol.eners_im. From the eigenvectors we calulate the photonic (excitonic) fractions of the polaritonic modes which are stored in HopfieldPol.fractions_ph (HopfieldPol.fractions_ph).

Parameters:

kpoints (np.ndarray, optional) – Numpy array of shape (2, Nk) with the [kx, ky] coordinates of the k-vectors over which the simulation is run.