0.0.88
This commit is contained in:
parent
1aa4ec913f
commit
7aea8b3cef
@ -1,7 +1,7 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
# replace with your username:
|
# replace with your username:
|
||||||
name = guan
|
name = guan
|
||||||
version = 0.0.87
|
version = 0.0.88
|
||||||
author = guanjihuan
|
author = guanjihuan
|
||||||
author_email = guanjihuan@163.com
|
author_email = guanjihuan@163.com
|
||||||
description = An open source python package
|
description = An open source python package
|
||||||
|
@ -115,7 +115,11 @@ hopping = guan.get_hopping_term_of_graphene_ribbon_along_zigzag_direction(N, eta
|
|||||||
|
|
||||||
hamiltonian = guan.hamiltonian_of_finite_size_system_along_two_directions_for_graphene(N1, N2, period_1=0, period_2=0)
|
hamiltonian = guan.hamiltonian_of_finite_size_system_along_two_directions_for_graphene(N1, N2, period_1=0, period_2=0)
|
||||||
|
|
||||||
H0, H1, H2 = get_onsite_and_hopping_terms_of_BHZ_model(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1)
|
H0, H1, H2 = guan.get_onsite_and_hopping_terms_of_BHZ_model(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1)
|
||||||
|
|
||||||
|
H0, H1, H2 = guan.get_onsite_and_hopping_terms_of_half_BHZ_model_for_spin_up(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1)
|
||||||
|
|
||||||
|
H0, H1, H2 = guan.get_onsite_and_hopping_terms_of_half_BHZ_model_for_spin_down(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -141,6 +145,8 @@ hamiltonian = guan.hamiltonian_of_haldane_model_in_quasi_one_dimension(k, N=10,
|
|||||||
|
|
||||||
hamiltonian = guan.hamiltonian_of_one_QAH_model(k1, k2, t1=1, t2=1, t3=0.5, m=-1)
|
hamiltonian = guan.hamiltonian_of_one_QAH_model(k1, k2, t1=1, t2=1, t3=0.5, m=-1)
|
||||||
|
|
||||||
|
hamiltonian = guan.hamiltonian_of_BHZ_model(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01)
|
||||||
|
|
||||||
hamiltonian = guan.hamiltonian_of_half_BHZ_model_for_spin_up(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01)
|
hamiltonian = guan.hamiltonian_of_half_BHZ_model_for_spin_up(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01)
|
||||||
|
|
||||||
hamiltonian = guan.hamiltonian_of_half_BHZ_model_for_spin_down(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01)
|
hamiltonian = guan.hamiltonian_of_half_BHZ_model_for_spin_down(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01)
|
||||||
@ -682,6 +688,50 @@ def get_onsite_and_hopping_terms_of_BHZ_model(A=0.3645/5, B=-0.686/25, C=0, D=-0
|
|||||||
H2[3, 2] = -1j*V_sp
|
H2[3, 2] = -1j*V_sp
|
||||||
return H0, H1, H2
|
return H0, H1, H2
|
||||||
|
|
||||||
|
def get_onsite_and_hopping_terms_of_half_BHZ_model_for_spin_up(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1):
|
||||||
|
E_s = C+M-4*(D+B)/(a**2)
|
||||||
|
E_p = C-M-4*(D-B)/(a**2)
|
||||||
|
V_ss = (D+B)/(a**2)
|
||||||
|
V_pp = (D-B)/(a**2)
|
||||||
|
V_sp = -1j*A/(2*a)
|
||||||
|
H0 = np.zeros((2, 2), dtype=complex)
|
||||||
|
H1 = np.zeros((2, 2), dtype=complex)
|
||||||
|
H2 = np.zeros((2, 2), dtype=complex)
|
||||||
|
H0[0, 0] = E_s
|
||||||
|
H0[1, 1] = E_p
|
||||||
|
H1[0, 0] = V_ss
|
||||||
|
H1[1, 1] = V_pp
|
||||||
|
H1[0, 1] = V_sp
|
||||||
|
H1[1, 0] = -np.conj(V_sp)
|
||||||
|
H2[0, 0] = V_ss
|
||||||
|
H2[1, 1] = V_pp
|
||||||
|
H2[0, 1] = 1j*V_sp
|
||||||
|
H2[1, 0] = 1j*np.conj(V_sp)
|
||||||
|
return H0, H1, H2
|
||||||
|
|
||||||
|
def get_onsite_and_hopping_terms_of_half_BHZ_model_for_spin_down(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1):
|
||||||
|
E_s = C+M-4*(D+B)/(a**2)
|
||||||
|
E_p = C-M-4*(D-B)/(a**2)
|
||||||
|
V_ss = (D+B)/(a**2)
|
||||||
|
V_pp = (D-B)/(a**2)
|
||||||
|
V_sp = -1j*A/(2*a)
|
||||||
|
H0 = np.zeros((2, 2), dtype=complex)
|
||||||
|
H1 = np.zeros((2, 2), dtype=complex)
|
||||||
|
H2 = np.zeros((2, 2), dtype=complex)
|
||||||
|
H0[0, 0] = E_s
|
||||||
|
H0[1, 1] = E_p
|
||||||
|
H1[0, 0] = V_ss
|
||||||
|
H1[1, 1] = V_pp
|
||||||
|
H1[0, 1] = np.conj(V_sp)
|
||||||
|
H1[1, 0] = -V_sp
|
||||||
|
H2[0, 0] = V_ss
|
||||||
|
H2[1, 1] = V_pp
|
||||||
|
H2[0, 1] = -1j*np.conj(V_sp)
|
||||||
|
H2[1, 0] = -1j*V_sp
|
||||||
|
return H0, H1, H2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -817,6 +867,21 @@ def hamiltonian_of_one_QAH_model(k1, k2, t1=1, t2=1, t3=0.5, m=-1):
|
|||||||
hamiltonian[1, 1] = -(m+2*t3*math.sin(k1)+2*t3*math.sin(k2)+2*t2*math.cos(k1+k2))
|
hamiltonian[1, 1] = -(m+2*t3*math.sin(k1)+2*t3*math.sin(k2)+2*t2*math.cos(k1+k2))
|
||||||
return hamiltonian
|
return hamiltonian
|
||||||
|
|
||||||
|
def hamiltonian_of_BHZ_model(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01):
|
||||||
|
hamiltonian = np.zeros((4, 4), dtype=complex)
|
||||||
|
varepsilon = C-2*D*(2-math.cos(kx)-math.cos(ky))
|
||||||
|
d3 = -2*B*(2-(M/2/B)-math.cos(kx)-math.cos(ky))
|
||||||
|
d1_d2 = A*(math.sin(kx)+1j*math.sin(ky))
|
||||||
|
hamiltonian[0, 0] = varepsilon+d3
|
||||||
|
hamiltonian[1, 1] = varepsilon-d3
|
||||||
|
hamiltonian[0, 1] = np.conj(d1_d2)
|
||||||
|
hamiltonian[1, 0] = d1_d2
|
||||||
|
hamiltonian[2, 2] = varepsilon+d3
|
||||||
|
hamiltonian[3, 3] = varepsilon-d3
|
||||||
|
hamiltonian[2, 3] = -d1_d2
|
||||||
|
hamiltonian[3, 2] = -np.conj(d1_d2)
|
||||||
|
return hamiltonian
|
||||||
|
|
||||||
def hamiltonian_of_half_BHZ_model_for_spin_up(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01):
|
def hamiltonian_of_half_BHZ_model_for_spin_up(kx, ky, A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01):
|
||||||
hamiltonian = np.zeros((2, 2), dtype=complex)
|
hamiltonian = np.zeros((2, 2), dtype=complex)
|
||||||
varepsilon = C-2*D*(2-math.cos(kx)-math.cos(ky))
|
varepsilon = C-2*D*(2-math.cos(kx)-math.cos(ky))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user