Skip to content

qtbm#

Includes the core class for QTBM calculations.

Classes:

  • Observables

    Container for transport observables from QTBM calculations.

  • QTBM

    Quantum Transmitting Boundary Method solver.

Observables dataclass #

Observables(electron_ldos: dict[Contact, NDArray] = dict(), contact_currents: dict[tuple[Contact, Contact], NDArray] = dict(), transmissions: dict[tuple[Contact, Contact], NDArray] = dict())

Container for transport observables from QTBM calculations.

Attributes:

  • electron_ldos ((dict, optional)) –

    Orbital-resolved local density of states (LDOS) for each contact.

  • contact_currents ((dict, optional)) –

    Contact current values for each contact pair.

  • transmissions ((dict, optional)) –

    Transmission coefficients between contact pairs.

QTBM #

QTBM(device: Device, config: QuatrexConfig)

Bases: TransportSolver

Quantum Transmitting Boundary Method solver.

Parameters:

  • device (Device) –

    The quantum device object containing Hamiltonian, atomic structure, and attached contacts.

  • config (QuatrexConfig) –

    Configuration object containing calculation parameters, energy grid, and numerical settings.

Attributes:

  • device (Device) –

    Reference to the device object.

  • kpoints (tuple) –

    k-points for the calculation.

  • observables (Observables) –

    Container for computed transport observables including transmission matrices, density of states, and current distributions.

  • electron_energies (NDArray) –

    Full energy grid for the calculation.

  • local_energies (NDArray) –

    Local portion of energy grid for MPI parallelization.

Methods:

  • set_potential

    Sets the potential for the QTBM calculation.

  • get_charge_density

    Gets the charge density from the QTBM calculation.

  • run

    Runs the complete QTBM transport calculation.

set_potential #

set_potential(potential: NDArray)

Sets the potential for the QTBM calculation.

This method can be used to update the potential in the system matrix for self-consistent calculations. It modifies the system matrix in-place to include the new potential.

Parameters:

  • potential (NDArray) –

    The new potential values to be set in the system matrix.

get_charge_density #

get_charge_density() -> NDArray

Gets the charge density from the QTBM calculation.

This method integrates the local density of states to obtain the charge density. This is typically used in self-consistent calculations where the charge density is needed to update the potential.

Returns:

  • charge_density ( NDArray ) –

    The computed charge density for the device.

run #

run() -> None

Runs the complete QTBM transport calculation.