tkwant.manybody.make_boundstates_time_dependent

tkwant.manybody.make_boundstates_time_dependent(boundstate_psi, boundstate_tasks, syst, boundaries, params=None, onebody_wavefunction=<bound method WaveFunction.from_kwant of <class 'tkwant.onebody.onebody.WaveFunction'>>)[source]

Make boundstates time dependent, such that they can evolve in time.

Parameters
  • boundstate_psi (dict) – Dictionary with all boundstate wavefunctions. If a wavefunction is of type tkwant.onebody.WaveFunction and has an evolve() method, it is not changed. Otherwise, the wavefunction must be a ndarray array and is taken as the initial value to construct a time dependent boundstate wave function from it. The the original wavefunction is then replaced by the time dependent one in place. For load balancing the dictionary should be distributed over all MPI ranks.

  • boundstate_tasks (dict of tkwant.onebody.Task) –

    Each element in the dict represents a single boundstate state. An element must have at least the following attribute:

    • weight : float, weighting factor

    • energy : float, the energy of the bound state.

    boundstate_tasks must include all boundstates stored in boundstate_psi (all keys must be identical) and must be the same on all MPI ranks.

  • syst (kwant.builder.FiniteSystem) – The low level system.

  • boundaries (sequence of BoundaryBase) – The boundary conditions for each lead attached to syst. Must have the same length as syst.leads.

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

  • onebody_wavefunction (tkwant.onebody.WaveFunction, optional) – Class to evolve a single-particle wavefunction in time.

Notes

This routine changes boundstate_psi in place.