nanotools.twoprobe module
- class nanotools.twoprobe.TwoProbe(center, left=None, right=None, transport_axis: int = -1, left_equal_right: bool = False, bias=None, energy_resolution=<Quantity(0.01, 'electron_volt')>, classname: str = NOTHING)[source]
Bases:
Base
TwoProbe
calculator class.- transport_axis
Transport direction.
- Type:
int
- left_equal_right
Indicates whether the two lead structures are identical.
- Type:
bool
- bias
Drain-source bias voltage.
- Type:
Quantity
- energy_resolution
Energy resolution for real-axis integration.
- Type:
Quantity
- classmethod read3(file_center, file_left=None, file_right=None, units='si')[source]
initialize TwoProbe object from json files. :param file_center: :type file_center: string :param file_left: :type file_left: string/None :param file_right: :type file_right: string/None :param units: unit system. :type units: string :param eg. file_center=”center_out.json”: file_left=”left_out.json”
file_right=”right_out.json”
- set_bias(bias, energy_resolution=None)[source]
Sets drain-source bias and optionally the energy resolution for real-axis integration. :param bias: drain-source bias :type bias: Quantity/float :param energy_resolution: energy resolution for real-axis integration :type energy_resolution: Quantity/float
- set_mpi_command(mpi)[source]
Sets os command to run nanodcalplus, for all types of calculations eg. mpi=”mpiexec -n 16”
- smooth_field(field, axis, width=2.0, shape='erf', preslice=None)[source]
Smooths a field by circular convolution.
- Parameters:
field (str) – str: Path in the HDF5 filed pointed to by self.solver.restart.density. For example, “potential/effective”.
axis (int) – Axis remaining after averaging. The value should be between 0 and 2.
width (float) – Unit system (‘atomic’ or ‘si’)
preslice (lamda) – Lamda expression that slices the field, for example when we wanna cut out the surrounding vaccum preslice=lambda f: f[:,60:90,:]