Some updates

This commit is contained in:
Alberto Ramos 2022-01-05 19:55:51 +01:00
parent 6f6773d2ed
commit 65a619e554
7 changed files with 191 additions and 64 deletions

View file

@ -12,7 +12,7 @@
module YM
using CUDA, Random, TimerOutputs
using CUDA, Random, TimerOutputs, BDIO
using ..Space
using ..Groups
using ..Fields
@ -147,6 +147,6 @@ include("YMsf.jl")
export sfcoupling, bndfield, setbndfield
include("YMio.jl")
export import_lex64, import_cern64
export import_lex64, import_cern64, import_bsfqcd
end

View file

@ -9,6 +9,49 @@
### created: Wed Nov 10 12:58:27 2021
###
"""
function import_lex64(fname::String, lp::SpaceParm)
import a double precision configuration in lexicographic format. SF boundary conditions are assummed.
"""
function import_bsfqcd(fname, lp::SpaceParm)
fp = BDIO_open(fname, "r")
while BDIO_seek!(fp)
if (BDIO_get_uinfo(fb) == 2)
break
end
end
dtr = [2,3,4,1]
assign(id, V, i3) = SU3{Float64}(V[1,dtr[id],i3],V[2,dtr[id],i3],V[3,dtr[id],i3],
V[4,dtr[id],i3],V[5,dtr[id],i3],V[6,dtr[id],i3])
Ucpu = Array{SU3{Float64}, 3}(undef, lp.bsz, lp.ndim, lp.rsz)
V = Array{ComplexF64, 3}(undef, 9, lp.ndim, lp.iL[3])
for i4 in 1:lp.iL[4]
for i1 in 1:lp.iL[1]
for i2 in 1:lp.iL[2]
BDIO_read(fp, V)
for i3 in 1:lp.iL[3]
b, r = point_index(CartesianIndex(i1,i2,i3,i4), lp)
for id in 1:lp.ndim
Ucpu[b,id,r] = assign(id, V, i3)
end
end
end
end
end
BDIO_read(fp, V)
Ubnd = ntuple(i->assign(i, V, 1), 3)
close(fp)
return CuArray(Ucpu), Ubnd
end
"""
function import_lex64(fname::String, lp::SpaceParm)