Hello, 
I have been trying to build an antiferromagnetic g-type lead with the code
attached below.
It seems i have a problem with the band-structure because i was expecting to
have a ferromagnet if if set 
m1 = m2 = 0.0 
in the code below. (But apparently i got a different band structure with
that of a ferromagnet)
I will appreciate your help.
best Regards 
Colins
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
import kwant
# For plotting.
from matplotlib import pyplot
from math import *
from numpy import *
from mpl_toolkits.mplot3d.axes3d import Axes3D # imports 3D plotting
from matplotlib import cm # module for color pattern
from random import seed
from random import uniform
import tinyarray
import time

s_0 = tinyarray.array([[1, 0], [0, 1]])
s_x = tinyarray.array([[0, 1], [1, 0]])
s_y = tinyarray.array([[0, -1j], [1j, 0]])
s_z = tinyarray.array([[1, 0], [0, -1]])

def make_lead(a=1, t=1.0, Vat= 0.0, EF= 7.0, Jex=-1.0, W=40):

    # Start with an empty lead with a single square lattice
    lat = kwant.lattice.square(a)

    sym_lead = kwant.TranslationalSymmetry((-2*a, 0))
    lead = kwant.Builder(sym_lead)

    # build up one unit cell of the lead, and add the hoppings
    # to the next unit cell
    for j in xrange(W):
        mz1 = cos((1.0 + j) * pi)
        mz2 = cos(j * pi)
        lead[lat(0, j)] = (4 * t + Vat)* s_0 + Jex * mz1 * s_z
        lead[lat(1, j)] = (4 * t + Vat)* s_0 + Jex * mz2 * s_z
        if j > 0:
            lead[lat(0, j), lat(0, j - 1)] = -t * s_0
            lead[lat(1, j), lat(1, j - 1)] = -t * s_0
        lead[lat(1, j), lat(0, j)] = -t * s_0
        lead[lat(2, j), lat(1, j)] = -t * s_0

    return lead

def main():
    lead = make_lead().finalized()
    kwant.plotter.bands(lead, show=False)
    pyplot.xlabel("momentum [(lattice constant)^-1]")
    pyplot.ylabel("energy [t]")
    pyplot.title("Band structure G-type AF")
    pyplot.show()

if __name__ == '__main__':
    main()
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Reply via email to