Volume sum improvement. Some io features.

parent 791e0f1d
......@@ -60,7 +60,7 @@ function load_structs()
global dpar = DiracParam{Float64}(SU3fund,(1/(2*params["Fermion"]["kappa"])) - 4,params["Fermion"]["csw"],ntuple(i -> exp(((i!=4)*im*params["Fermion"]["theta"]/lp.iL[i]) + ((i==4)*im*params["Fermion"]["theta_t"]/lp.iL[i])),4),0.0,params["Fermion"]["ct"]);
global dws = DiracWorkspace(SU3fund,Float64,lp);
global ymws = YMworkspace(SU3,Float64,lp);
global int = wfl_rk3(Float64, 0.1, 1.0)
global int = wfl_rk3(Float64, params["Frontflow"]["epsilon"], 1.0)
global intsch = omf4(Float64,params["HMC"]["eps"], params["HMC"]["ns"]);
global flow_times = params["Backflow"]["Flow_times"]
......@@ -93,6 +93,7 @@ function write_log()
println(log_file,"Parameters:")
println(log_file,"Lattice size: ", lp.iL)
println(log_file,"Boundary conditions: ", params["Space"]["bc"])
println(log_file,"kappa = ", params["Fermion"]["kappa"])
println(log_file,"theta = ", params["Fermion"]["theta"])
println(log_file,"csw = ", dpar.csw)
......
......@@ -66,16 +66,13 @@ function Frontflow_pt() # Will be Frontflow
pp_density .= Array(norm2.(psi))
ap_density .= Array(dot.(psi,dmul.(Gamma{4},psi)))
pp_corr_t0[:,noi] .= zero(Float64)
ap_corr_t0[:,noi] .= zero(ComplexF64)
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pp_corr_t0[t,noi] += pp_density[b,r]
ap_corr_t0[t,noi] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
pp_corr_t0[t,noi] += pp_density[b,r]
ap_corr_t0[t,noi] += ap_density[b,r]
end end
if params["Frontflow"]["t_zero"]>0.0
_,epslist = flw_adapt(U, psi, int, params["Frontflow"]["t_zero"], gp, dpar, lp, ymws, dws)
......@@ -94,13 +91,11 @@ function Frontflow_pt() # Will be Frontflow
ap_density .= Array(dot.(psi,dmul.(Gamma{4},psi)))
pp_corr_t[:,noi,tstep] .= zero(Float64)
ap_corr_t[:,noi,tstep] .= zero(ComplexF64)
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pp_corr_t[t,noi,tstep] += pp_density[b,r]
ap_corr_t[t,noi,tstep] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
pp_corr_t[t,noi,tstep] += pp_density[b,r]
ap_corr_t[t,noi,tstep] += ap_density[b,r]
end end
flw(U, psi, int, 1, params["Frontflow"]["epsilon"], gp, dpar, lp, ymws, dws)
end
......@@ -114,13 +109,11 @@ function Frontflow_pt() # Will be Frontflow
ap_density .= Array(dot.(psi,dmul.(Gamma{4},psi)))
pp_corr_t[:,noi,end] .= zero(Float64)
ap_corr_t[:,noi,end] .= zero(ComplexF64)
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pp_corr_t[t,noi,end] += pp_density[b,r]
ap_corr_t[t,noi,end] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
pp_corr_t[t,noi,end] += pp_density[b,r]
ap_corr_t[t,noi,end] += ap_density[b,r]
end end
@timeit "CPU to GPU" copyto!(U,U_CPU)
end
......@@ -177,33 +170,23 @@ function Backflow_pt() # Will be backflow
Quark_cond[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
Quark_cond[t,noi,fl] += ap_density[b,r]
end end end
end
Quark_cond_cfl[:,noi,fl] .= zero(ComplexF64)
pp_density .= Array(norm2.(dws.st))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
Quark_cond_cfl[t,noi,fl] += -pp_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
Quark_cond[t,noi,fl] += ap_density[b,r]
Quark_cond_cfl[t,noi,fl] += -pp_density[b,r]
end end
pp_density .= Array(norm2.(psi))
ap_density .= Array(dot.(psi,dmul.(Gamma{4},psi)))
pp_corr_tfl[:,noi,fl] .= zero(Float64)
ap_corr_tfl[:,noi,fl] .= zero(ComplexF64)
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pp_corr_tfl[t,noi,fl] += pp_density[b,r]
ap_corr_tfl[t,noi,fl] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
pp_corr_tfl[t,noi,fl] += pp_density[b,r]
ap_corr_tfl[t,noi,fl] += ap_density[b,r]
end end
@timeit "CPU to GPU" copyto!(U,U_CPU)
......@@ -216,29 +199,23 @@ function Backflow_pt() # Will be backflow
ChiDchi[:,noi,fl] .= zero(Float64)
ap_density .= Array(dot.(dws.st,dws.sp))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
ChiDchi[t,noi,fl] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
ChiDchi[t,noi,fl] += ap_density[b,r]
end end
Dw!(dws.sp,U,dws.st,dpar,dws,lp)
ap_density .= Array(dot.(dws.sp,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
ChiDchi[t,noi,fl] += -ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
ChiDchi[t,noi,fl] += -ap_density[b,r]
end end
Quark_cond2[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
Quark_cond2[t,noi,fl] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
Quark_cond2[t,noi,fl] += ap_density[b,r]
end end
@timeit "CPU to GPU" copyto!(U,U_CPU)
@timeit "CPU to GPU" copyto!(psi,psi_CPU)
......@@ -248,29 +225,23 @@ function Backflow_pt() # Will be backflow
ChiDchi_cfl[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot.(dws.st,dws.sp))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
ChiDchi_cfl[t,noi,fl] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
ChiDchi_cfl[t,noi,fl] += ap_density[b,r]
end end
Dw!(dws.sp,U,dws.st,dpar,dws,lp)
ap_density .= Array(dot.(dws.sp,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
ChiDchi_cfl[t,noi,fl] += -ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
ChiDchi_cfl[t,noi,fl] += -ap_density[b,r]
end end
Quark_cond2_cfl[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
Quark_cond2_cfl[t,noi,fl] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
Quark_cond2_cfl[t,noi,fl] += ap_density[b,r]
end end
end
......@@ -342,21 +313,13 @@ function Two_pt_lagrange() # Will be 2pt lagrange mult
pphat_t[:,noi,fl] .= zero(Float64)
pp_density .= Array(norm2.(psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pphat_t[t,noi,fl] += -pp_density[b,r]
end end end
end
pptilde_t[:,noi,fl] .= zero(Float64)
ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pptilde_t[t,noi,fl] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
pphat_t[t,noi,fl] += -pp_density[b,r]
pptilde_t[t,noi,fl] += ap_density[b,r]
end end
ymws.U1 .= U
flw(U, psi, int, 1, params["Frontflow"]["epsilon"], gp, dpar, lp, ymws, dws)
U .= ymws.U1
......@@ -365,20 +328,13 @@ function Two_pt_lagrange() # Will be 2pt lagrange mult
end
pphat_t[:,noi,end] .= zero(Float64)
pp_density .= Array(norm2.(psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pphat_t[t,noi,end] += -pp_density[b,r]
end end end
end
pptilde_t[:,noi,end] .= zero(Complex{Float64})
ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
pptilde_t[t,noi,end] += ap_density[b,r]
end end end
end
@timeit "Volume sum" for b in 1:lp.bsz for r in 1:lp.rsz
t = point_time((b,r),lp)
pphat_t[t,noi,end] += -pp_density[b,r]
pptilde_t[t,noi,end] += ap_density[b,r]
end end
@timeit "CPU to GPU" copyto!(U,U_CPU)
......
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