Commit 3c8b39c2 authored by Alberto Ramos's avatar Alberto Ramos

Updated JuliaGPU. Added support for boundary fields

parent 1749010e
...@@ -175,7 +175,7 @@ version = "0.0.11+0" ...@@ -175,7 +175,7 @@ version = "0.0.11+0"
[[LatticeGPU]] [[LatticeGPU]]
deps = ["CUDA", "Random", "TimerOutputs"] deps = ["CUDA", "Random", "TimerOutputs"]
git-tree-sha1 = "62d7728203bfe2cf4934648f9cc356cf16f69cf3" git-tree-sha1 = "d8e0de54b67807478ead3f1fde4de0a0d94f7277"
repo-rev = "master" repo-rev = "master"
repo-url = "https://igit.ific.uv.es/alramos/latticegpu.jl" repo-url = "https://igit.ific.uv.es/alramos/latticegpu.jl"
uuid = "958c3683-801a-4582-9cfa-2d6e2ae1763b" uuid = "958c3683-801a-4582-9cfa-2d6e2ae1763b"
......
...@@ -22,7 +22,13 @@ bcs = "PERIODIC" # Choose PERIODIC, SF ...@@ -22,7 +22,13 @@ bcs = "PERIODIC" # Choose PERIODIC, SF
ntwist = [0,0,0,0,0,0] ntwist = [0,0,0,0,0,0]
beta = 5.96 beta = 5.96
c0 = 1.0 # 1.0 is Wilson action, 1.66... is LW, 3.648 is Iwasaki c0 = 1.0 # 1.0 is Wilson action, 1.66... is LW, 3.648 is Iwasaki
cG = 0.0 # Only used with SF bcs
# Parameters for SF boundary conditions.
# These lines are only needed in case of SF boundary
# conditions
cG = 0.0
phi0 = [-1.047197551196598, 0.0] # Boundary fields for
phiT = [-3.141592653589793, 1.047197551196598] # SF boundary conditions
[HMC] [HMC]
integrator = "OMF4" # "LEAPFROPG", "OMF2", "OMF4" integrator = "OMF4" # "LEAPFROPG", "OMF2", "OMF4"
......
...@@ -50,11 +50,20 @@ function read_options(fname) ...@@ -50,11 +50,20 @@ function read_options(fname)
GRP = SU3 GRP = SU3
end end
T = Float64 T = Float64
gp = GaugeParm{T}(GRP{T}, if (BCS == BC_SF_AFWB)
s["Simulation"]["beta"], gp = GaugeParm{T}(GRP{T},
s["Simulation"]["c0"], s["Simulation"]["beta"],
(s["Simulation"]["cG"],s["Simulation"]["cG"])) s["Simulation"]["c0"],
(s["Simulation"]["cG"],s["Simulation"]["cG"]),
s["Simulation"]["phiT"], lp.iL[1:end-1])
phi0 = s["Simulation"]["phi0"]
else
gp = GaugeParm{T}(GRP{T},
s["Simulation"]["beta"],
s["Simulation"]["c0"])
phi0 = nothing
end
# HMC parameters # HMC parameters
if s["HMC"]["integrator"] == "OMF4" if s["HMC"]["integrator"] == "OMF4"
int = omf4(T, s["HMC"]["eps"], s["HMC"]["ns"]) int = omf4(T, s["HMC"]["eps"], s["HMC"]["ns"])
...@@ -115,16 +124,19 @@ function read_options(fname) ...@@ -115,16 +124,19 @@ function read_options(fname)
nthm = s["HMC"]["nthm"] nthm = s["HMC"]["nthm"]
nt = s["HMC"]["ntraj"] nt = s["HMC"]["ntraj"]
return gp, lp, int, flwint, nthm, nt, flw_ns, flw_dtr, fb, flog, GRP, T, BCS return gp, phi0, lp, int, flwint, nthm, nt, flw_ns, flw_dtr, fb, flog, GRP, T, BCS
end end
parsed_args = parse_commandline() parsed_args = parse_commandline()
infile = parsed_args["i"] infile = parsed_args["i"]
gp, lp, int, flwint, nthm, nt, flw_ns, flw_dtr, fb, flog, GRP, T, BCS = read_options(infile) gp, phi0, lp, int, flwint, nthm, nt, flw_ns, flw_dtr, fb, flog, GRP, T, BCS = read_options(infile)
U = vector_field(GRP{T}, lp) U = vector_field(GRP{T}, lp)
fill!(U, one(GRP{T})) fill!(U, one(GRP{T}))
if phi0 != nothing
setbndfield(U, phi0, lp)
end
ymws = YMworkspace(GRP, T, lp) ymws = YMworkspace(GRP, T, lp)
......
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