ThomasFermi

class qdflow.physics.simulation.ThomasFermi(physics, numerics=None)

Bases: object

Thomas-Fermi simulation of a quantum dot nanowire.

Given a specific set of physical parameters, this class can calculate the particle density, sensor readout, current, state of the system, etc.

To use this class, initiate a ThomasFermi instance with the appropriate PhysicsParameters and (optionally) NumericsParameters. Then use the run_calculations() function, which will perform all necessary calculations and return relavant quantities as an instance of the ThomasFermiOutput dataclass.

Parameters:
  • physics (PhysicsParameters | dict[str, Any]) – PhysicsParameters object or dictionary with the relevant physical parameter names and values.

  • numerics (NumericsParameters | dict[str, Any], optional) – NumericsParameters object or dictionary with names and values for options for numeric calculations.

See also

PhysicsParameters

Physical device parameters

NumericsParameters

Numeric options

__init__(physics, numerics=None)

Methods

calc_WKB_prob(physics, qV_TF, islands, ...)

Calculates the transition rates between islands.

calc_approximate_charges(physics, n, islands)

Calculates the approximate charge on each island.

calc_cap_energy(N_vec, energy_matrix, ...)

Calculates the capacitance energy (in meV) of a given charge configuration.

calc_charge_centers(physics, n, islands)

Calculates the center of each charge island.

calc_current(physics, G, dist, ...)

Calculates the current running through the wire, from the Markov graph.

calc_dot_states(physics, islands, ...)

Calculates the state of each dot in the system.

calc_energy_matrix(physics, numerics, K_mat, ...)

Calculates the energy matrix for the system.

calc_graph_charge(G, dist)

Calculates the modal charge configuration of the steady-state of the Markov graph.

calc_island_charges(numerics, energy_matrix, ...)

Calculates stable integer charge configuration.

calc_islands_and_barriers(physics, numerics, n)

Separates n(x) into islands of charge.

calc_n(physics, numerics, V, K_mat, ...[, ...])

Calculates the particle density n(x) using a ThomasFermi model.

calc_n_numba(n_0, qV, K_mat, g_0, beta, mu, ...)

Calculates the particle density n(x) using numba.

calc_qV_TF(physics, V, K_mat, n)

Calculates the Thomas-Fermi potential (in meV).

calc_stable_dist(G, island_charges)

Calculates the steady-state of the Markov graph.

calc_weight(physics, p_WKB, energy_matrix, ...)

Calculates the transition rate from one charge configuration to another.

count_transitions(numerics, G, stable_node)

Calculates the number of nearby transitions.

create_graph(physics, numerics, ...)

Creates the Markov graph of charge configurations.

fermi(physics, E)

Calculates the fermi distribution at a given energy (or energies).

island_charges_from_charge_state(physics, n, ...)

Calculates the charges on each island from a particular charge state.

run_calculations(*[, include_energy_matrix, ...])

Run the simulation.

sensor_from_charge_state(physics, n, ...)

Calculates the sensor output from a particular charge state.

sensor_from_island_charges(physics, ...)

Calculates the sensor output from a given set of island charges.