Commit b4f09dd2 authored by Guilherme's avatar Guilherme
Browse files

removed scripts

parent a92dc3c3
Showing with 0 additions and 26499 deletions
+0 -26499
This diff is collapsed.
This diff is collapsed.
#+TITLE: SINGLE Higgs SU(2) Simulations with Gradient Flow - SCAN K
Compute Averages, Flow Averages, Scale Setting, Plaquette, Clover,...
#+startup: num
#+STARTUP: latexpreview
#+LaTeX_HEADER: \usepackage{pdfpages}
#+LATEX_HEADER: \usepackage{physics}
#+LATEX_HEADER: \usepackage{mathtools}
* References
- arXiv:hep-lat/0306005
* Functions
** Packages
#+begin_src jupyter-julia
cd("/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/")
print(pwd(),"\n\n")
import Pkg; Pkg.activate()
using Plots, MTH229, LaTeXStrings, Latexify,PlotThemes, ColorSchemes,Printf,LsqFit,BDIO, ADerrors
Pkg.status()
global markers = [:rect ,:circle,:utriangle, :xcross , :cross]
global msize = [4, 4, 3, 5, 5]
#+end_src
#+RESULTS:
#+begin_example
/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs
 Status `~/.julia/environments/v1.7/Project.toml`
 [5e92007d] ADerrors v0.1.0 `https://igit.ific.uv.es/alramos/aderrors.jl#master`
 [c7e460c6] ArgParse v1.1.4
 [375f315e] BDIO v0.1.0 `https://gitlab.ift.uam-csic.es/alberto/bdio.jl#master`
 [052768ef] CUDA v3.3.3
 [35d6a980] ColorSchemes v3.18.0
 [5ae59095] Colors v0.12.8
 [31c24e10] Distributions v0.25.66
 [b305315f] Elliptic v1.0.1
 [a55ae9b5] FormalSeries v1.0.0 `https://igit.ific.uv.es/alramos/formalseries.jl#master`
 [7073ff75] IJulia v1.23.3
 [b964fa9f] LaTeXStrings v1.3.0
 [23fbe1c1] Latexify v0.15.15
 [958c3683] LatticeGPU v0.1.0 `https://igit.ific.uv.es/alramos/latticegpu.jl#master`
 [2fda8390] LsqFit v0.12.1
 [ebaf19f5] MTH229 v0.2.8
 [7475f97c] Mods v1.3.2
 [2edaba10] Nemo v0.31.1
 [6c575b1c] NumericIO v0.3.2
 [ccf2f8ad] PlotThemes v3.0.0
 [91a5bcdd] Plots v1.29.0
 [d330b81b] PyPlot v2.11.0
 [295af30f] Revise v3.4.0
 [276daf66] SpecialFunctions v1.8.7
 [2913bbd2] StatsBase v0.33.21
 [a759f4b9] TimerOutputs v0.5.23
 [9b4f6371] Utils v0.1.0 `https://igit.ific.uv.es/gtelo/utils.jl#master`
 [de0858da] Printf
 Activating project at `~/.julia/environments/v1.7`
#+end_example
** Functions - Read Simulation Parameters/Data
#+begin_src jupyter-julia
function readparams(fb)
#move read position to the first record
BDIO_seek!(fb,0)
let nth, niter, nsteps, nrks, flw_s, flw_steps, flw_int, flw_iter, sus, sss, beta, flw_dt, eta, sdt, srs
while BDIO_seek!(fb)
# Simulation parameters
if BDIO_get_uinfo(fb) == 1
int_array = similar(Array{Int64, 1}, 10)
BDIO_read(fb, int_array)
nth = int_array[1]
niter = int_array[2]
nsteps = int_array[3]
nrks = int_array[4]
flw_s = int_array[5]
flw_steps = int_array[6]
flw_int = int_array[7]
flw_iter = int_array[8]
sus = int_array[9]
sss = int_array[10]
end
end
kvals = similar(Array{Float64, 1}, nrks)
BDIO_seek!(fb,0)
while BDIO_seek!(fb)
if BDIO_get_uinfo(fb) == 2
BDIO_read(fb, kvals)
flt_array = similar(Array{Float64, 1}, 5)
BDIO_read(fb, flt_array)
beta = flt_array[1]
flw_dt = flt_array[2]
eta = flt_array[3]
sdt = flt_array[4]
srs = flt_array[5]
end
end
return nth, niter, nsteps, nrks, flw_s, flw_steps, flw_int, flw_iter, sus, sss, beta, flw_dt, eta, sdt, srs, kvals
end
end
function readdata(fb)
#move read position to the first record
k_index = 0
BDIO_seek!(fb,0)
let pl, rho1, rho2, Lphi1, Lphi2, Lalp1, Lalp2, dh, flwtime, Echain, Eclchain, h2, w1r, w1i
pl = Array{Float64,2}(undef, niter+nth, nrks)
rho1 = Array{Float64,2}(undef, niter+nth, nrks)
Lphi1 = Array{Float64,2}(undef, niter+nth, nrks)
Lalp1 = Array{Float64,2}(undef, niter+nth, nrks)
dh = Array{Float64,2}(undef, niter+nth, nrks)
# flow
flwtime = Array{Float64,2}(undef, flw_steps, nrks)
Echain = Array{Float64, 3}(undef, flw_iter, flw_steps, nrks)
Eclchain = Array{Float64, 3}(undef, flw_iter, flw_steps, nrks)
while BDIO_seek!(fb)
#observables
#Plaquette
if BDIO_get_uinfo(fb) == 3
k_index += 1
db_array = similar(Array{Float64, 1}, nth+niter)
BDIO_read(fb, db_array)
pl[:,k_index] .= db_array
end
# Rho
if BDIO_get_uinfo(fb) == 4
db_array = similar(Array{Float64, 1}, nth+niter)
BDIO_read(fb, db_array)
rho1[:,k_index] .= db_array
end
# Lphi
if BDIO_get_uinfo(fb) == 5
db_array = similar(Array{Float64, 1}, nth+niter)
BDIO_read(fb, db_array)
Lphi1[:,k_index] .= db_array
end
# Lalp
if BDIO_get_uinfo(fb) == 6
db_array = similar(Array{Float64, 1}, nth+niter)
BDIO_read(fb, db_array)
Lalp1[:,k_index] .= db_array
end
#dh
if BDIO_get_uinfo(fb) == 8
db_array = similar(Array{Float64, 1}, nth+niter)
BDIO_read(fb, db_array)
dh[:,k_index] .= db_array
end
# FLOW
# Flow time
if BDIO_get_uinfo(fb) == 9
db_array = similar(Array{Float64, 1}, flw_steps)
BDIO_read(fb, db_array)
flwtime[:,k_index] .= db_array
end
#Flow E
if BDIO_get_uinfo(fb) == 10
db_array = similar(Array{Float64, 1}, flw_iter)
for i in 1:flw_steps
BDIO_read(fb, db_array)
Echain[:,i,k_index] .= db_array
end
end
#Flow E - Clover
if BDIO_get_uinfo(fb) == 11
db_array = similar(Array{Float64, 1}, flw_iter)
for i in 1:flw_steps
BDIO_read(fb, db_array)
Eclchain[:,i,k_index] .= db_array
end
end
# #Correlation functions
# #Higgs
# if BDIO_get_uinfo(fb) == 12
# db_array = similar(Array{Float64, 1}, time)
# for i in 1:niter
# BDIO_read(fb, db_array)
# h2[1,:,i] .= db_array[1:time]
# end
# end
# #W-Boson
# if BDIO_get_uinfo(fb) == 13
# db_array = similar(Array{Float64, 1}, time)
# for k in 1:niter
# for mu in 1:3
# for i in 1:3
# BDIO_read(fb, db_array)
# w1[1,mu,i,:,k] .= db_array
# end
# end
# end
# end
end
return pl, rho1, Lphi1, Lalp1, dh, flwtime, Echain, Eclchain
end
end
function generate_run_tag(fname::String, id::Union{Nothing, Int64}=nothing)
fb = BDIO_open(fname, "r")
nth, niter, flw_s, flw_steps, flw_int, flw_iter, beta, flw_dt, k1, et1 = readparams(fb)
tag = fname*string(nth)*string(niter)*string(flw_s)*string(flw_steps)*string(flw_int)*string(flw_iter)*string(beta)*string(flw_dt)*string(k1)*string(et1)
if id != nothing
tag = tag*"_id"*string(id)
end
return tag
end
# function var(, tag::String)
#+end_src
#+RESULTS:
* Main code
** Read File; Global Arrays
scalar1_GF_24x24x24x24_beta8.0_vark_etas0.0033_dk_0.00010_krange0.1304-0.1323_eps0.05_nsteps60_GF_stps60_s5_int150_dt0.01.bdio
#+begin_src jupyter-julia
global k1 = 0.131
global beta = 8.8
global eta = 0.00322
global nsteps = 40
global lat=24
global time=24
sus=50
sdt=0.025
sss=50
srs=0.1
eps = 0.05
#GF
flwstps = 60
flws = 5
flwint=5000
dt=0.01
#krange
dk="0.00005"
kstart="0.1294"
kend ="0.1303"
global filename ="simulations/scalar1_GF_$(lat)x$(lat)x$(lat)x$(time)_beta$(beta)_vark_etas$(eta)_dk_$(dk)_krange$(kstart)-$(kend)_eps0.05_nsteps$(nsteps)_GF_stps$(flwstps)_s$(flws)_int$(flwint)_dt$(dt).bdio"
global filename = "simulations/scalar1_GF_24x24x24x24_beta8.0_vark_etas0.0033_dk_0.00010_krange0.1304-0.1323_eps0.05_nsteps60_GF_stps60_s5_int150_dt0.01.bdio"
print("\n",filename,"\n\n")
fb = BDIO_open(filename, "r")
nth, niter, nsteps, nrks, flw_s, flw_steps, flw_int, flw_iter, sus, sss, beta, flw_dt, eta, sdt, srs, kvals = readparams(fb)
@printf("SIMULATION PARAMETERS:\n ... \n ## BARE PARAMETERS:\n\t beta: %f \n\t lambda: %f", beta, eta)
@printf("\n ## GLOBAL:\n\t Niter: %d \n\t Ntherm: %d ", niter, nth)
@printf("\n\n ## FLOW:\n\t Flow Observations: %d \n\t Flow Trajectory: %d \n\t Integration steps per trajectory: %d \n\t Flow Step-size: %1.3f \n\t Time between measurements: %.3f", flw_iter,flw_steps,flw_s,flw_dt, flw_s*flw_dt)
pl, rho1, Lphi1, Lalp1, dh, flwtime, Echain, Eclchain = readdata(fb)
BDIO_close!(fb)
for t in 1:flw_steps
#NOTE apagar isto nas proximas runs!!!
if t>1
# flwtime[t] -= 0.105
end
end
#+end_src
#+RESULTS:
#+begin_example
simulations/scalar1_GF_24x24x24x24_beta8.0_vark_etas0.0033_dk_0.00010_krange0.1304-0.1323_eps0.05_nsteps60_GF_stps60_s5_int150_dt0.01.bdio
SIMULATION PARAMETERS:
...
## BARE PARAMETERS:
beta: 8.000000
lambda: 0.003300
## GLOBAL:
Niter: 5000
Ntherm: 1000
## FLOW:
Flow Observations: 33
Flow Trajectory: 60
Integration steps per trajectory: 5
Flow Step-size: 0.010
Time between measurements: 0.050
#+end_example
** Histories
*** Plaquette
#+begin_src jupyter-julia
i = 4
k = kvals[i]
p=plot(reuse=false)
p=plot(pl[:,i],label="$(k)")
display(p)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/cfc9bf00be5f86df04743d63451350da9ea015b1.svg]]
*** $L_\phi$
#+begin_src jupyter-julia
i = 6
k = kvals[i]
p=plot(reuse=false)
p=plot(Lphi1[:,i],label="$(k)")
display(p)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/644a44ce97dd1211c10582a1d863861b051bf2f0.svg]]
*** $L_\alpha$
#+begin_src jupyter-julia
st=plot(reuse=false)
i = 11
k = kvals[i]
st=plot!(Lalp1[:,i],label="$(k),~$(lat)^4")
display(st)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/6401e542075648fa8f11c4a1c9bff5c6a0d2f082.svg]]
**** Various $k$
#+begin_src jupyter-julia
is = [2,3,4,5]
l = @layout [grid(length(is),1)]
pls = []
for i in is
k = kvals[i]
p=plot(reuse=false)
p=plot(Lalp1[:,i],label="$(k)")
push!(pls,p)
end
q = plot(pls...,legendfontsize=5,layout=l,foreground_color_legend = nothing,background_color_legend=nothing)
display(q)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/Lalp_vark_mcchain_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/a7bc8cba350012abb0bdad0d7eae0fe120c55749.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/Lalp_vark_mcchain_beta9.1_l0.0032.png
:END:
** Averages
*** Global observables
**** Average
#+begin_src jupyter-julia
av_pl = Vector{uwreal}(undef,nrks)
sus_pl = Vector{uwreal}(undef,nrks)
av_rho = Array{uwreal,1}(undef,nrks)
sus_rho = Array{uwreal,1}(undef,nrks)
av_Lphi = Array{uwreal,1}(undef,nrks)
sus_Lphi = Array{uwreal,1}(undef,nrks)
av_Lalp = Array{uwreal,1}(undef,nrks)
sus_Lalp = Array{uwreal,1}(undef,nrks)
av_expdh = Vector{uwreal}(undef,nrks)
start = nth
tag = generate_run_tag(filename)*"yes_$(start)"
ID = string("uncorrelated",start,niter)
wpm = Dict{String,Vector{Float64}}()
wpm[ID] = [1.0, -1.0, -1.0, -1.0]
# tag = ID
for i in 1:20
print(i," ")
av_pl[i] = uwreal(pl[start:end,i],tag)
uwerr(av_pl[i],wpm)
sus_pl[i] = uwreal(( pl[start:end,i] .- value(av_pl[i]) ).^2, tag)
uwerr(sus_pl[i])
av_rho[i] = uwreal(rho1[start:end,i],tag)
uwerr(av_rho[i],wpm)
sus_rho[i] = uwreal(( rho1[start:end,i] .- value(av_rho[i]) ).^2, tag)
uwerr(sus_rho[i])
av_Lphi[i] = uwreal(Lphi1[start:end,i],tag)
uwerr(av_Lphi[i],wpm)
sus_Lphi[i] = uwreal(( Lphi1[start:end,i] .- value(av_Lphi[i]) ).^2, tag)
uwerr(sus_Lphi[i])
av_Lalp[i] = uwreal(Lalp1[start:end,i],tag)
uwerr(av_Lalp[i],wpm)
# sus_Lalp[i] = uwreal(( Lalp1[start:end,i] .- value(av_Lalp[i]) ).^2, tag)
sus_Lalp[i] = uwreal( Lalp1[start:end,i].^2, tag) - av_Lalp[i]^2
uwerr(sus_Lalp[i])
end
#+end_src
#+RESULTS:
: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
**** Plot Plaquette
#+begin_src jupyter-julia
lbl=latexstring("<P>")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
p=plot(reuse=false)
s=1
e=18
p=scatter!(kvals[s:e], value.(av_pl[s:e]), yerror=err.(av_pl[s:e]),legend=:topleft,label=lbl,xlabel=L"\kappa",title=ttl)
f(x)=1.8112
# p=plot!(f,0.12,0.21)
display(p)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/plaq_vark_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/1c8950da754270d68e2520cab1e4dcdfe237c0ab.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/plaq_vark_beta9.1_l0.00322.png
:END:
#+begin_src jupyter-julia
lbl=latexstring("<\\chi_P>")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
p=plot(reuse=false)
s=1
e=18
p=scatter!(kvals[s:e], value.(sus_pl[s:e]), yerror=err.(sus_pl[s:e]),legend=:topleft,label=lbl,xlabel=L"\kappa",title=ttl)
f(x)=1.8112
# p=plot!(f,0.12,0.21)
display(p)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/susplaq_vark_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/5b07cdb2dca81fdef86c45db68260bb2d261711c.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/susplaq_vark_beta9.1_l0.0032.png
:END:
**** Plot $\rho$
#+begin_src jupyter-julia
p=plot(reuse=false)
s=1
e=18
p=scatter!(kvals[s:e], value.(av_rho[s:e]), yerror=err.(av_rho[s:e]))
f(x)=2.877
# p=plot!(f,0.12,0.21)
display(p)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/5a9ff2ff050566a1d1960f6631822ff83d781d32.svg]]
#+begin_src jupyter-julia
p=plot(reuse=false)
s=1
e=7
p=scatter!(kvals[s:e], value.(sus_rho[s:e]), yerror=err.(sus_rho[s:e]))
f(x)=2.877
# p=plot!(f,0.12,0.21)
display(p)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/ca5772f95504bc7c42d4dfd48b4bd8d52f1835d4.svg]]
**** Plot $L_\phi$
#+begin_src jupyter-julia
p=plot(reuse=false)
s=1
e=20
p=scatter!(kvals[s:e], value.(av_Lphi[s:e]), yerror=err.(av_Lphi[s:e]))
f(x)=0.823
# p=plot!(f,0.12,0.21)
display(p)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/4417762d21c2aca35b03e40d4ce8203b555b7d3e.svg]]
#+begin_src jupyter-julia
lbl=latexstring("\\chi_{L_\\phi}")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
p=plot(reuse=false)
s=1
e=7
p=scatter!(kvals[s:e], value.(sus_Lphi[s:e]), yerror=err.(sus_Lphi[s:e]),legend=:topleft,label=lbl,xlabel=L"\kappa",title=ttl)
# p=vline!([0.1305])
display(p)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/susLphi_vark_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/cffc7794b82d0f12e93b2e877894a6f4052284cc.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/susLphi_vark_beta8.8_l0.00324.png
:END:
**** Plot $L_\alpha$
#+begin_src jupyter-julia
lbl=latexstring("L_\\alpha")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
p=plot(reuse=false)
s=1
e=20
p=scatter!(kvals[s:e], value.(av_Lalp[s:e]), yerror=err.(av_Lalp[s:e]),legend=:topleft,label=lbl,xlabel=L"\kappa",title=ttl)
# p=vline!([0.1305])
display(p)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/Lalp_vark_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/c2ede586644e442340f0643bd26af74773697903.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/Lalp_vark_beta8.8_l0.00322.png
:END:
#+begin_src jupyter-julia
lbl=latexstring("\\chi_{L_\\alpha}")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
p=plot(reuse=false)
s=9
e=20
p=scatter!(kvals[s:e], value.(sus_Lalp[s:e]), yerror=err.(sus_Lalp[s:e]),legend=:topleft,label=lbl,xlabel=L"\kappa",title=ttl)
# p=vline!([0.1305])
display(p)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/susLalp_vark_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/66987bd97a08c5dec7a4bc368c099fb3ecf78e1b.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/susLalp_vark_beta8.8_l0.00322.png
:END:
**** Different simulations
***** Reset array
#+begin_src jupyter-julia
volarray=[]
kvarray = []
susarray = []
#+end_src
#+RESULTS:
***** Add array
#+begin_src jupyter-julia
push!(volarray, lat)
push!(kvarray, kvals)
push!(susarray, sus_Lalp)
#+end_src
#+RESULTS:
***** Plot
#+begin_src jupyter-julia
lbl=latexstring("\\chi_{L_\\alpha}")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
p=plot(reuse=false)
for i in 1:length(kvarray)
vol = volarray[i]
kv = kvarray[i]
# sus = susarray[i].*vol^4
sus = susarray[i]
uwerr.(sus)
p=scatter!(kv, value.(sus), yerror=err.(sus),legend=:topright,label=string(vol),xlabel=L"\kappa",title=ttl)
end
display(p)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/cf538ae210580184cdb979402ba94fdf5fb1fae5.svg]]
*** Flow
#+begin_src jupyter-julia
global E = Array{uwreal,2}(undef, nrks ,flw_steps)
global Ecl = Array{uwreal,2}(undef, nrks ,flw_steps)
therm = 0
wpm = Dict{String,Vector{Float64}}()
uncorr_id = string("noncorrelated_",therm,flw_iter)
wpm[uncorr_id] = [1.0, -1.0, -1.0, -1.0]
c=flw_iter
ID = string("therm",therm,c,filename,flw_iter)
ID =uncorr_id
for i in 1:18
for t in 1:flw_steps
# E[t] = uwreal( flwtime[t]^2*Echain[(therm+1):c,t], ID )
# uwerr(E[t],wpm)
Ecl[i,t] = uwreal(flwtime[t]^2*Eclchain[(therm+1):c,t,i], ID)
uwerr(Ecl[i,t],wpm)
end
end
#+end_src
#+RESULTS:
#+begin_src jupyter-julia
ylbl=latexstring("t^2<E(t)>")
xlbl=latexstring("t/a^2")
ttl=latexstring("\\beta=$(beta),~\\lambda=$(eta)")
q=plot(reuse=false)
for i in 1:18
if kvals[i] < 0.130
q=scatter!(flwtime[:,i],value.(Ecl[i,begin:end]),yerror=err.(Ecl[i,begin:end]),label="k=$(kvals[i])",markercolor=:black,title=ttl, xlabel=xlbl,ylabel=ylbl)
else
q=scatter!(flwtime[:,i],value.(Ecl[i,begin:end]),yerror=err.(Ecl[i,begin:end]),label="k=$(kvals[i])",legendfontsize=5,legend=:bottom)
end
f(x)=0.0036
# q=plot!(f,0,11)
end
display(q)
outputname = "/home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/t2Ecl_vark_beta$(beta)_l$(eta).png"
print(outputname)
# savefig(outputname)
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/aa9c3611b5b58ec7360abe313e6b5b20510a05e6.svg]]
: /home/gtelo/PhD/LatGPU/SU2proj/code/runs_su2higgs/reports/figs/masses/t2Ecl_vark_beta8.0_l0.0033.png
:END:
"""
2 Higgs
"""
using Plots, ADerrors, BDIO, MTH229, LaTeXStrings, Latexify, Printf
function readparams(fb)
#move read position to the first record
BDIO_seek!(fb,0)
while BDIO_seek!(fb)
# Simulation parameters
if BDIO_get_uinfo(fb) == 1
int_array = similar(Array{Int64, 1}, 3)
BDIO_read(fb, int_array)
global nth = int_array[1]
global niter = int_array[2]
global nrks = int_array[3]
end
end
end
function readdata(fb)
#move read position to the first record
k_index = 0
BDIO_seek!(fb,0)
while BDIO_seek!(fb)
# k values
if BDIO_get_uinfo(fb) == 2
db_array = similar(Array{Float64, 1}, length(k_vals)+8)
BDIO_read(fb, db_array)
global k_vals = db_array[begin:end-8]
global s_parms = db_array[end-8+1:end]
# BDIO_read(fb, k_vals)
end
#observables
#Plaquette
if BDIO_get_uinfo(fb) == 3
k_index += 1
db_array = similar(Array{Float64, 1}, nth)
BDIO_read(fb, db_array)
pl[1:nth,k_index] = db_array
end
if BDIO_get_uinfo(fb) == 4
db_array = similar(Array{Float64, 1}, niter)
BDIO_read(fb, db_array)
pl[nth+1:end,k_index] = db_array
end
#Rho
if BDIO_get_uinfo(fb) == 5
db_array = similar(Array{Float64, 1}, 2*nth)
BDIO_read(fb, db_array)
rho[1,1:nth,k_index] = db_array[1:nth]
rho[2,1:nth,k_index] = db_array[nth+1:end]
end
if BDIO_get_uinfo(fb) == 6
db_array = similar(Array{Float64, 1}, 2*niter)
BDIO_read(fb, db_array)
rho[1,nth+1:end,k_index] = db_array[1:niter]
rho[2,nth+1:end,k_index] = db_array[niter+1:end]
end
#Lphi
if BDIO_get_uinfo(fb) == 8
db_array = similar(Array{Float64, 1}, 2*nth)
BDIO_read(fb, db_array)
Lphi[1,1:nth,k_index] = db_array[1:nth]
Lphi[2,1:nth,k_index] = db_array[nth+1:end]
end
if BDIO_get_uinfo(fb) == 9
db_array = similar(Array{Float64, 1}, 2*niter)
BDIO_read(fb, db_array)
Lphi[1,nth+1:end,k_index] = db_array[1:niter]
Lphi[2,nth+1:end,k_index] = db_array[niter+1:end]
end
#Lalp
if BDIO_get_uinfo(fb) == 10
db_array = similar(Array{Float64, 1}, 2*nth)
BDIO_read(fb, db_array)
Lalp[1,1:nth,k_index] = 1/4 .* db_array[1:nth]
Lalp[2,1:nth,k_index] = 1/4 .* db_array[nth+1:end]
end
if BDIO_get_uinfo(fb) == 11
db_array = similar(Array{Float64, 1}, 2*niter)
BDIO_read(fb, db_array)
Lalp[1,nth+1:end,k_index] = 1/4 .* db_array[1:niter]
Lalp[2,nth+1:end,k_index] = 1/4 .* db_array[niter+1:end]
end
#dh
if BDIO_get_uinfo(fb) == 12
db_array = similar(Array{Float64, 1}, nth)
BDIO_read(fb, db_array)
dh[1:nth,k_index] = db_array
end
if BDIO_get_uinfo(fb) == 13
db_array = similar(Array{Float64, 1}, niter)
BDIO_read(fb, db_array)
dh[nth+1:end,k_index] = db_array
end
end
end
################# READ FILE #################
filename = "scalar1_vark40_beta0.0_eta0.0_niter10000_eps0.01_nsteps60.bdio"
filename = "var_k/scalar2_8x8x8x8_vark30_beta2.25_k20.1_etas0.5_0.5_mu0.2_xis0.1_0.1_0.1_0.1_niter100_eps0.1_nsteps50.bdio"
fb = BDIO_open(filename, "r")
readparams(fb)
global k_vals = Vector{Float64}(undef, nrks)
hist = false
rnrks = nrks
if hist
nrks *= 2
end
global pl = Array{Float64, 2}(undef, niter+nth, nrks)
global rho = Array{Float64, 3}(undef, 2, niter+nth, nrks)
global Lphi = Array{Float64, 3}(undef, 2, niter+nth, nrks)
global Lalp = Array{Float64, 3}(undef, 2, niter+nth, nrks)
global dh = Array{Float64, 2}(undef, niter+nth, nrks)
readdata(fb)
if hist
k_vals = vcat(k_vals,reverse(k_vals))
end
################# HISTORIES ################
yl = latexstring("\\Delta H")
yl = latexstring("\\rho^2")
yl = latexstring("L_\\alpha")
yl = latexstring("L_\\phi")
plot(reuse=false)
# for i in [1,5,10]
for i in 1:13
# obs = rho[1,1:50,i]
# lab = string("k = ", k_vals[i])
# p = plot!(obs,legend=:right,label=lab, ylabel=yl,xlabel="config.")
# display(p)
end
outputname = "reports/figs/free_scalar_8to4_chain_Lphi.png"
################# ANALYSIS #################
global av_pl = Vector{uwreal}(undef,nrks)
global tau_pl = Vector{uwreal}(undef,nrks)
global av_rho = Array{uwreal,2}(undef,2,nrks)
global tau_rho = Array{uwreal,2}(undef,2,nrks)
global av_Lphi = Array{uwreal,2}(undef,2,nrks)
global tau_Lphi = Array{uwreal,2}(undef,2,nrks)
global av_Lalp = Array{uwreal,2}(undef,2,nrks)
global tau_Lalp = Array{uwreal,2}(undef,2,nrks)
global av_expdh = Vector{uwreal}(undef,nrks)
global tau_expdh = Vector{uwreal}(undef,nrks)
# HMC diverged for k>0.13...
wpm = Dict{String,Vector{Float64}}()
#define uncorrelated data
wpm["uncorrelated"] = [1.0, -1.0, -1.0, -1.0]
for i in 1:nrks
print("\n", i)
start=1 #thermalization faster than nth
ID = string("k=",k_vals[i],"niter=",niter,start,nth)
ID = "uncorrelated"
plk = uwreal(pl[start:end,i],ID)
uwerr(plk,wpm)
av_pl[i] = plk
tau_pl[i] = ADerrors.taui(plk, ID)
for n in 1:2
rhok = uwreal(rho[n,start:end,i],ID)
uwerr(rhok,wpm)
tau_rho[n,i] = ADerrors.taui(rhok, ID)
av_rho[n,i] = rhok
Lphik = uwreal(Lphi[n,start:end,i],ID)
uwerr(Lphik,wpm)
tau_Lphi[n,i] = ADerrors.taui(Lphik, ID)
av_Lphi[n,i] = Lphik
Lalpk = uwreal(Lalp[n,start:end,i],ID)
uwerr(Lalpk,wpm)
tau_Lalp[n,i] = ADerrors.taui(Lalpk, ID)
av_Lalp[n,i] = Lalpk
end
expdhk = uwreal(exp.(.-dh[start:end,i]),"uncorrelated")
uwerr(expdhk,wpm)
tau_expdh[i] = ADerrors.taui(expdhk, "uncorrelated")
av_expdh[i] = expdhk
end
k2 = s_parms[1]
eta = s_parms[2]
mu = s_parms[4]
xi = s_parms[end]
beta = 2.25
# SCALAR OBSERVABLES
plot(reuse=false)
obs = av_Lalp[:,:]
yl = latexstring("<\\exp{(-\\Delta H)}>")
yl = latexstring("<\\rho^2>")
yl = latexstring("<L_{\\phi}>")
yl = latexstring("<L_{\\alpha}>")
ttl = latexstring("\\beta = $(beta); k_2 = $(k2); \\eta_n = $(eta) ; \\mu = $(mu); \\xi_i = $(xi);")
xl = latexstring("k")
plot(reuse=false)
phindex=1
p=scatter!(k_vals[begin:rnrks],value.(obs[phindex,begin:rnrks]),yerror=err.(obs[phindex,begin:rnrks]),legend=:topleft, ylabel=yl,xlabel=xl,label=latexstring("\\phi_{$(phindex)} - cooling"),title=ttl)
p=scatter!(k_vals[begin:rnrks],value.(obs[phindex+1,begin:rnrks]),yerror=err.(obs[phindex+1,begin:rnrks]),legend=:topleft, ylabel=yl,xlabel=xl,label=latexstring("\\phi_{$(phindex+1)} - cooling"),title=ttl)
# p=scatter!(k_vals[rnrks+1:end],value.(obs[phindex,rnrks+1:end]),yerror=err.(obs[phindex,rnrks+1:end]),legend=:topleft, ylabel=yl,xlabel=xl,label=latexstring("\\phi_$(phindex) - heating"))
display(p)
l=8
# outputname = "reports/figs/h2_phi$(phindex)_$(l)to4_Lalp_slowhist_k2$(k2)_eta$(eta)_mu$(mu)_xi$(xi).png"
outputname = "reports/figs/h2_$(l)to4_Lalp_k2$(k2)_eta$(eta)_mu$(mu)_xi$(xi)_beta$(beta).png"
# savefig(outputname)
# TABLE FREE THEORY
# for i in 1:nrks
# print("\n\\midrule\n")
# print(k_vals[i], " & ")
# @printf("%f +/- %f & %f &", value(av_expdh[i]), err(av_expdh[i]), value(tau_expdh[i]))
# @printf("%f +/- %f & %f &", value(av_rho[i]), err(av_rho[i]), value(tau_rho[i]))
# @printf("%f +/- %f & %f &", value(av_Lphi[i]), err(av_Lphi[i]), value(tau_Lphi[i]))
# @printf("%f +/- %f & %f", value(av_Lalp[i]), err(av_Lalp[i]), value(tau_Lalp[i]))
# print("\\\\")
# end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#+title: Notes
LatticeGPU_dev.jl is an updated form of the version used for the continuum
extrapolation with the masses for the single Higgs model.
- Shared memory removed
- Included mixed interpolator for W-boson
- Fixed scalar smearing
- Manifest and Project are updated for Julia 1.7 -- just change for older files
to use with 1.6
- Added Mixed interpolators (changed how some interpolators are computed)
- Complete set of couplings (10) -- eta4 and eta5 included
This diff is collapsed.
This diff is collapsed.
"""
Simulations with a single scalar
Originally intended to compare Atsuki's results without gauge field
(gauge dynamics turned off and β=0)
This explores only the kinetic term of the scalar action -- Gaussian free theory
"""
using CUDA, Logging, StructArrays, Random, TimerOutputs, ADerrors, Printf, BDIO
CUDA.allowscalar(false)
import Pkg
Pkg.activate("/home/gtelo/PhD/SU2proj/code/runs_su2higgs/latticegpu-su2-higgs")
using LatticeGPU
lp = SpaceParm{4}((8,8,8,8), (4,4,4,4))
beta = 0.0
gp = GaugeParm(beta, 1.0, (0.0,0.0), 2)
eta = 0.0
# NSC = tryparse(Int64, ARGS[1])
NSC = 1
println("Space Parameters: \n", lp)
println("Gauge Parameters: \n", gp)
GRP = SU2
ALG = SU2alg
SCL = SU2fund
PREC = Float64
println("Precision: ", PREC)
println("Allocating YM workspace")
ymws = YMworkspace(GRP, PREC, lp)
println("Allocating Scalar workspace")
sws = ScalarWorkspace(PREC, NSC, lp)
# Seed RNG
println("Seeding CURAND...")
Random.seed!(CURAND.default_rng(), 1234)
Random.seed!(1234)
# Main program
# Gauge fields U_μ=1
println("Allocating gauge field")
U = vector_field(GRP{PREC}, lp)
fill!(U, one(GRP{PREC}))
# Scalar fields φ=0
println("Allocating scalar field")
Phi = nscalar_field(SCL{PREC}, NSC, lp)
fill!(Phi, zero(SCL{PREC}))
dt = 0.05
nsteps = 100
nth = 100 #thermalization length
niter = 20000 # MC length
startk = 0.02
nrks = 10 # nr of k values
h = 0.1/nrks*2
# Observables
pl = Vector{Float64}(undef, niter+nth)
rho = Vector{Float64}(undef, niter+nth)
Lphi = Vector{Float64}(undef, niter+nth)
Lalp = Vector{Float64}(undef, niter+nth)
dh = Vector{Float64}(undef, niter+nth)
acc = Vector{Bool}(undef, niter+nth)
# Save observables in BDIO file
# Uinfo 1: Simulation parameters
# Uinfo 2: List of kappa values
# Uinfo 3: Thermalization plaquette
# Uinfo 4: Measurements plaquette
# Uinfo 5: Thermalization rho2
# Uinfo 6: Measurements rho2
# Uinfo 8: Thermalization Lphi
# Uinfo 7: hash
# Uinfo 9: Measurements Lphi
# Uinfo 10: Thermalization Lalp
# Uinfo 11: Measurements Lalp
# Uinfo 12: Thermalization dh
# Uinfo 13: Measurement dh
# Lattice dimensions
global dm = ""
for i in 1:lp.ndim-1
global dm *= string(lp.iL[i])*"x"
end
dm *= string(lp.iL[end])
filename = string("var_k/scalar",NSC,"_",dm,"_vark",nrks,"_beta",beta,"_eta",eta,"_niter", niter,"_eps",dt,"_nsteps",nsteps,".bdio")
fb = BDIO_open(filename, "d",
"Test of scalar simulations with $NSC scalar fields")
# Simulation param
iv = [nth, niter, nrks]
BDIO_start_record!(fb, BDIO_BIN_INT64LE, 1, true)
BDIO_write!(fb, iv)
BDIO_write_hash!(fb)
# k values
kv = Vector{Float64}()
for i in 1:nrks
push!(kv, h*(i-1)+startk)
# push!(kv, 0.0)
end
BDIO_start_record!(fb, BDIO_BIN_F64LE, 2, true)
BDIO_write!(fb, kv)
BDIO_write_hash!(fb)
for i in 1:nrks
if NSC == 1
sp = ScalarParm((h*(i-1)+startk,), (eta,))
# sp = ScalarParm((0.1,), (eta,))
else
sp = ScalarParm((h*(i-1),h*(i-1)), (0.5,0.5))
end
println("## Simulating Scalar parameters: ")
println(sp)
k = 0
HMC!(U,Phi, dt,nsteps,lp, gp, sp, ymws, sws; noacc=true)
# Thermalization
for j in 1:nth
k = k + 1
dh[k], acc[k] = HMC!(U,Phi, dt,nsteps,lp, gp, sp, ymws, sws)
pl[k] = plaquette(U,lp, gp, ymws)
rho[k],Lphi[k],Lalp[k] = scalar_obs(U, Phi, sp, lp, ymws)
@printf(" THM %d/%d (kappa: %4.3f): %s %6.2e %20.12e %20.12e %20.12e %20.12e\n",
j, nth, sp.kap[1], acc[k] ? "true " : "false", dh[k],
pl[k], rho[k], Lphi[k], Lalp[k])
end
println(" ")
# MC chain
for j in 1:niter
k = k + 1
dh[k], acc[k] = HMC!(U,Phi, dt,nsteps,lp, gp, sp, ymws, sws)
pl[k] = plaquette(U,lp, gp, ymws)
rho[k],Lphi[k],Lalp[k] = scalar_obs(U, Phi, sp, lp, ymws)
@printf(" MSM %d/%d (kappa: %4.3f): %s %6.2e %20.12e %20.12e %20.12e %20.12e\n",
j, niter, sp.kap[1], acc[k] ? "true " : "false", dh[k],
pl[k], rho[k], Lphi[k], Lalp[k])
end
# Write to BDIO
BDIO_start_record!(fb, BDIO_BIN_F64LE, 3, true)
BDIO_write!(fb, pl[1:nth])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 4, true)
BDIO_write!(fb, pl[nth+1:end])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 5, true)
BDIO_write!(fb, rho[1:nth])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 6, true)
BDIO_write!(fb, rho[nth+1:end])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 8, true)
BDIO_write!(fb, Lphi[1:nth])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 9, true)
BDIO_write!(fb, Lphi[nth+1:end])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 10, true)
BDIO_write!(fb, Lalp[1:nth])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 11, true)
BDIO_write!(fb, Lalp[nth+1:end])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 12, true)
BDIO_write!(fb, dh[1:nth])
BDIO_write_hash!(fb)
BDIO_start_record!(fb, BDIO_BIN_F64LE, 13, true)
BDIO_write!(fb, dh[nth+1:end])
BDIO_write_hash!(fb)
println("\n\n")
end
println("## Timming results")
print_timer(linechars = :ascii)
BDIO_close!(fb)
println("## END")
# END
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment