akio-tomiya / LatticeQCD.jl

A native Julia code for lattice QCD with dynamical fermions in 4 dimension.
https://github.com/akio-tomiya/LatticeQCD.jl
MIT License
131 stars 16 forks source link

run_wizard() ends with error #50

Open erinaldi opened 9 months ago

erinaldi commented 9 months ago

Hi,

I was looking to play with this package and I encountered an issue with run_wizard() First of all I have julia v1.9.1 and I have an environment where only LatticeQCD.jl v.1.0.6 has been installed. Then I start the REPL and run using LatticeQCD; run_wizard(). If I keep pressing Enter using all the default values, the process ends correctly and I can then run run_LQCD("my_parameters.toml") .

The first problem here is that the wizard ends also explaining that one can run run_LQCD(params_set) directly and that is not working. There is no variable params_set in the session.

The second problem arises if I run the wizard in expert mode and I try to setup a pure gauge SU(2) run. Here is the entire process as I did it, ending with the error:

julia> using LatticeQCD

julia> 

julia> run_wizard()
--------------------------------------------------------------------------------  
run_wizard       
     格       格       
     色       格    
    色色色      格   
 子子色色色色色子子子子子格子子子子
    色色色      格    
     色       格   
     格       格   
     力       学      LatticeQCD.jl
    力力力     学学学   
 子子力力力力力子子子学学学学学子子  
    力力力     学学学     
     力       学      
     格       格                                                                 

Welcome to a wizard for Lattice QCD.
We'll get you set up simulation parameters in no time.
--------------------------------------------------------------------------------
If you leave the prompt empty, a default value will be used.
To exit, press Ctrl + c.
Choose wizard mode
   simple
 > expert
put the name of the parameter file you make [my_parameters.toml]: su2_ym.toml         
Input Lattice size, L=(Nx,Ny,Nz,Nt)
Nx ? [4]: 16
Ny ? [4]: 16
Nz ? [4]: 16
Nt ? [4]: 4
Lattice is [16, 16, 16, 4]
Choose a gauge group
   SU(3)
 > SU(2)
SU(2) will be used
β ? [2.7]: 2.25
Input random seed. [111]: 1
verbose level ? [2]: 2
verbose level = 2
Do you perform only measurements on configurations in a directory? (no update)
 > No
   Yes
Choose initial configurations
   cold start
 > hot start
   start from a file
   start from one instanton (Radius is half of Nx)
Choose a dynamical fermion
 > Nothing (quenched approximation)
   Wilson Fermion (2-flavor)
   Staggered Fermion
   Domain-wall Fermion (Experimental)
Choose an update method
 > Heatbath
   Hybrid Monte Carlo
Use overrelazation method?
 > true
   false
How many times do you want to do the OR? [3]: 4
Input the number of thermalization steps (no mearurement) [0]: 10
Input the number of total trajectories after the thermalization [101]: 101
Select the measurement methods you want to do:
[press: Enter=toggle, a=all, n=none, d=done, q=abort]
   [X] Plaquette
   [X] Polyakov_loop
   [X] Topological_charge
   [ ] Chiral_condensate
   [ ] Pion_correlator
   [ ] Wilson_loop
 > [X] Energy_density
You measure Energy density
How often measure Plaquette loops? [1]: 10
You measure Polyakov loops
How often measure Polyakov loops? [1]: 10
You measure a topological charge
How often measure a topological charge? [1]: 10
You measure Plaquette loops
How often measure Plaquette loops? [1]: 10
base directory for measurements [./measurements]: 
directory for measurements in ./measurements/ [Heatbath_L16161604_beta2.25_quenched]: 
Perform measurements with the gradient flow?
   No
 > Yes
---------------------------------------------
---set measurements in gradient flow----------
time step for gradient flow? [0.01]: 
How many times do you want to flow gauge fields? [100]: 50
Select the measurement methods you want to do:
[press: Enter=toggle, a=all, n=none, d=done, q=abort]
   [X] Plaquette
   [X] Polyakov_loop
   [X] Topological_charge
   [ ] Chiral_condensate
   [ ] Pion_correlator
   [ ] Wilson_loop
 > [X] Energy_density
You measure Polyakov loops
How often measure Polyakov loops? [1]: 10
You measure a topological charge
How often measure a topological charge? [1]: 10
You measure Plaquette loops
How often measure Plaquette loops? [1]: 10
---done for gradient flow----------
---------------------------------------------
log directory [./logs]: 
logfile name [Heatbath_L16161604_beta2.25_quenched.txt]: 
Choose a configuration format for saving
   no save
   JLD
   ILDG
 > Text format (BridgeText)
How often do you save a configuration in file (Save every)? [10]: 100
Saving directory [./confs_Heatbath_L16161604_beta2.25_quenched]: 
ERROR: UndefRefError: access to undefined reference
Stacktrace:
 [1] getindex
   @ ./essentials.jl:13 [inlined]
 [2] iterate (repeats 2 times)
   @ ./array.jl:893 [inlined]
 [3] construct_dict_from_measurement!(x::Dict{String, Any}, value::Vector{QCDMeasurements.Measurement_parameters})
   @ LatticeQCD.Parameter_structs ~/.julia/packages/LatticeQCD/x0lbR/src/system/parameter_structs.jl:1094
 [4] remove_default_values!(x::Dict{String, Any}, defaultsystem::LatticeQCD.Parameter_structs.Print_Physical_parameters)
   @ LatticeQCD.Parameter_structs ~/.julia/packages/LatticeQCD/x0lbR/src/system/parameter_structs.jl:1072
 [5] remove_default_values!(x::Dict{Any, Any})
   @ LatticeQCD.Parameter_structs ~/.julia/packages/LatticeQCD/x0lbR/src/system/parameter_structs.jl:1115
 [6] run_wizard()
   @ LatticeQCD.Wizard ~/.julia/packages/LatticeQCD/x0lbR/src/system/wizard.jl:600
 [7] top-level scope
   @ REPL[6]:1

I tried a couple of times with different "expert" mode configurations and the wizard was never able to terminate successfully.

What is going wrong here?

erinaldi commented 9 months ago

If I repeat the process without Gradient Flow measurements (select No at that step), the wizard ends successfully creating an input file.

Moreover, there is no option to choose a different gauge action for Yang-Mills while the README states that any action is supported (e.g. Symanzik).

akio-tomiya commented 9 months ago

I am sorry for delaying responding.

I will see this issue.

Akio

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Prof. Akio TOMIYA (PhD)

International Professional University of Technology in Osaka @. (Primary) @. http://www2.yukawa.kyoto-u.ac.jp/~akio.tomiya/index_en.html http://www2.yukawa.kyoto-u.ac.jp/~akio.tomiya/http://www2.yukawa.kyoto-u.ac.jp/~akio.tomiya/index.html (日本語) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


From: Enrico Rinaldi @.> Sent: Wednesday, October 11, 2023 12:19 To: akio-tomiya/LatticeQCD.jl @.> Cc: Subscribed @.***> Subject: Re: [akio-tomiya/LatticeQCD.jl] run_wizard() ends with error (Issue #50)

If I repeat the process without Gradient Flow measurements (select No at that step), the wizard ends successfully creating an input file.

Moreover, there is no option to choose a different gauge action for Yang-Mills while the README states that any action is supported (e.g. Symanzik).

— Reply to this email directly, view it on GitHubhttps://github.com/akio-tomiya/LatticeQCD.jl/issues/50#issuecomment-1756702775, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL3HFWKNV35RPTD7RJOMRMDX6YF2VAVCNFSM6AAAAAA5Z2W7D2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJWG4YDENZXGU. You are receiving this because you are subscribed to this thread.Message ID: @.***>

cometscome commented 8 months ago

I fixed run_wizard(). In the previous version, 1.0.6, has the bug for determining a parameter for the energy density measurement in the gradient flow. Now in v1.0.7, I think the bug was removed.