API documentation
current_solver(f_hamiltonian, f_leads, system_parameters, lead_parameters, kbT)
Constructs a solver function for quantum transport problems. The returned function computes the current for a given bias, using the provided Hamiltonian and lead callables, system and lead parameters, and temperature.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
f_hamiltonian
|
callable
|
Callable that returns the Hamiltonian matrix for given system parameters. |
required |
f_leads
|
list[callable]
|
List of callables, each returning a lead matrix for given lead parameters. |
required |
system_parameters
|
dict
|
Dictionary of parameters for the system Hamiltonian. |
required |
lead_parameters
|
dict
|
Dictionary of parameters for the leads. |
required |
kbT
|
float
|
Temperature in energy units. |
required |
Returns:
Name | Type | Description |
---|---|---|
callable |
A function f(biases) that computes the current for the specified biases. |
Source code in qrate/solvers.py
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
|
get_current(w_plus, w_minus)
Solves the rate equations and computes the current for the system.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
w_plus
|
ndarray
|
Transition rates for electron addition. |
required |
w_minus
|
ndarray
|
Transition rates for electron removal. |
required |
Returns:
Type | Description |
---|---|
np.ndarray: Current for each lead and bias configuration. |
Source code in qrate/solvers.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
|
n_fermi(eigs, mu, kbT)
Computes the Fermi-Dirac distribution for a set of eigenvalues and chemical potentials.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
eigs
|
ndarray
|
Array of eigenvalues. |
required |
mu
|
ndarray
|
Array of chemical potentials (biases). |
required |
kbT
|
float
|
Temperature in energy units. |
required |
Returns:
Type | Description |
---|---|
np.ndarray: Fermi-Dirac occupation probabilities with shape (n_l, n_l, n_e, n_e). |
Source code in qrate/solvers.py
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
setup_system(hamiltonian_matrix, lead_matrices, kbT)
Diagonalizes the Hamiltonian and prepares the system for transport calculations.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
hamiltonian_matrix
|
ndarray
|
The system Hamiltonian matrix. |
required |
lead_matrices
|
list[ndarray]
|
List of lead coupling matrices. |
required |
kbT
|
float
|
Temperature in energy units. |
required |
Returns:
Name | Type | Description |
---|---|---|
callable |
Function that computes W matrices for given biases. |
Source code in qrate/solvers.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
t_matrices(vecs, lead_coupling)
Computes the transition matrices t_minus and t_plus for the system.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
vecs
|
ndarray
|
Eigenvectors of the Hamiltonian. |
required |
lead_coupling
|
ndarray
|
Lead coupling matrices. |
required |
Returns:
Name | Type | Description |
---|---|---|
tuple |
(t_minus, t_plus) transition matrices. |
Source code in qrate/solvers.py
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|