3.1. U quench in Hubbard model

Let’s solve the following U quench in 2D Hubbard model at half filling.

(3.1)\[H(\tau) = -t \sum_{\langle i,j\rangle , \sigma}(c_{i\sigma}^{\dagger}c_{j\sigma}+{\rm H.c.}) +U \sum_{i} n_{i\uparrow}n_{i\downarrow} +U_{\rm quench} h(\tau) \sum_{i} n_{i\uparrow}n_{i\downarrow}\]

\(h(\tau)\) means the step function. The input files (samples/tutorial_3.1/stan1.in and samples/tutorial_3.1/stan2.in) are as follows

stan1.in

model = "Hubbard"
method = "CG"
lattice = "square"
a0W =  2
a0L =  2
a1W =  2
a1L = -2
2Sz = 0
t = 1.0
U = 4.0
nelec = 8
EigenvecIO = "out"
stan2.in

model = "Hubbard"
method = "Time-Evolution"
lattice = "square"
a0W =  2
a0L =  2
a1W =  2
a1L = -2
2Sz = 0
t = 1.0
U = 4.0
nelec = 8
PumpType = "Quench"
Uquench = -8
EigenvecIO = "in"
dt = 0.01
lanczos_max = 1000

You can execute HPhi as follows

HPhi -s stan1.in
HPhi -s stan2.in

3.1.1. Check norm and energy

Unitary dynamics of the norm of a wavefunction should be conserved during the real-time evolution. Using gnuplot, check the dynamics of the norm for this problem

plot "output/Norm.dat" u 1:2 w l

In sudden U-quench simulations, the total energy should be conserved for \(\tau>0\). Using gnuplot, check whether the energy is conserved during the real-time evolution

plot "output/SS.dat" u 1:2 w l

3.1.2. Dynamics of double occupation

The double occupation \(D=\sum_i \langle n_{i\uparrow}n_{i\downarrow} \rangle\) is not conserved because \([D, H] \neq 0\). You can check the dynamics of \(D\) by executing the following command on gnuplot

plot "output/SS.dat" u 1:4 w l