HMC log completion. Cfl split of sigma.

parent 232a710f
...@@ -66,6 +66,7 @@ function load_structs() ...@@ -66,6 +66,7 @@ function load_structs()
global flow_times = params["Measurements"]["Flow_times"] global flow_times = params["Measurements"]["Flow_times"]
global N_noise = params["Measurements"]["N_noise"] global N_noise = params["Measurements"]["N_noise"]
global MCid = 0 global MCid = 0
global Nmc_acc = 0
return nothing return nothing
end end
...@@ -139,6 +140,7 @@ function save_data() ...@@ -139,6 +140,7 @@ function save_data()
BDIO_write!(fb,pp_corr_t[:,noi,fl]) BDIO_write!(fb,pp_corr_t[:,noi,fl])
BDIO_write!(fb,ap_corr_t[:,noi,fl]) BDIO_write!(fb,ap_corr_t[:,noi,fl])
BDIO_write!(fb,[Quark_cond[noi,fl]]) BDIO_write!(fb,[Quark_cond[noi,fl]])
BDIO_write!(fb,[Quark_cond_cfl[noi,fl]])
end end
end end
......
...@@ -24,11 +24,16 @@ function Gauge_update() ...@@ -24,11 +24,16 @@ function Gauge_update()
flush(log_file) flush(log_file)
for _ in 1:params["HMC"]["dmeas"] for _ in 1:params["HMC"]["dmeas"]
_,acc = HMC!(U,intsch,lp,gp,ymws) dH,acc = HMC!(U,intsch,lp,gp,ymws)
acc ? nothing : println(log_file,"Rejected HCM step") acc ? Nmc_acc += 1 : println(log_file,"Rejected HCM step")
acc ? Nmc_acc += 1 : nothing
end end
global MCid = MCid + 1 global MCid = MCid + 1
println(log_file,"Updated to Gauge configuration n"*string(MCid)) println(log_file,"Updated to Gauge configuration n"*string(MCid))
println(log_file,"dH = ",dH)
println(log_file,"acc = ",Nmc_acc/(params["HMC"]["dmeas"] * Mcid))
println(log_file,"Plaq = ", plaquette(U, lp, gp, ymws))
println(log_file,"Qtop = ", Qtop(U, gp, lp, ymws))
Csw!(dws,U,gp,lp) Csw!(dws,U,gp,lp)
U_CPU .= Array(U) U_CPU .= Array(U)
......
...@@ -22,6 +22,7 @@ function load_fields() ...@@ -22,6 +22,7 @@ function load_fields()
global ap_corr_t = fill(zero(ComplexF64),(lp.iL[4],N_noise,length(flow_times))); global ap_corr_t = fill(zero(ComplexF64),(lp.iL[4],N_noise,length(flow_times)));
global Quark_cond = Array{Complex{Float64}}(undef,N_noise,length(flow_times)); global Quark_cond = Array{Complex{Float64}}(undef,N_noise,length(flow_times));
global Quark_cond_cfl = Array{Complex{Float64}}(undef,N_noise,length(flow_times));
return nothing return nothing
end end
...@@ -37,7 +38,6 @@ function two_pt() ...@@ -37,7 +38,6 @@ function two_pt()
flush(log_file) flush(log_file)
for noi in 1:N_noise for noi in 1:N_noise
propagator!(psi,U, dpar, dws, lp,params["Measurements"]["maxiter"], params["Measurements"]["tolerance"],1) propagator!(psi,U, dpar, dws, lp,params["Measurements"]["maxiter"], params["Measurements"]["tolerance"],1)
pp_density .= Array(norm2.(psi)) pp_density .= Array(norm2.(psi))
...@@ -116,7 +116,8 @@ function one_pt() ...@@ -116,7 +116,8 @@ function one_pt()
CG!(psi,U,DwdagDw!,dpar,lp,dws,params["Measurements"]["maxiter"], params["Measurements"]["tolerance"]) CG!(psi,U,DwdagDw!,dpar,lp,dws,params["Measurements"]["maxiter"], params["Measurements"]["tolerance"])
copyto!(dws.sp,psi_CPU) copyto!(dws.sp,psi_CPU)
Quark_cond[noi,fl] = sum(dot.(dws.sp,psi) - params["Fermion"]["Cfl"] .* norm2.(dws.sp)) Quark_cond[noi,fl] = sum(dot.(dws.sp,psi))
Quark_cond_cfl[noi,fl] = sum(-norm2.(dws.sp))
copyto!(U,U_CPU) copyto!(U,U_CPU)
...@@ -124,18 +125,9 @@ function one_pt() ...@@ -124,18 +125,9 @@ function one_pt()
end end
Quark_cond .= Quark_cond./prod(lp.iL) Quark_cond .= Quark_cond./prod(lp.iL)
Quark_cond_cfl .= Quark_cond_cfl./prod(lp.iL)
println(log_file,"Finished measuring 1pt") println(log_file,"Finished measuring 1pt")
return nothing return nothing
end end
function gauge_meas()
println(log_file,"\nGauge meassurements:\n")
println(log_file,"Plaquette: ", plaquette(U, lp, gp, ymws))
println(log_file,"Topological charge: ", Qtop(U, gp, lp, ymws))
sfc = sfcoupling(U, lp, gp, ymws)
flush(log_file)
return nothing
end
...@@ -37,12 +37,14 @@ function read_ff(name::String) ...@@ -37,12 +37,14 @@ function read_ff(name::String)
pp_corr_t = Array{Float64}(undef,1,iL[4],N_noise,nflow); pp_corr_t = Array{Float64}(undef,1,iL[4],N_noise,nflow);
ap_corr_t = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); ap_corr_t = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow);
Sigma = Array{ComplexF64}(undef,1,N_noise,nflow); Sigma = Array{ComplexF64}(undef,1,N_noise,nflow);
Sigma_cfl = Array{ComplexF64}(undef,1,N_noise,nflow);
pp_corr_mc = Array{Float64}(undef,0,iL[4],N_noise); pp_corr_mc = Array{Float64}(undef,0,iL[4],N_noise);
ap_corr_mc = Array{ComplexF64}(undef,0,iL[4],N_noise); ap_corr_mc = Array{ComplexF64}(undef,0,iL[4],N_noise);
pp_corr_t_mc = Array{Float64}(undef,0,iL[4],N_noise,nflow); pp_corr_t_mc = Array{Float64}(undef,0,iL[4],N_noise,nflow);
ap_corr_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noise,nflow); ap_corr_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noise,nflow);
Sigma_mc = Array{ComplexF64}(undef,0,N_noise,nflow); Sigma_mc = Array{ComplexF64}(undef,0,N_noise,nflow);
Sigma_cfl_mc = Array{ComplexF64}(undef,0,N_noise,nflow);
while BDIO_get_uinfo(file) != 8 while BDIO_get_uinfo(file) != 8
BDIO_seek!(file) BDIO_seek!(file)
...@@ -66,6 +68,8 @@ function read_ff(name::String) ...@@ -66,6 +68,8 @@ function read_ff(name::String)
BDIO_read(file,CN) BDIO_read(file,CN)
Sigma[1,noi,fl]= CN[1] Sigma[1,noi,fl]= CN[1]
BDIO_read(file,CN)
Sigma_cfl[1,noi,fl]= CN[1]
end end
end end
...@@ -74,6 +78,7 @@ function read_ff(name::String) ...@@ -74,6 +78,7 @@ function read_ff(name::String)
pp_corr_t_mc=[pp_corr_t_mc;pp_corr_t] pp_corr_t_mc=[pp_corr_t_mc;pp_corr_t]
ap_corr_t_mc=[ap_corr_t_mc;ap_corr_t] ap_corr_t_mc=[ap_corr_t_mc;ap_corr_t]
Sigma_mc=[Sigma_mc;Sigma] Sigma_mc=[Sigma_mc;Sigma]
Sigma_cfl_mc=[Sigma_cfl_mc;Sigma_cfl]
BDIO_seek!(file) BDIO_seek!(file)
BDIO_seek!(file) BDIO_seek!(file)
...@@ -81,7 +86,7 @@ function read_ff(name::String) ...@@ -81,7 +86,7 @@ function read_ff(name::String)
BDIO_close!(file) BDIO_close!(file)
return pp_corr_mc,ap_corr_mc,pp_corr_t_mc,ap_corr_t_mc,Sigma_mc return pp_corr_mc,ap_corr_mc,pp_corr_t_mc,ap_corr_t_mc,Sigma_mc,Sigma_cfl_mc
end end
...@@ -103,9 +108,10 @@ function uwff(file::String) ...@@ -103,9 +108,10 @@ function uwff(file::String)
global ap_corr = [uwreal(real.(sum(ap_corr_mc,dims = 3)[:,i,1]./Ns),runame) for i in 1:T] global ap_corr = [uwreal(real.(sum(ap_corr_mc,dims = 3)[:,i,1]./Ns),runame) for i in 1:T]
global pp_corr_t = [uwreal(sum(pp_corr_t_mc,dims = 3)[:,i,1,k]./Ns,runame) for i in 1:T, k in 1:Nfl] global pp_corr_t = [uwreal(sum(pp_corr_t_mc,dims = 3)[:,i,1,k]./Ns,runame) for i in 1:T, k in 1:Nfl]
global ap_corr_t = [uwreal(real.(sum(ap_corr_t_mc,dims = 3)[:,i,1,k]./Ns),runame) for i in 1:T, j in 1:Ns,k in 1:Nfl] global ap_corr_t = [uwreal(real.(sum(ap_corr_t_mc,dims = 3)[:,i,1,k]./Ns),runame) for i in 1:T,k in 1:Nfl]
global Sigma = [uwreal(real.(sum(Sigma_mc,dims = 2)[:,1,i]./Ns),runame) for i in 1:Nfl] global Sigma = [uwreal(real.(sum(Sigma_mc,dims = 2)[:,1,i]./Ns),runame) for i in 1:Nfl]
global Sigma_cfl = [uwreal(real.(sum(Sigma_cfl_mc,dims = 2)[:,1,i]./Ns),runame) for i in 1:Nfl]
return nothing return nothing
end end
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