kwant.solvers.common.GreensFunction

class kwant.solvers.common.GreensFunction(data, lead_info, out_leads, in_leads, current_conserving=False)[source]

Bases: kwant.solvers.common.BlockResult

Retarded Green’s function.

Transport properties can be easily accessed using the transmission method (don’t be fooled by the name, it can also compute reflection, which is just transmission from one lead back into the same lead).

GreensFunction however also allows for a more direct access to the result: The data stored in GreensFunction is the real-space Green’s function. The details of this data can be directly accessed through the instance variables data and lead_info. Subblocks of data corresponding to particular leads are conveniently obtained by submatrix.

Attributes

data (NumPy array) a matrix containing all the requested matrix elements of Green’s function.
lead_info (list of matrices) a list with self-energies of each lead.
out_leads, in_leads (sequence of integers) indices of the leads where current is extracted (out) or injected (in). Only those are listed for which SMatrix contains the calculated result.

Methods

block_coords(lead_out, lead_in)[source]

Return slices corresponding to the block from lead_in to lead_out.

conductance_matrix()[source]

Return the conductance matrix.

This is the matrix \(C\) such that \(I = CV\) where \(I\) and \(V\) are, respectively, the vectors of currents and voltages for each lead.

This matrix is useful for calculating non-local resistances. See Section 2.4 of the book by S. Datta.

in_block_coords(lead_in)[source]

Return a slice with the columns in the block corresponding to lead_in.

num_propagating(lead)[source]

Return the number of propagating modes in the lead.

out_block_coords(lead_out)[source]

Return a slice with the rows in the block corresponding to lead_out.

submatrix(lead_out, lead_in)[source]

Return the matrix elements from lead_in to lead_out.

transmission(lead_out, lead_in)[source]

Return transmission from lead_in to lead_out.

If the option current_conserving has been enabled for this object, this method will deduce missing transmission values whenever possible.

Current conservation is enabled by default for objects returned by smatrix and greens_function whenever the Hamiltonian has been verified to be Hermitian (option check_hermiticity, enabled by default).

Previous topic

kwant.solvers.common.SMatrix

Next topic

kwant.solvers.sparse – Basic sparse matrix solver

This Page