WARPXM v1.10.0
Loading...
Searching...
No Matches
warpy.post_processing.band_diagrams.analytical_2d.Bands2D Class Reference

Base class for 2D photonic band objects UNFINISHED!!! Needs to be generalized to more than just 2D sine functions. More...

Inheritance diagram for warpy.post_processing.band_diagrams.analytical_2d.Bands2D:
warpy.post_processing.band_diagrams.analytical_1d.Bands1D

Detailed Description

Base class for 2D photonic band objects UNFINISHED!!! Needs to be generalized to more than just 2D sine functions.

Public Member Functions

def __init__ (self, fcoeff_x, fcoeff_y, omega_p0, K, G=(1, 1), omega_a=1, N=None)
 
def plot (self, **kwargs)
 Plots self.bands given pyplot **kwargs.
 
def gradient (self, omega_min, omega_max, num_bins)
 Calculate gradient of bands.
 
- Public Member Functions inherited from warpy.post_processing.band_diagrams.analytical_1d.Bands1D
def __init__ (self, fcoeff, omega_p0, Kx, Ky=None, gx=1, omega_a=1, Nx=None)
 
def plot (self, **kwargs)
 Plots self.bands given pyplot **kwargs.
 
def gradient (self, omega_min, omega_max, num_bins)
 Calculate gradient of bands.
 
def calculated_band_gaps (self, gap_num=1)
 Calculate approximate band gap mid, max and min frequency.
 

Public Attributes

 fcoeff_x
 
 fcoeff_y
 
 omega_p0
 
 K
 
 G
 
 omega_a
 
 Kx
 Delete when no longer needed ###.
 
 Ky
 
 N
 
 bands
 
- Public Attributes inherited from warpy.post_processing.band_diagrams.analytical_1d.Bands1D
 fcoeff
 
 omega_p0
 
 Kx
 
 Ky
 
 gx
 
 omega_a
 
 Nx
 
 bands
 

Protected Member Functions

def _calc_bands_old (self)
 Calculates bands.
 
def _calc_bands_new (self)
 Calculates bands.
 
- Protected Member Functions inherited from warpy.post_processing.band_diagrams.analytical_1d.Bands1D
def _calc_bands (self)
 Calculates bands given **band_kwargs.
 

Constructor & Destructor Documentation

◆ __init__()

def warpy.post_processing.band_diagrams.analytical_2d.Bands2D.__init__ (   self,
  fcoeff_x,
  fcoeff_y,
  omega_p0,
  K,
  G = (1, 1),
  omega_a = 1,
  N = None 
)
Parameters
fcoeffFourier coefficients of density profile. Best if same length.
omega_p0Electron plasma frequency of average density.
KList of tuples giving coordinants in Kx, Ky space to be calculated.
GList of tuples with the lattice vectors.
omega_aLattice frequency = 2*pi*c_0/a

Reimplemented from warpy.post_processing.band_diagrams.analytical_1d.Bands1D.

Member Function Documentation

◆ _calc_bands_new()

def warpy.post_processing.band_diagrams.analytical_2d.Bands2D._calc_bands_new (   self)
protected

Calculates bands.

◆ _calc_bands_old()

def warpy.post_processing.band_diagrams.analytical_2d.Bands2D._calc_bands_old (   self)
protected

Calculates bands.

◆ gradient()

def warpy.post_processing.band_diagrams.analytical_2d.Bands2D.gradient (   self,
  omega_min,
  omega_max,
  num_bins 
)

Calculate gradient of bands.

Calculates gradient of a band and assigns gradient to an ascociated frequency bin. To avoid duplicates, only calculates from kx=0-pi/a.

Returns
omega_bins, gradients

Reimplemented from warpy.post_processing.band_diagrams.analytical_1d.Bands1D.

◆ plot()

def warpy.post_processing.band_diagrams.analytical_2d.Bands2D.plot (   self,
**  kwargs 
)

Plots self.bands given pyplot **kwargs.

Reimplemented from warpy.post_processing.band_diagrams.analytical_1d.Bands1D.

Member Data Documentation

◆ bands

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.bands

◆ fcoeff_x

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.fcoeff_x

◆ fcoeff_y

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.fcoeff_y

◆ G

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.G

◆ K

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.K

◆ Kx

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.Kx

Delete when no longer needed ###.

◆ Ky

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.Ky

◆ N

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.N

◆ omega_a

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.omega_a

◆ omega_p0

warpy.post_processing.band_diagrams.analytical_2d.Bands2D.omega_p0

The documentation for this class was generated from the following file: