mirror of
https://igit.ific.uv.es/alramos/latticegpu.jl.git
synced 2025-05-15 03:33:42 +02:00
Added support for improved actions
This commit is contained in:
parent
cdad0f2be7
commit
3d464a0325
4 changed files with 128 additions and 112 deletions
17
src/YM/YM.jl
17
src/YM/YM.jl
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue