class tkwant.onebody.ScatteringStates(syst, energy, lead, tmax=None, params=None, spectra=None, boundaries=None, equilibrium_solver=<bound method SparseSolver.wave_function of <kwant.solvers.mumps.Solver object>>, wavefunction_type=<bound method WaveFunction.from_kwant of <class 'tkwant.onebody.onebody.WaveFunction'>>)[source]

Calculate time-dependent wavefunctions starting in an equilibrium scattering state

  • syst (kwant.builder.FiniteSystem) – The low level system for which the wave functions are to be calculated.

  • energy (float) – Energy of the scattering eigenstate.

  • lead (int) – Lead index to construct the scattering state.

  • tmax (float, optional) – The maximum time up to which to simulate. Sets the boundary conditions such that they are guaranteed to be correct up to ‘tmax’. Mutually exclusive with ‘boundaries’.

  • params (dict, optional) – Extra arguments to pass to the Hamiltonian of syst, excluding time.

  • spectra (sequence of kwantspectrum.spectrum, optional) – Energy dispersion \(E_n(k)\) for the leads. Must have the same length as syst.leads. Required only if no boundaries are provided. If needed but not present, it will be calculated on the fly from syst.leads.

  • boundaries (sequence of BoundaryBase, optional) – The boundary conditions for each lead attached to syst. Mutually exclusive with ‘tmax’.

  • equilibrium_solver (kwant.wave_function, optional) – Solver for initial equilibrium scattering problem.

  • wavefunction_type (WaveFunction, optional) – One-body time-dependent wave function. Name of the time argument and initial time are taken from this class. If this is not possible, default values are used as a fallback.


An instance of this class behaves like a sequence of WaveFunction instances. The index in the sequence corresponds to the scattering mode. The name of the time argument (time_name) and the initial time of the evolution (time_start) are taken from the default values of the WaveFunction.__init__ method. Changing the default values by partial prebind (e.g. via functools) is possible.