All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Ring
shape
- Bug raised when calling the
__repr__()
method of anEllipse
shape - Bug when calculating the FT of the potential of
ExcitonSchroedEq
with multiple shapes
- BibTex entry for the CPC paper
- Bug introduced with with numpy 2.0 when calculating the unique reciprocal lattice vector
delta_G
for the permittivity Fourier transform. - Bug introduced with with numpy 2.0 when creating the array with the effective permittivity of each layer.
-
kz_symmetry
argument inGuidedModeExp.set_run_options
to separate even and odd modes with respect the kz-plane, where k is the in-plane wavevector. -
symm_thr
argument inGuidedModeExp.set_run_options
to check that the Hamiltonian is effectively seprated into even and odd blocks. -
use_sparse
argument inGuidedModeExp.set_run_options
to use sparse matrices instead of dense when changing the basis to separate the Hamiltonian into even/odd blocks with respect to the kz symmetry plane. -
delta_gx
argument inGuidedModeExp.set_run_options
, a small component added to the x-component of g-vectors to avoid problems atg=k+G=0
. -
delta_gx
argument inGuidedModeExp.set_run_options
, small shift of the absolute value ofg=k+G
to avoid problems atg=0
. -
only_gmodes
argument inGuidedModeExp.set_run_options
to calculate the guided modes of the effective slabs. -
unbalance_sp
property inGuidedModeExp
to store unbalance of farfield coupling between s-polarized and p-ploarized component. -
kz_symms
property toGuidedModeExp
to store the symmetry of the modes with respect the kz symmetry plane. -
compute_rad_sp
method toGuidedModeExp
to calculate losses andunbalance_sp
. -
_square_an
,_hex_an
,_rec_an
toGuidedModeExp
to store in-plane angles defining possbile kz-planes for square, triangular (hexagonal) and rectangular lattices. -
_construct_sym_mat
method toGuidedModeExp
to calculate the reflection matrix w.r.t. a plane parallel to z-axis and rotate by in-plane angle theta. -
_ind_g
method toGuidedModeExp
to calculate the index of a vector in an array. -
_separate_hamiltonian_dense
and_separate_hamiltonian_sparse
methods toGuidedModeExp
to separate the Hamiltonian into even and odd blocks w.r.t. the kz symmetry plane. -
_calculate_refl_mat
method toGuidedModeExp
to calculate all the reflection matrices neeed by_separate_hamiltonian_dense
and_separate_hamiltonian_sparse
.
ExcitonSchroedEq
class for solving 2D Schroedinger equation of excitons in a periodic potential.
HopfieldPol
class to calculate exciton-photon coupling giving rise to polariton eigenstates.
-
QuantumWellLayer
tolayer
module. -
add_qw
method toPhotCryst
to add aQuantumWellLayer
(2D active layer) to the photonic crystal. -
Ellipse
shape toshapes
module. -
angle
key tolattice.bz_path
to store in-plane angles of wavevectros(kx,ky)
. -
k_indexes
key tolattice.bz_path
to store normalized indexes in units of wavevector (indexes
are just integer indexes).
round
,shape
,concatenate
,size
,full
,eig
,matmul
,tan
,eigsh_ag
,inv_ag
,sqrt_ag
,extend_ag
,eig_ag
,spdot_ag
functions added to numpy-autograd backend.
eV
anda
arguments toviz.bands
to plot photonic bands in [eV] unit.k_units
argument toviz.bands
to plot x-axis in normalized unit proportional to the wavevector.calculate_x
and_calculate_LL
methods toviz
module to calculate x-coordinate and light line of bands to plot.
-
constants
module with physical constants. -
CHANGELOG
file. -
PrintBackend
class andprint_utils
for printing options. ThePrintBackend
can be set tobase
orrich
withset_print_backend
. The backend can be set torich
only if the package rich is installed. -
Examples to show new features usage.
-
Test files for polariton module and symmetry separation.
- When
truncate_abs=abs
we check ifgmax
is equal to one of the|G|
in the reciprocal lattice. If that is the case, we increasegmax+=1e-10
to avoid rounding problems. - When
truncate_abs=abs
we calculate only the unique and not-redundant Fourier components of the permittivity profile in each layer. - When
truncate_abs=abs
we calculate the Fourier transform of the permittivity only if the layer is patterned. z_to_lind
is now defined inutils
.