Read function updated

parent 9e3c24de
......@@ -24,8 +24,6 @@ function read_ff(name::String)
dims=Vector{Int32}(undef,1)
iL=Vector{Int32}(undef,4)
dpars=Vector{Float64}(undef,2) # m0,csw
th=Vector{ComplexF64}(undef,4)
N_noiseff=Vector{Int32}(undef,1)
nsteps=Vector{Int32}(undef,1)
N_noisebf=Vector{Int32}(undef,1)
......@@ -34,12 +32,21 @@ function read_ff(name::String)
epsilon=Vector{Float64}(undef,1)
tsourceff=Vector{Int32}(undef,1)
tsourcebf=Vector{Int32}(undef,1)
Nf=Vector{Int32}(undef,1)
BDIO_read(file, dims)
BDIO_read(file, iL)
BDIO_read(file, dpars)
BDIO_read(file, th)
BDIO_read(file, Nf)
dpars=[Vector{Float64}(undef,2) for _ in 1:Nf[1]] # m0,csw
th=[Vector{ComplexF64}(undef,4) for _ in 1:Nf[1]]
for i in 1:Nf[1]
BDIO_read(file, dpars[i])
BDIO_read(file, th[i])
end
BDIO_read(file, N_noiseff)
BDIO_read(file, nsteps)
BDIO_read(file, N_noisebf)
......@@ -51,7 +58,7 @@ function read_ff(name::String)
flow_times=Vector{Float64}(undef,nflow[1])
nflow[1] > 0 ? BDIO_read(file, flow_times) : nothing
print("Reading data from a ",Int64.(iL), " lattice.\n")
println("Reading data from a ",Int64.(iL), " lattice.")
println("Frontflow: ",N_noiseff[1], " sources at euclidean time ", tsourceff[1] ,". Flowtime starting at ",tzeroff[1], " with ",nsteps[1]," steps of size ", epsilon[1])
println("Backflow: ",N_noisebf[1]," sources at euclidean time ",tsourcebf[1],". Flow times are ", flow_times)
......@@ -59,46 +66,56 @@ function read_ff(name::String)
N_noisebf = N_noisebf[1]
nflow = nflow[1]
nsteps = nsteps[1]
Nf = Nf[1]
TvecR = Vector{Float64}(undef,iL[4]);
TvecC = Vector{ComplexF64}(undef,iL[4]);
CN = Vector{ComplexF64}(undef,1);
RN = Vector{Float64}(undef,1);
ET = Vector{ComplexF64}(undef,2+nsteps);
pp_corr = Array{Float64}(undef,1,iL[4],N_noiseff);
ap_corr = Array{ComplexF64}(undef,1,iL[4],N_noiseff);
pp_corr_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1);
ap_corr_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1);
pphat_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1);
pptilde_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1);
Eoft = Array{Complex{Float64}}(undef,1,2+nsteps,iL[4]);
pp_corr_tfl = Array{Float64}(undef,1,iL[4],N_noisebf,nflow);
ap_corr_tfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma2 = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma2_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
ChiDchi = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
ChiDchi_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
pp_corr_mc = Array{Float64}(undef,0,iL[4],N_noiseff);
ap_corr_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff);
pphat_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1);
pptilde_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1);
Eoft_mc = Array{Complex{Float64}}(undef,0,2+nsteps,iL[4]);
pp_corr_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1);
ap_corr_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1);
pp_corr_tfl_mc = Array{Float64}(undef,0,iL[4],N_noisebf,nflow);
ap_corr_tfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
Sigma_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
Sigma_cfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
Sigma2_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
Sigma2_cfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
ChiDchi_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
ChiDchi_cfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow);
pp_corr = Array{Float64}(undef,1,iL[4],N_noiseff,Nf);
ap_corr = Array{ComplexF64}(undef,1,iL[4],N_noiseff,Nf);
pphat0 = Array{Float64}(undef,1,iL[4],N_noiseff,Nf);
pptilde0 = Array{ComplexF64}(undef,1,iL[4],N_noiseff,Nf);
pp_corr_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1,Nf);
ap_corr_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1,Nf);
pphat_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1,Nf);
pptilde_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1,Nf);
Eoft = Array{Complex{Float64}}(undef,1,1+nsteps,iL[4]);
Eoft0 = Array{Complex{Float64}}(undef,1,iL[4]);
Qt = Array{Complex{Float64}}(undef,1,1+nsteps,iL[4]);
Qt0 = Array{Complex{Float64}}(undef,1,iL[4]);
pp_corr_tfl = Array{Float64}(undef,1,iL[4],N_noisebf,nflow,Nf);
ap_corr_tfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
Sigma = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
Sigma_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
Sigma2 = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
Sigma2_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
ChiDchi = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
ChiDchi_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow,Nf);
pp_corr_mc = Array{Float64}(undef,0,iL[4],N_noiseff,Nf);
ap_corr_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,Nf);
pphat0_mc = Array{Float64}(undef,0,iL[4],N_noiseff,Nf);
pptilde0_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,Nf);
pphat_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1,Nf);
pptilde_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1,Nf);
pp_corr_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1,Nf);
ap_corr_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1,Nf);
Eoft_mc = Array{Complex{Float64}}(undef,0,1+nsteps,iL[4]);
Eoft0_mc = Array{Complex{Float64}}(undef,0,iL[4]);
Qt_mc = Array{Complex{Float64}}(undef,0,1+nsteps,iL[4]);
Qt0_mc = Array{Complex{Float64}}(undef,0,iL[4]);
pp_corr_tfl_mc = Array{Float64}(undef,0,iL[4],N_noisebf,nflow,Nf);
ap_corr_tfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
Sigma_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
Sigma_cfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
Sigma2_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
Sigma2_cfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
ChiDchi_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
ChiDchi_cfl_mc = Array{ComplexF64}(undef,0,iL[4],N_noisebf,nflow,Nf);
while BDIO_get_uinfo(file) != 8
BDIO_seek!(file)
......@@ -106,62 +123,87 @@ function read_ff(name::String)
while BDIO_get_uinfo(file) == 8
for noi in 1:N_noiseff
BDIO_read(file,TvecR)
pp_corr[1,:,noi] .= TvecR
BDIO_read(file,TvecC)
ap_corr[1,:,noi] .= TvecC
for fl in 1:nsteps+1
for f in 1:Nf
for noi in 1:N_noiseff
BDIO_read(file,TvecR)
pp_corr_t[1,:,noi,fl].= TvecR
pp_corr[1,:,noi,f] .= TvecR
BDIO_read(file,TvecC)
ap_corr_t[1,:,noi,fl].= TvecC
ap_corr[1,:,noi,f] .= TvecC
BDIO_read(file,TvecR)
pphat_t[1,:,noi,fl].= TvecR
pphat0[1,:,noi,f] .= TvecR
BDIO_read(file,TvecC)
pptilde_t[1,:,noi,fl].= TvecC
pptilde0[1,:,noi,f] .= TvecC
for fl in 1:nsteps+1
BDIO_read(file,TvecR)
pp_corr_t[1,:,noi,fl,f].= TvecR
BDIO_read(file,TvecC)
ap_corr_t[1,:,noi,fl,f].= TvecC
BDIO_read(file,TvecR)
pphat_t[1,:,noi,fl,f].= TvecR
BDIO_read(file,TvecC)
pptilde_t[1,:,noi,fl,f].= TvecC
end
end
end
for time in 1:iL[4]
BDIO_read(file,ET)
Eoft[1,:,time] .= ET
BDIO_read(file,TvecC)
Eoft0[1,:] .= TvecC
BDIO_read(file,TvecC)
Qt0[1,:] .= TvecC
for fl in 1:nsteps+1
BDIO_read(file,TvecC)
Eoft[1,:] .= TvecC
BDIO_read(file,TvecC)
Qt[1,:] .= TvecC
end
for noi in 1:N_noisebf
for fl in 1:nflow
BDIO_read(file,TvecR)
pp_corr_tfl[1,:,noi,fl].= TvecR
BDIO_read(file,TvecC)
ap_corr_tfl[1,:,noi,fl].= TvecC
for f in 1:Nf
for noi in 1:N_noisebf
for fl in 1:nflow
BDIO_read(file,TvecR)
pp_corr_tfl[1,:,noi,fl,f].= TvecR
BDIO_read(file,TvecC)
Sigma[1,:,noi,fl] .= TvecC
BDIO_read(file,TvecC)
Sigma_cfl[1,:,noi,fl] .= TvecC
BDIO_read(file,TvecC)
ap_corr_tfl[1,:,noi,fl,f].= TvecC
BDIO_read(file,TvecC)
Sigma2[1,:,noi,fl] .= TvecC
BDIO_read(file,TvecC)
Sigma[1,:,noi,fl,f] .= TvecC
BDIO_read(file,TvecC)
Sigma2_cfl[1,:,noi,fl] .= TvecC
BDIO_read(file,TvecC)
Sigma_cfl[1,:,noi,fl,f] .= TvecC
BDIO_read(file,TvecC)
ChiDchi[1,:,noi,fl] .= TvecC
BDIO_read(file,TvecC)
Sigma2[1,:,noi,fl,f] .= TvecC
BDIO_read(file,TvecC)
ChiDchi_cfl[1,:,noi,fl] .= TvecC
BDIO_read(file,TvecC)
Sigma2_cfl[1,:,noi,fl,f] .= TvecC
BDIO_read(file,TvecC)
ChiDchi[1,:,noi,fl,f] .= TvecC
BDIO_read(file,TvecC)
ChiDchi_cfl[1,:,noi,fl,f] .= TvecC
end
end
end
Eoft0_mc=[Eoft0_mc;Eoft0]
Eoft_mc=[Eoft_mc;Eoft]
Qt0_mc=[Qt0_mc;Qt0]
Qt_mc=[Qt_mc;Qt]
pp_corr_mc=[pp_corr_mc;pp_corr]
ap_corr_mc=[ap_corr_mc;ap_corr]
pphat0_mc=[pphat0_mc;pphat0]
pptilde0_mc=[pptilde0_mc;pptilde0]
pp_corr_t_mc=[pp_corr_t_mc;pp_corr_t]
ap_corr_t_mc=[ap_corr_t_mc;ap_corr_t]
pphat_t_mc=[pphat_t_mc;pphat_t]
......@@ -182,18 +224,18 @@ function read_ff(name::String)
BDIO_close!(file)
return Eoft_mc,pp_corr_mc,ap_corr_mc,pp_corr_t_mc,ap_corr_t_mc,pp_corr_tfl_mc,ap_corr_tfl_mc,Sigma_mc,Sigma_cfl_mc,Sigma2_mc,Sigma2_cfl_mc,ChiDchi_mc,ChiDchi_cfl_mc,pphat_t_mc,pptilde_t_mc
return Eoft0_mc,Eoft_mc,Qt0_mc,Qt,pp_corr_mc,ap_corr_mc,pp_corr_t_mc,ap_corr_t_mc,pp_corr_tfl_mc,ap_corr_tfl_mc,Sigma_mc,Sigma_cfl_mc,Sigma2_mc,Sigma2_cfl_mc,ChiDchi_mc,ChiDchi_cfl_mc,pphat_t_mc,pptilde_t_mc,pphat0_mc,pptilde0_mc
end
"""
function uwff(file::String)
Loads in the variables 'Eoft', 'pp_corr', 'ap_corr', 'pp_corr_t','ap_corr_t', 'pphat_t', 'pptilde_t','pp_corr_tfl','ap_corr_tfl' 'Sigma'(v1 and v2), 'Sigma_cfl'(v1 and v2), 'ChiDchi' and 'ChiDchi_cfl' the corresponding
Loads in the variables 'Eoft','Eoft0','Qt','Qt0', 'pp_corr', 'ap_corr', 'pp_corr_t','ap_corr_t', 'pphat_t', 'pptilde_t','pphat0', 'pptilde0','pp_corr_tfl','ap_corr_tfl' 'Sigma'(v1 and v2), 'Sigma_cfl'(v1 and v2), 'ChiDchi' and 'ChiDchi_cfl' the corresponding
'uwreal' quantities. Noise average has been performed. The indices are, when corresponding, eucliden time and flow times
"""
function uwff(file::String)
Eoft_mc,pp_corr_mc,ap_corr_mc,pp_corr_t_mc,ap_corr_t_mc,pp_corr_tfl_mc,ap_corr_tfl_mc,Sigma_mc,Sigma_cfl_mc,Sigma2_mc,Sigma2_cfl_mc,ChiDchi_mc,ChiDchi_cfl_mc,pphat_t_mc,pptilde_t_mc = read_ff(file)
Eoft0_mc,Eoft_mc,Qt0_mc,Qt,pp_corr_mc,ap_corr_mc,pp_corr_t_mc,ap_corr_t_mc,pp_corr_tfl_mc,ap_corr_tfl_mc,Sigma_mc,Sigma_cfl_mc,Sigma2_mc,Sigma2_cfl_mc,ChiDchi_mc,ChiDchi_cfl_mc,pphat_t_mc,pptilde_t_mc,pphat0_mc,pptilde0_mc = read_ff(file)
runame = String(split(split(file,"/")[end],".")[1])
T = size(pp_corr_mc)[2]
......@@ -201,28 +243,40 @@ function uwff(file::String)
nsteps = size(pp_corr_t_mc)[4]-1
Nsbf = size(pp_corr_tfl_mc)[3]
Nfl = size(pp_corr_tfl_mc)[4]
Nf = size(pp_corr_mc)[4]
global Eoft = [uwreal(real.(Eoft_mc[:,i,j]),runame) for j in 1:T, i in 1:nsteps+1]
global Eoft0 = [uwreal(real.(Eoft0_mc[:,j]),runame) for j in 1:T]
global Qt = [uwreal(real.(Qt_mc[:,i,j]),runame) for j in 1:T, i in 1:nsteps+1]
global Qt0 = [uwreal(real.(Qt0_mc[:,j]),runame) for j in 1:T]
global pp_corr = [uwreal(sum(pp_corr_mc,dims = 3)[:,i,1,f]./Nsff,runame) for i in 1:T, for f in 1:Nf]
global ap_corr = [uwreal(real.(sum(ap_corr_mc,dims = 3)[:,i,1,f]./Nsff),runame) for i in 1:T, for f in 1:Nf]
global pphat0 = [uwreal(sum(pphat0_mc,dims = 3)[:,i,1,f]./Nsff,runame) for i in 1:T, for f in 1:Nf]
global pptilde0 = [uwreal(real.(sum(pptilde0_mc,dims = 3)[:,i,1,f]./Nsff),runame) for i in 1:T, for f in 1:Nf]
global Eoft = [uwreal(real.(Eoft_mc[:,i,j]),runame) for j in 1:T, i in 1:nsteps+2]
global pp_corr = [uwreal(sum(pp_corr_mc,dims = 3)[:,i,1,f]./Nsff,runame) for i in 1:T, for f in 1:Nf]
global ap_corr = [uwreal(real.(sum(ap_corr_mc,dims = 3)[:,i,1,f]./Nsff),runame) for i in 1:T, for f in 1:Nf]
global pp_corr = [uwreal(sum(pp_corr_mc,dims = 3)[:,i,1]./Nsff,runame) for i in 1:T]
global ap_corr = [uwreal(real.(sum(ap_corr_mc,dims = 3)[:,i,1]./Nsff),runame) for i in 1:T]
global pp_corr_t = [uwreal(sum(pp_corr_t_mc,dims = 3)[:,i,1,k,f]./Nsff,runame) for i in 1:T, k in 1:nsteps+1, for f in 1:Nf]
global ap_corr_t = [uwreal(real.(sum(ap_corr_t_mc,dims = 3)[:,i,1,k,f]./Nsff),runame) for i in 1:T,k in 1:nsteps+1, for f in 1:Nf]
global pp_corr_t = [uwreal(sum(pp_corr_t_mc,dims = 3)[:,i,1,k]./Nsff,runame) for i in 1:T, k in 1:nsteps+1]
global ap_corr_t = [uwreal(real.(sum(ap_corr_t_mc,dims = 3)[:,i,1,k]./Nsff),runame) for i in 1:T,k in 1:nsteps+1]
global pphat_t = [uwreal(sum(pphat_t_mc,dims = 3)[:,i,1,k,f]./Nsff,runame) for i in 1:T, k in 1:nsteps+1, for f in 1:Nf]
global pptilde_t = [uwreal(real.(sum(pptilde_t_mc,dims = 3)[:,i,1,k,f]./Nsff),runame) for i in 1:T,k in 1:nsteps+1, for f in 1:Nf]
global pphat_t = [uwreal(sum(pphat_t_mc,dims = 3)[:,i,1,k]./Nsff,runame) for i in 1:T, k in 1:nsteps+1]
global pptilde_t = [uwreal(real.(sum(pptilde_t_mc,dims = 3)[:,i,1,k]./Nsff),runame) for i in 1:T,k in 1:nsteps+1]
global pp_corr_tfl = [uwreal(sum(pp_corr_tfl_mc,dims = 3)[:,i,1,k,f]./Nsbf,runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global ap_corr_tfl = [uwreal(real.(sum(ap_corr_tfl_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T,k in 1:Nfl, for f in 1:Nf]
global pp_corr_tfl = [uwreal(sum(pp_corr_tfl_mc,dims = 3)[:,i,1,k]./Nsbf,runame) for i in 1:T, k in 1:Nfl]
global ap_corr_tfl = [uwreal(real.(sum(ap_corr_tfl_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T,k in 1:Nfl]
global Sigma = [uwreal(real.(sum(Sigma_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global Sigma_cfl = [uwreal(real.(sum(Sigma_cfl_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global Sigma = [uwreal(real.(sum(Sigma_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T, k in 1:Nfl]
global Sigma_cfl = [uwreal(real.(sum(Sigma_cfl_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T, k in 1:Nfl]
global Sigma2 = [uwreal(real.(sum(Sigma2_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global Sigma2_cfl = [uwreal(real.(sum(Sigma2_cfl_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global Sigma2 = [uwreal(real.(sum(Sigma2_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T, k in 1:Nfl]
global Sigma2_cfl = [uwreal(real.(sum(Sigma2_cfl_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T, k in 1:Nfl]
global ChiDchi = [uwreal(real.(sum(ChiDchi_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global ChiDchi_cfl = [uwreal(real.(sum(ChiDchi_cfl_mc,dims = 3)[:,i,1,k,f]./Nsbf),runame) for i in 1:T, k in 1:Nfl, for f in 1:Nf]
global ChiDchi = [uwreal(real.(sum(ChiDchi_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T, k in 1:Nfl]
global ChiDchi_cfl = [uwreal(real.(sum(ChiDchi_cfl_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T, k in 1:Nfl]
return nothing
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