Hello,

I have been trying to find a way to replicate the quasienergy spectrum of a 
periodically driven dimers chain, as depicted in Fig 3 of 
https://doi.org/10.1103/PhysRevLett.110.200403, using tkwant.

I started with a basic time-independent model 

import kwant
from matplotlib import pyplot
import numpy as np

a = 1.0
b = 0.2 * a

lat = kwant.lattice.general([(0, a), (a, 0)], [(1, 0), (b, 0)])
lat_a, lat_b = lat.sublattices

sym = kwant.TranslationalSymmetry((-a, 0))

dimers = kwant.Builder(sym)

dimers[lat_a(-1, 0)] = 5
dimers[lat_b(-1, 0)] = 3
dimers[[kwant.builder.HoppingKind((0, 0), lat_a, lat_b)]] = -1.5
dimers[[kwant.builder.HoppingKind((0, 1), lat_a, lat_b)]] = -1.7

kwant.plot(dimers)

dimers = dimers.finalized()

bands = kwant.physics.Bands(dimers)

momenta = np.linspace(-np.pi, np.pi, 101)
energies = [bands(k) for k in momenta]

pyplot.plot(momenta, energies)
pyplot.grid("on")

Now I want to introduce the time-dependent vector potential

def vec_potential(time, freq, e_field):
    q = -1 
    A_0 = q * e_field / freq
    return A_0 * np.sin(freq * time)

however, I have been stuck over how exactly to couple the two together and 
correctly modify the hoppings. I am also uncertain whether the existing 
kwant/tkwant API will allow me to extract quasi-energy spectrum directly. Any 
hints will be greatly appreciated.

Best wishes,
Valentin

Reply via email to