nanotools.current module
Two-probe transport calculator.
- class nanotools.current.Current(center, left=None, right=None, left_equal_right: bool = False, dos=NOTHING, eta=<Quantity(1e-06, 'hartree')>, transport_axis: int = -1, classname: str = NOTHING, Iup: float = 0.0, Idw: float = 0.0, temperature=<Quantity(300.0, 'kelvin')>)[source]
Bases:
Transmission
The
Current
class manages the workflow of calculating charge currents in a two-probe system.- Iup
spin-up charge current
- Type:
float
- temperature
- Type:
pint.registry.Quantity
- calc_charge_current(T=None)[source]
Calculates charge current.
This method first computes the transmission of the given two-probe system, and then integrates across the bias window (Landauer-Büttiker formula) to get the current. This method triggers the
nanodcalplus
executable.- Parameters:
T (float) – temperature
- Returns:
total current and its physical unit. Iup, Idw, unit (tuple[float, float, string]): spin-resolved currents in the collinear spin case, and the unit.
- Return type:
I, unit (tuple[float, string])
- get_charge_current(T=None)[source]
Calculate charge current. When calling this method, the transmission calculation is assumed complete already. This method integrates the transmission across the bias window (Landauer-Büttiker formula) to get the current.
- Parameters:
T (float) – temperature
- Returns:
total current and its physical unit. Iup, Idw, unit (tuple[float,float,string]): spin-resolved currents in the collinear spin case, and the unit.
- Return type:
I, unit (tuple[float,string])