mirror of
https://igit.ific.uv.es/alramos/latticegpu.jl.git
synced 2025-05-14 19:23:42 +02:00
Added default constructor for GaugeParm
This commit is contained in:
parent
15e511b876
commit
eee02b62ea
2 changed files with 7 additions and 9 deletions
|
@ -28,6 +28,7 @@ struct GaugeParm{T,G,N}
|
||||||
|
|
||||||
Ubnd::NTuple{N, G}
|
Ubnd::NTuple{N, G}
|
||||||
|
|
||||||
|
GaugeParm{T1,T2,T3}(a,b,c,d,e) = new{T1,T2,T3,T4}(a,b,c,d,e)
|
||||||
function GaugeParm{T}(::Type{G}, bt, c0, cG, phi, iL) where {T,G}
|
function GaugeParm{T}(::Type{G}, bt, c0, cG, phi, iL) where {T,G}
|
||||||
|
|
||||||
degree(::Type{SU2{T}}) where T <: AbstractFloat = 2
|
degree(::Type{SU2{T}}) where T <: AbstractFloat = 2
|
||||||
|
|
|
@ -18,10 +18,12 @@ function import_lex64(fname, lp::SpaceParm)
|
||||||
|
|
||||||
fp = open(fname, "r")
|
fp = open(fname, "r")
|
||||||
|
|
||||||
dtr = [4,1,2,3]
|
dtr = [2,3,4,1]
|
||||||
|
|
||||||
|
assign(i, V, i4) = SU3{Float64}(V[1,dtr[id],1],V[2,dtr[id],1],V[3,dtr[id],1],
|
||||||
|
V[4,dtr[id],1],V[5,dtr[id],1],V[6,dtr[id],1])
|
||||||
|
|
||||||
Ucpu = Array{SU3{Float64}, 3}(undef, lp.bsz, lp.ndim, lp.rsz)
|
Ucpu = Array{SU3{Float64}, 3}(undef, lp.bsz, lp.ndim, lp.rsz)
|
||||||
Ubnd = Array{SU3{Float64}, 1}(undef, lp.ndim-1)
|
|
||||||
V = Array{ComplexF64, 3}(undef, 9, lp.ndim, lp.iL[3])
|
V = Array{ComplexF64, 3}(undef, 9, lp.ndim, lp.iL[3])
|
||||||
for i4 in 1:lp.iL[4]
|
for i4 in 1:lp.iL[4]
|
||||||
for i1 in 1:lp.iL[1]
|
for i1 in 1:lp.iL[1]
|
||||||
|
@ -30,8 +32,7 @@ function import_lex64(fname, lp::SpaceParm)
|
||||||
for i3 in 1:lp.iL[3]
|
for i3 in 1:lp.iL[3]
|
||||||
b, r = point_index(CartesianIndex(i1,i2,i3,i4), lp)
|
b, r = point_index(CartesianIndex(i1,i2,i3,i4), lp)
|
||||||
for id in 1:lp.ndim
|
for id in 1:lp.ndim
|
||||||
Ucpu[b,dtr[id],r] = SU3{Float64}(V[1,id,i4],V[2,id,i4],V[3,id,i4],
|
Ucpu[b,id,r] = assign(i, V, i4)
|
||||||
V[4,id,i4],V[5,id,i4],V[6,id,i4])
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -39,11 +40,7 @@ function import_lex64(fname, lp::SpaceParm)
|
||||||
end
|
end
|
||||||
|
|
||||||
read!(fp, V)
|
read!(fp, V)
|
||||||
for id in 2:lp.ndim
|
Ubnd = ntuple(i->assign(i, V, 1), 3)
|
||||||
Ubnd[dtr[id]] = SU3{Float64}(V[1,id,1],V[2,id,1],V[3,id,1],
|
|
||||||
V[4,id,1],V[5,id,1],V[6,id,1])
|
|
||||||
end
|
|
||||||
|
|
||||||
close(fp)
|
close(fp)
|
||||||
|
|
||||||
return CuArray(Ucpu), Ubnd
|
return CuArray(Ucpu), Ubnd
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue