Added support for improved actions

This commit is contained in:
Alberto Ramos 2021-09-25 21:58:06 +02:00
parent cdad0f2be7
commit 3d464a0325
4 changed files with 128 additions and 112 deletions

View file

@ -20,6 +20,7 @@ import Base.show
struct GaugeParm{T}
beta::T
c0::T
cG::NTuple{2,T}
ng::Int64
end
@ -27,6 +28,7 @@ export GaugeParm
function Base.show(io::IO, gp::GaugeParm)
println(io, "beta: ", gp.beta)
println(io, "c0: ", gp.c0)
println(io, "Ngauge: ", gp.ng)
return nothing
@ -38,23 +40,17 @@ struct YMworkspace{T}
PRC
frc1
frc2
fpln
mom
U1
cm # complex of volume
rm # float of volume
function YMworkspace(::Type{G}, ::Type{T}, lp::SpaceParm; save_mem = false) where {G <: Group, T <: AbstractFloat}
function YMworkspace(::Type{G}, ::Type{T}, lp::SpaceParm) where {G <: Group, T <: AbstractFloat}
if (G == SU2)
GRP = SU2
ALG = SU2alg
f1 = field(SU2alg{T}, lp)
f2 = field(SU2alg{T}, lp)
if save_mem
fp = nothing
else
fp = field_pln(SU2alg{T}, lp)
end
mm = field(SU2alg{T}, lp)
u1 = field(SU2{T}, lp)
end
@ -64,18 +60,13 @@ struct YMworkspace{T}
ALG = SU3alg
f1 = field(SU3alg{T}, lp)
f2 = field(SU3alg{T}, lp)
if save_mem
fp = nothing
else
fp = field_pln(SU2alg{T}, lp)
end
mm = field(SU3alg{T}, lp)
u1 = field(SU3{T}, lp)
end
cs = CuArray{Complex{T}, 2}(undef, lp.bsz,lp.rsz)
rs = CuArray{T, 2}(undef, lp.bsz,lp.rsz)
return new{T}(GRP,ALG,T,f1, f2, fp, mm, u1, cs, rs)
return new{T}(GRP,ALG,T,f1, f2, mm, u1, cs, rs)
end
end
export YMworkspace