From 3590857f13d7fa1e659d8c52e3964eb443ed036b Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Wed, 13 Oct 2021 15:39:39 +0200 Subject: [PATCH] Added main file to test simulations --- src/main/test_scalar.jl | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/main/test_scalar.jl diff --git a/src/main/test_scalar.jl b/src/main/test_scalar.jl new file mode 100644 index 0000000..ba98ce3 --- /dev/null +++ b/src/main/test_scalar.jl @@ -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