Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

8.4 Exercise: Defining a new model — The one-dimensional t-V model

In this section, we will show what modifications have to be carried out for computing the physics of the one dimensional t-V model of spinless fermions.

H^=−t∑i(c^i†c^i+a†+c^i+a†c^i†)−V2∑i(c^i†c^i+a†+c^i+a†c^i†)2.\hat{H} = -t \sum_{i} \left( \hat{c}^{\dagger}_{i} \hat{c}^{\phantom\dagger}_{i+a} + \hat{c}^{\dagger}_{i+a} \hat{c}^{\phantom\dagger}_{i} \right) - \frac{V}{2} \sum_{i} \left( \hat{c}^{\dagger}_{i} \hat{c}^{\phantom\dagger}_{i+a} + \hat{c}^{\dagger}_{i+a} \hat{c}^{\phantom\dagger}_{i} \right)^2 .

The above form is readily included in the ALF since the interaction is written in terms of a perfect square. Expanding the square yields (up to a constant) the desired model:

H^=−t∑i(c^i†c^i+a†+c^i+a†c^i†)+V∑i(n^i−1/2)(n^i+a−1/2).\hat{H} = -t \sum_{i} \left( \hat{c}^{\dagger}_{i} \hat{c}^{\phantom\dagger}_{i+a} + \hat{c}^{\dagger}_{i+a} \hat{c}^{\phantom\dagger}_{i} \right) + V \sum_{i} \left( \hat{n}_{i} - 1/2 \right) \left( \hat{n}_{i+a} - 1/2 \right).

Note that the t-V model is already implemented in ALF in the module Hamiltonian_tV_smod.F90 found in $ALF_DIR/Prog/Hamiltonians/. While it can be used for checking your own results[1], you are not supposed to reproduce that implementation — which is more general and makes use of predefined structures — but instead to write a simpler one, based on the module Hamiltonian_Hubbard_Plain_Vanilla_smod.F90 as detailed below.

8.4.1Define new model

In solution we have duplicated the ALF and commented the changes that have to be carried out to the file Hamiltonian_Hubbard_Plain_Vanilla_smod.F90. The following are the essential steps to be carried out:

eΔτV2(c^i†c^i+a†+c^i+a†c^i†)2=∑l=±1,±2γleΔτV2ηl(c^i†c^i+a†+c^i+a†c^i†)=∑l=±1,±2γlegηl(c^i†,c^i+a†)O(c^i†,c^i+a†)T.e^{\Delta \tau \frac{V}{2} \left( \hat{c}^{\dagger}_{i} \hat{c}^{\phantom\dagger}_{i+a} + \hat{c}^{\dagger}_{i+a} \hat{c}^{\phantom\dagger}_{i} \right)^2} = \sum_{l= \pm1, \pm 2} \gamma_l e^{ \sqrt{\Delta \tau \frac{V}{2}} \eta_l \left( \hat{c}^{\dagger}_{i} \hat{c}^{\phantom\dagger}_{i+a} + \hat{c}^{\dagger}_{i+a} \hat{c}^{\phantom\dagger}_{i} \right) } = \sum_{l= \pm1, \pm 2} \gamma_l e^{ g \eta_l \left( \hat{c}^{\dagger}_{i}, \hat{c}^{\dagger}_{i+a} \right) O \left(\hat{c}^{\phantom\dagger}_{i}, \hat{c}^{\phantom\dagger}_{i+a} \right)^{T} }.

Here is how this translates in the code (the new integer variable, i2, should be declared):

Allocate(Op_V(Ndim,N_FL))
 do nf = 1,N_FL
    do i  =  1, Ndim
       call Op_make(Op_V(i,nf),2)
    enddo
 enddo
 Do i = 1, Ndim  ! Runs over bonds = # of lattice sites in one-dimension. 
    i2                = Latt%nnlist(i,1,0)
    Op_V(i,nf)%P(1)   = i
    Op_V(i,nf)%P(2)   = i2
    Op_V(i,nf)%O(1,2) = cmplx(1.d0 ,0.d0, kind(0.d0))
    Op_V(i,nf)%O(2,1) = cmplx(1.d0 ,0.d0, kind(0.d0)) 
    Op_V(i,nf)%g      = sqrt(cmplx(Dtau*Ham_Vint/2.d0, 0.d0, kind(0.d0)))  
    Op_V(i,nf)%alpha  = cmplx(0d0  ,0.d0, kind(0.d0))
    Op_V(i,nf)%type   = 2
    Call Op_set( Op_V(i,nf) )
 enddo
!!!!! Modifications for Exercise 3
 !Zpot = Zpot*ham_U                       ! Vanilla
 Zpot = Zpot*Ham_Vint                     ! t-V
 !!!!!

and

!Zrho = Zrho + Grc(i,i,1) +  Grc(i,i,2)  ! Vanilla
 Zrho = Zrho + Grc(i,i,1)                 ! t-V

with the observables being coded in the routine Obser as

Z = cmplx(dble(N_SUN), 0.d0, kind(0.D0))
 Do I1 = 1,Ndim
    I = I1
    no_I = 1
    Do J1 = 1,Ndim
       J = J1
       no_J = 1
       imj = latt%imj(I,J)
       Obs_eq(1)%Obs_Latt(imj,1,no_I,no_J) =  Obs_eq(1)%Obs_Latt(imj,1,no_I,no_J) + &
       &               Z * GRC(I1,J1,1) * ZP*ZS  ! Green
       Obs_eq(2)%Obs_Latt(imj,1,no_I,no_J) =  Obs_eq(2)%Obs_Latt(imj,1,no_I,no_J) + &
       &               Z * GRC(I1,J1,1) * GR(I1,J1,1) * ZP*ZS  ! SpinZ
       Obs_eq(3)%Obs_Latt(imj,1,no_I,no_J) =  Obs_eq(3)%Obs_Latt(imj,1,no_I,no_J) + &
       &               ( GRC(I1,I1,1) * GRC(J1,J1,1) * Z + &
       &                 GRC(I1,J1,1) * GR(I1,J1,1 )       ) * Z * ZP*ZS  ! Den
    enddo
    Obs_eq(3)%Obs_Latt0(no_I) =  Obs_eq(3)%Obs_Latt0(no_I) + Z * GRC(I1,I1,1) * ZP * ZS
 enddo

among other changes — with similar ones in the ObserT routine.

Here the modified parameter file can be downloaded.

8.4.2Phase transition

You can now run the code for various values of V/tV/t. A Jordan-Wigner transformation will map the t_V model onto the XXZ chain:

H^=Jxx∑iS^ixS^i+ax+S^iyS^i+ay+Jzz∑iS^izS^i+az,\hat{H} = J_{xx} \sum_{i} \hat{S}^{x}_i \hat{S}^{x}_{i+a} + \hat{S}^{y}_i \hat{S}^{y}_{i+a} + J_{zz} \sum_{i}\hat{S}^{z}_i \hat{S}^{z}_{i +a}\quad,

with Jzz=VJ_{zz} = V and Jxx=2tJ_{xx} = 2t. Hence, when V/t=2V/t = 2 we reproduce the Heisenberg model. For V/t>2V/t > 2 the model is in the Ising regime with long-range charge density wave order and is an insulator. In the regime −2<V/t<2-2 < V/t < 2 the model is metallic and corresponds to a Luttinger liquid. Finally, at V/t<−2V/t < -2 phase separation between hole rich and electron rich phases occur. Figure 1 shows typical results for the density-density correlation function (file Den_eqJR).

Density-Density correlation functions of the t-V model. In the Luttinger liquid phase, -2 < V/t < 2, it is known that the density-density correlations decay as \langle n(r) n(0)\rangle \propto \cos(\pi r) r^{-\left(1+K_\rho \right)} with \left(1+K_\rho \right)^{-1}= \frac{1}{2} + \frac{1}{\pi} \arcsin \left( \frac{V}{2 |t|}\right) (A. Luther and I. Peschel, Calculation of critical exponents in two dimensions from quantum field theory in one dimension, Phys. Rev. B 12 (1975), pp. 3908–3917.) The interested reader can try to reproduce this result.

Figure 1:Density-Density correlation functions of the t-V model. In the Luttinger liquid phase, −2<V/t<2-2 < V/t < 2, it is known that the density-density correlations decay as ⟨n(r)n(0)⟩∝cos⁡(πr)r−(1+Kρ)\langle n(r) n(0)\rangle \propto \cos(\pi r) r^{-\left(1+K_\rho \right)} with (1+Kρ)−1=12+1πarcsin⁡(V2∣t∣)\left(1+K_\rho \right)^{-1}= \frac{1}{2} + \frac{1}{\pi} \arcsin \left( \frac{V}{2 |t|}\right) (A. Luther and I. Peschel, Calculation of critical exponents in two dimensions from quantum field theory in one dimension, Phys. Rev. B 12 (1975), pp. 3908–3917.) The interested reader can try to reproduce this result.

Footnotes
  1. A short simulation of the t-V model can be conveniently run using its Jupyter notebook available in pyALF.