From e9c97994ac6cdafdfa4805e18ed4e71459175c84 Mon Sep 17 00:00:00 2001 From: Anjishnu Date: Thu, 3 Aug 2023 13:43:31 +0530 Subject: [PATCH] Updated sample --- Sample/KagomeHeis.jl | 52 +++++++++++++++++----------------- Sample/RenormalizedSquaretJ.jl | 20 ++++++------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Sample/KagomeHeis.jl b/Sample/KagomeHeis.jl index 10284c8..dd2f9ac 100644 --- a/Sample/KagomeHeis.jl +++ b/Sample/KagomeHeis.jl @@ -13,13 +13,13 @@ const b4 = [2.0 + 0.0, 0.0] const b5 = [2.0 + 1.0, 0.0] const b6 = [2.0 + 0.5, sqrt(3)/2] -const InitialField = zeros(Float64, 4) -SpinVec = SpinMats(1//2) +const InitialField = zeros(Float64, 4) +const OnSite = SpinMats(1//2) HoppingUC = UnitCell([a1, a2], 2, 2) InteractionUC = UnitCell([a1, a2], 2, 4) -AddBasisSite!.(Ref(HoppingUC), [b1, b2, b3, b4, b5, b6], Ref(InitialField)) -AddBasisSite!.(Ref(InteractionUC), [b1, b2, b3, b4, b5, b6], Ref(InitialField)) +AddBasisSite!.(Ref(HoppingUC), [b1, b2, b3, b4, b5, b6], Ref(InitialField) , Ref(OnSite)) +AddBasisSite!.(Ref(InteractionUC), [b1, b2, b3, b4, b5, b6], Ref(InitialField) , Ref(OnSite)) const J = 1.0 Jmatrix = Matrix{Float64}(I, 3, 3) @@ -41,39 +41,39 @@ const stat = -1 const mixingAlpha = 0.5 -phis = collect(LinRange(-pi/2, pi/2, 51)) +phis = collect(LinRange(-pi/2, pi/2, 21)) for ϕ in phis ChiUC = UnitCell([a1, a2], 2, 2) - AddBasisSite!.(Ref(ChiUC), [b1, b2, b3, b4, b5, b6], Ref(InitialField)) + AddBasisSite!.(Ref(ChiUC), [b1, b2, b3, b4, b5, b6], Ref(InitialField), Ref(OnSite)) ##### Hopping expectation params # Hopping with flux ϕ through the triangles, and π-2ϕ through the hexagons t_flux = Param(1.0, 2) - AddAnisotropicBond!(t_flux, ChiUC, 1, 2, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 2, 3, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 3, 1, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 4, 5, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 5, 6, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 6, 4, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 4, 2, [ 0, 0], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - - AddAnisotropicBond!(t_flux, ChiUC, 2, 6, [ 0, -1], exp( im * (pi + ϕ/3)) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 4, 6, [ 0, -1], exp(-im * (pi + ϕ/3)) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 5, 3, [ 1, -1], exp( im * (pi + ϕ/3)) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 5, 1, [ 1, 0], exp(-im * (pi + ϕ/3)) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") - AddAnisotropicBond!(t_flux, ChiUC, 3, 1, [ 0, 1], exp( im * ϕ/3) * SpinVec[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 1, 2, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 2, 3, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 3, 1, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 4, 5, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 5, 6, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 6, 4, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 4, 2, [ 0, 0], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + + AddAnisotropicBond!(t_flux, ChiUC, 2, 6, [ 0, -1], exp( im * (pi + ϕ/3)) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 4, 6, [ 0, -1], exp(-im * (pi + ϕ/3)) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 5, 3, [ 1, -1], exp( im * (pi + ϕ/3)) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 5, 1, [ 1, 0], exp(-im * (pi + ϕ/3)) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") + AddAnisotropicBond!(t_flux, ChiUC, 3, 1, [ 0, 1], exp( im * ϕ/3) * OnSite[4], 1.0, "[ϕ, ϕ, π - 2*ϕ] Hopping with ϕ/π = $(ϕ/pi)") ######### Weiss fields Ordering = Param(1.0, 2) - AddAnisotropicBond!(Ordering, ChiUC, 1, 1, [ 0, 0], sum([ -sqrt(3)/2, -1/2, 0.0] .* SpinVec[1:3]), 0.0, "120 degree ordering") - AddAnisotropicBond!(Ordering, ChiUC, 2, 2, [ 0, 0], sum([ sqrt(3)/2, -1/2, 0.0] .* SpinVec[1:3]), 0.0, "120 degree ordering") - AddAnisotropicBond!(Ordering, ChiUC, 3, 3, [ 0, 0], sum([ 0.0, 1.0, 0.0] .* SpinVec[1:3]), 0.0, "120 degree ordering") - AddAnisotropicBond!(Ordering, ChiUC, 4, 4, [ 0, 0], sum([ -sqrt(3)/2, -1/2, 0.0] .* SpinVec[1:3]), 0.0, "120 degree ordering") - AddAnisotropicBond!(Ordering, ChiUC, 5, 5, [ 0, 0], sum([ sqrt(3)/2, -1/2, 0.0] .* SpinVec[1:3]), 0.0, "120 degree ordering") - AddAnisotropicBond!(Ordering, ChiUC, 6, 6, [ 0, 0], sum([ 0.0, 1.0, 0.0] .* SpinVec[1:3]), 0.0, "120 degree ordering") + AddAnisotropicBond!(Ordering, ChiUC, 1, 1, [ 0, 0], sum([ -sqrt(3)/2, -1/2, 0.0] .* OnSite[1:3]), 0.0, "120 degree ordering") + AddAnisotropicBond!(Ordering, ChiUC, 2, 2, [ 0, 0], sum([ sqrt(3)/2, -1/2, 0.0] .* OnSite[1:3]), 0.0, "120 degree ordering") + AddAnisotropicBond!(Ordering, ChiUC, 3, 3, [ 0, 0], sum([ 0.0, 1.0, 0.0] .* OnSite[1:3]), 0.0, "120 degree ordering") + AddAnisotropicBond!(Ordering, ChiUC, 4, 4, [ 0, 0], sum([ -sqrt(3)/2, -1/2, 0.0] .* OnSite[1:3]), 0.0, "120 degree ordering") + AddAnisotropicBond!(Ordering, ChiUC, 5, 5, [ 0, 0], sum([ sqrt(3)/2, -1/2, 0.0] .* OnSite[1:3]), 0.0, "120 degree ordering") + AddAnisotropicBond!(Ordering, ChiUC, 6, 6, [ 0, 0], sum([ 0.0, 1.0, 0.0] .* OnSite[1:3]), 0.0, "120 degree ordering") ChiParams = [t_flux, Ordering] HoppingBlock = ParamBlock(ChiParams, ChiUC) @@ -83,7 +83,7 @@ for ϕ in phis M = Model(HoppingUC, bz, H ; T=T, filling=filling, stat=stat) mft = TightBindingMFT(M, HoppingBlock, InteractionBlock, InterQuarticToHopping, Dict{String, Float64}("ij" => 1.0, "ii" => 0.0, "jj" => 0.0) ) - fileName = "./Sample/KagomeDiracSL/J=$(round(J, digits=3))_phi=$(round(ϕ/pi, digits=3))Pi.jld2" + fileName = "./Sample/KagomeDiracSL/J=$(round(J, digits=3))_phi=$(round(ϕ/pi, digits=3))Pi_New.jld2" SolveMFT!(mft, fileName) end diff --git a/Sample/RenormalizedSquaretJ.jl b/Sample/RenormalizedSquaretJ.jl index 9f1ea5e..11bce9e 100644 --- a/Sample/RenormalizedSquaretJ.jl +++ b/Sample/RenormalizedSquaretJ.jl @@ -40,20 +40,20 @@ for filling in fillings DeltaUC = UnitCell([a1, a2], 2, 2) InteractionUC = UnitCell([a1, a2], 2, 4) - AddBasisSite!(HoppingUC, b1, InitialField) - AddBasisSite!(HoppingUC, b2, InitialField) + AddBasisSite!(HoppingUC, b1) + AddBasisSite!(HoppingUC, b2) - AddBasisSite!(PairingUC, b1, InitialField) - AddBasisSite!(PairingUC, b2, InitialField) + AddBasisSite!(PairingUC, b1) + AddBasisSite!(PairingUC, b2) - AddBasisSite!(ChiUC, b1, InitialField) - AddBasisSite!(ChiUC, b2, InitialField) + AddBasisSite!(ChiUC, b1) + AddBasisSite!(ChiUC, b2) - AddBasisSite!(DeltaUC, b1, InitialField) - AddBasisSite!(DeltaUC, b2, InitialField) + AddBasisSite!(DeltaUC, b1) + AddBasisSite!(DeltaUC, b2) - AddBasisSite!(InteractionUC, b1, InitialField) - AddBasisSite!(InteractionUC, b2, InitialField) + AddBasisSite!(InteractionUC, b1) + AddBasisSite!(InteractionUC, b2) ##### HoppingParams t1 = -t*rnorm_hopping_factor