Skip to content

Device

construct_from_unit_cell#

construct_from_unit_cell: bool = False

neighbor_cell_cutoff#

neighbor_cell_cutoff: tuple[NonNegativeInt, NonNegativeInt, NonNegativeInt] | None = None

The number of neighbor cells to consider along each lattice direction.

Note

Currently, this parameter is only used if construct_from_unit_cell is True.

If set to None, all neighbor cells are considered. A neighbor_cell_cutoff of zero means that only the unit cell itself is considered. Along the transport direction, at least one neighboring cell must be included.

If more neighbor cells are requested than present in the input Hamiltonian, a ValueError is raised.

num_transport_cells#

num_transport_cells: PositiveInt = 1

The number of transport cells to include in the simulation.

Note

This parameter is only used if construct_from_unit_cell is True.

transport_direction#

transport_direction: Literal['x', 'y', 'z']

block_size#

block_size: PositiveInt | list[PositiveInt] | None = None

The block size to use for the device Hamiltonian.

If a single integer is given, a constant block size is assumed. Alternatively, a list of block sizes can be given to specify the size of each block along transport direction.

This cannot be used in conjunction with construct_from_unit_cell=True since the block sizes are determined from the unit cell and the neighbor_cell_cutoff.

On the other hand, if construct_from_unit_cell=False, the block size must be given.

contacts#

contacts: list[ContactConfig]

num_orbitals_per_atom#

num_orbitals_per_atom: dict[str, int] = {'X': 1}

kpoint_grid#

kpoint_grid: tuple[PositiveInt, PositiveInt, PositiveInt] = (1, 1, 1)

kpoint_shift#

kpoint_shift: tuple[float, float, float] = (0.0, 0.0, 0.0)

orthogonal_basis#

orthogonal_basis: bool = True

Whether the basis set is orthogonal.

This affects how the overlap matrix is handled. In the case of True, the overlap matrix is identity.

Warning

Currently, False is not supported since the code does not correctly handle overlap matrices in the case of kpoints.