nanotools.scattering module
Scattering states calculator
- class nanotools.scattering.ScatteringStates(center, left=None, right=None, left_equal_right: bool = False, transport_axis: int = -1, energy=<Quantity([0.], 'electron_volt')>, classname: str = NOTHING)[source]
- Bases: - Base- ScatteringStatesclass.- dos
- density of states 
 - transport_axis
- Type:
- int 
 
 - left_equal_right
- boolean variable indicating whether the two lead structures are identical. - Type:
- bool 
 
 - get_bloch(lead, direction, k_long_index=None, k_trans_index=0, energy_index=0, spin=1)[source]
- get information about certain Bloch-wave in leads. - Parameters:
- k_trans_index (int) – index of transverse wave vector, see system.kpoint.fractional_coordinates 
- energy_index (int) – index of energy-point 
- spin (int) – +1/-1 spin-up/down 
- k_long_index (int / None) – index of the longitudinal wave vector; if None, take all wave vectors. 
- lead (str) – in which lead, “left” or “right” 
- direction (str) – “in”coming or “out”going 
 
- Returns:
- dictionary 
 
 - get_scatt_wave(lead, k_long_index, k_trans_index=0, energy_index=0, spin=1, **kwargs)[source]
- Returns certain wave-function as 3d-array, given incident wave. - Parameters:
- k_trans_index (int) – index of transverse wave vector, see system.kpoint.fractional_coordinates 
- energy_index (int) – index of energy-point 
- spin (int) – +1/-1 spin-up/down 
- k_long_index (int) – index of the longitudinal wave vector 
- lead (str) – from which lead, “left” or “right”, the incident wave comes 
 
 
 - get_scatter_rate(incoming, outgoing)[source]
- Returns scattering rate from an incoming to an outgoing state. - Parameters:
- incoming (dict) – see get_bloch 
- outgoing (dict) – see get_bloch 
 
 
 - plot_isosurfaces(lead, k_long_index, k_trans_index=0, energy_index=0, spin=1, vals=None, **kwargs)[source]
- Plots isosurface of selected wavefunction at given contour-values. - Parameters:
- k_trans_index (int) – index of transverse wave vector, see system.kpoint.fractional_coordinates 
- energy_index (int) – index of energy-point 
- spin (int) – +1/-1 spin-up/down 
- k_long_index (int) – index of the longitudinal wave vector 
- lead (str) – from which lead, “left” or “right”, the incident wave comes 
- vals (list of float) – contour values 
 
 
 - solve(energy=None, input='nano_scatt_in', output='nano_scatt_out')[source]
- Calculates transmission This method triggers the nanodcalplus executable. Result is stored in self.dos.transmission - Parameters:
- energies (float / iterable) – energy grid over which the transmission is to be calculated. eg. energies=0.1 eg. energies=[0.1,0.2,0.3]