EquivalentBulk — Class for representing an Equivalent Bulk initial Density Matrix for Device simulations.
Constructor for the EquivalentBulk class.
Length over which the atoms in the electrode copy within the central region will be initialized with a linear combination of the converged density matrix of the electrodes and the equivalent bulk density matrix. The weight of the electrode density matrix is 1 at the boundary and 0 at the distance electrode_constraint length from the boundary.
Type: PhysicalQuantity with a length unit.
Default:
0.0*Angstrom
The IterationControlParameters used for the equivalent bulk run. It is not allowed to use NonSelfConsistent for EquivalentBulk.
Type: IterationControlParameters
Default:
A default IterationControlParameters object.
A EquivalentBulk object provides the following methods:
This object supports cloning. See the section called “Cloning of ATK Python objects”.
electrodeConstraintLength(): Return the electrode constraint length.
iterationControlParameters(): Return the iteration control parameters
Setup a self-consistent calculation where the initial density matrix is constructed by first performing a self-consistent bulk calculation of the central region, i.e. a calculation with periodic boundary conditions in the C-direction.
The initial density matrix elements of atoms within a distance of 7 Angstrom from the electrodes are set to the electrode density matrix elements.
device_algorithm_parameters = DeviceAlgorithmParameters(
initial_density_type = EquivalentBulk(electrode_constraint_length = 7.*Ang))
calculator = DeviceHuckelCalculator(
device_algorithm_parameters = device_algorithm_parameters,
)
The EquivalentBulk initial density type often gives a very good initial guess for the density matrix. It can also be used when the central region is not periodic.
The EquivalentBulk density can also be used for
obtaining the transmission spectrum, by setting the IterationControlParameters of the DeviceLCAOCalculator to
NonSelfconsistent. This approach is usually very accurate and
fast for systems at zero bias.
If the electrode_constraint_length is longer than the length
of the electrode, still only the electrode copy atoms within the central region will
be affected. However, the weighting of the electrode density matrix will be
larger. For instance, if electrode_constraint_length is infinite, the initial
density matrix of the electrode copy atoms in the central region will be the
electrode density matrix.