TwoProbeMethod — The TwoProbeMethod class is used to represent parameters that control the combined density-functional electronic structure calculation and the non-equilibrium Green's function calculation of two-probe systems.
The TwoProbeMethod class is used to represent
parameters that control the combined density-functional electronic structure
calculation and the non-equilibrium Green's function calculation of two-probe
systems. As such, it serves as the the two-probe equivalent of the KohnShamMethod class. The returned object is used
as an input parameter to executeSelfConsistentCalculation() which performs the actual self-consistent
calculation. Alternatively, the apply() of the TwoProbeMethod itself (see below) can be used.
The method is in principle independent of the atomic geometry, which is defined by a TwoProbeConfiguration class. There is however some connection via the electrode parameters (see below).
List of arguments
A tuple containing two objects of type ElectrodeParameters.
Default: This parameter has no default due to the requirement of specifying the k-point sampling in the electrodes.
A dictionary with basis set parameters.
Default: Parameters corresponding to basisSetParameters() supplied with no arguments.
The type of exchange correlation functionals to be used.
Default: LDA.PZ
A dictionary with electron density parameters, such as mesh cut-off and initial spin.
Default: Parameters corresponding to electronDensityParameters() supplied with no arguments.
Parameters for the two-center integrals.
Default: Parameters corresponding to twoCenterIntegralParameters() supplied with no arguments.
Parameters used to control the mixing in the self-consistent field calculation.
Default: Parameters corresponding to iterationMixingParameters() supplied with no arguments.
Parameters used to determine the convergence criteria of the self-consistent field calculation.
Default: Parameters corresponding to iterationControlParameters() supplied with no arguments.
Parameters that control the contour integration in the complex energy plane.
Default: Parameters corresponding to energyContourIntegralParameters() supplied with no arguments.
The voltages applies to the two electrodes. Should be given as a list, e.g. (0.0,1.0)*Volt.
Default: (0.0,0.0)*Volt
Parameters that control the setting of electrode constraint in the two-probe calculation.
Default: Parameters corresponding to twoProbeAlgorithmParameters() supplied with no arguments.
from ATK.TwoProbe import * electrode_params = ... basis_set = ... initial_density = ... twoprobe_method = TwoProbeMethod( electrode_parameters=(electrode_parms, electrode_parms), basis_set_parameters=basis_set, electron_density_parameters=initial_density, electrode_voltages=(0.0,0.8)*Volt ) configuration = TwoProbeConfiguration(...) scf = executeSelfConsistentCalculation(configuration,twoprobe_method)
The order in which the electrode voltages are specified should correspond to the order in which the electrodes are listed in the corresponding TwoProbeConfiguration, when it is combined with the TwoProbeMethod in the function executeSelfConsistentCalculation().
The basis_set_parameters may be specified in two different
ways:
A single dictionary, as returned by basisSetParameters().
A list of such dictionaries, in order to define individual basis set parameters for different elements.
For more information, see basisSetParameters().
As for the KohnShamMethod (see this page
for more details), it is possible to perform a two-probe self-consistent field
calculation by using the apply() method:
from ATK.TwoProbe import * ... dft_method = TwoProbeMethod(...) scf = dft_method.apply(atomic_configuration)
To apply a gate voltage to the two-probe system, use GatedTwoProbeMethod.