Almost done the sigma/F match

parent 1f45d414
......@@ -73,12 +73,12 @@ function Dw!(so, U, si, dpar::DiracParam, lp::SpaceParm{4,6,B,D}, ymws = "ymws",
error("YM workspace and Gauge parameters must be included for the improved dirac operator.")
else
@timeit "Dw_improvement" begin
for i in Int(lp.npls/2)
for i in 1:Int(lp.npls/2)
z1 = exp(2im * pi * lp.ntw[i]/gp.ng)
z2 = exp(2im * pi * lp.ntw[lp.npls-i]/gp.ng)
CUDA.@sync begin
CUDA.@cuda threads=lp.bsz blocks=lp.rsz krnl_field_tensor!(ymws.frc1, ymws.frc2, U, gp.Ubnd, i, lp.npls-i, z1, z2, lp)
CUDA.@cuda threads=lp.bsz blocks=lp.rsz krnl_Dw_impr!(so, ymws.frc1, ymws.frc2, Gamma{i}, Gamma{lp.npls-i}, si, dpar.csw, lp)
CUDA.@cuda threads=lp.bsz blocks=lp.rsz krnl_Dw_impr!(so, ymws.frc1, ymws.frc2, Gamma{i+9}, Gamma{lp.npls-i+8}, si, dpar.csw, lp)
end
end
end
......@@ -234,8 +234,8 @@ function krnl_Dw_impr!(so, F1, F2, Gid1, Gid2, si, csw, lp::SpaceParm{4,6,B,D})
b = Int64(CUDA.threadIdx().x); r = Int64(CUDA.blockIdx().x)
@inbounds begin
# asignation between /mu/nu index and sigma index is NOT correct
so[b,r] += 0.25*csw*im*( F1[b,r]*dmul(Gid1,si[b,r]) + F2[b,r]*dmul(Gid2,si[b,r]))
# asignation between /mu/nu index and sigma index is NOT correct : sigma 31 -> sigma13 in Spinors end
so[b,r] += 0.25*csw*im*( F1[b,r]*dmul(Gid1,si[b,r]) - F2[b,r]*dmul(Gid2,si[b,r]))
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