Added main file to test simulations

This commit is contained in:
Alberto Ramos 2021-10-13 15:39:39 +02:00
parent 4f9ddb7026
commit 3590857f13

63
src/main/test_scalar.jl Normal file
View file

@ -0,0 +1,63 @@
using CUDA, Logging, StructArrays, Random
CUDA.allowscalar(true)
import Pkg
Pkg.activate("/lhome/ific/a/alramos/s.images/julia/workspace/LatticeGPU")
#Pkg.activate("/home/alberto/code/julia/LatticeGPU")
using LatticeGPU
lp = SpaceParm{4}((64,64,64,64), (4,4,4,4))
gp = GaugeParm(6.0, 1.0, (0.0,0.0), 2)
sp = ScalarParm((0.2,0.3), (1.0,0.4))
NSC = length(sp.kap)
println("Space Parameters: ", lp)
println("Gauge Parameters: ", gp)
println("Scalar Parameters: ", sp)
GRP = SU2
ALG = SU2alg
SCL = SU2fund
PREC = Float64
println("Precision: ", PREC)
println("Allocating YM workspace")
ymws = YMworkspace(GRP, PREC, lp)
println("Allocating Scalar workspace")
sws = ScalarWorkspace(PREC, NSC, lp)
# Seed RNG
println("Seeding CURAND...")
Random.seed!(CURAND.default_rng(), 1234)
Random.seed!(1234)
# Main program
println("Allocating gauge field")
U = vector_field(GRP{PREC}, lp)
fill!(U, one(GRP{PREC}))
println("Allocating scalar field")
Phi = nscalar_field(SCL{PREC}, NSC, lp)
fill!(Phi, zero(SCL{PREC}))
println("Initial Action: ")
@time S = gauge_action(U, lp, gp, ymws) + scalar_action(U, Phi, lp, sp, ymws)
dt = 0.05
ns = 20
println("## Thermalization")
pl = Vector{Float64}()
for i in 1:10
@time dh, acc = HMC!(U,Phi, dt,ns,lp, gp, sp, ymws, sws, noacc=true)
println("# HMC: ", acc, " ", dh)
push!(pl, plaquette(U,lp, gp, ymws))
println("# Plaquette: ", pl[end], "\n")
end
println("## Production")
for i in 1:10
@time dh, acc = HMC!(U,Phi, dt,ns,lp, gp, sp, ymws, sws)
println("# HMC: ", acc, " ", dh)
push!(pl, plaquette(U,lp, gp, ymws))
println("# Plaquette: ", pl[end], "\n")
end