sfcf.jl/README.md
Fernando P. Panadero 09f086c07d Readme file
2024-02-29 12:29:46 +01:00

83 lines
2.8 KiB
Markdown

# Readme sfcf.jl
This is a framework to compute Schrödinger functional correlation functions based on LatticeGPU (https://igit.ific.uv.es/alramos/latticegpu.jl).
## Requirements
The required packages are listed below
- LatticeGPU
- CUDA
- TOML
- TimerOutputs
- ArgParse
- InteractiveUtils
- BDIO
- MD5
The versions are resolved with the enviroment in the main sfcf.jl directory. The recomended version of julia is julia 1.8.5.
## Input file
A template for the input file can be found at input/sfcf.in.
* [Space]
- size : Lattice size. The last component is the time extent.
- blocks : Sub-lattices parallelization on the GPU. Each sub-lattice length must divide each lattice length.
- phi0 : Phases defining the field at the boundary t = 0.
- phiT : Phases defining the field at the boundary t = T.
- cG : Boundary improvement coefficient for the gauge field.
* [Fermion]
- beta : Bare coupling.
- kappa : Value of the hopping parameter.
- theta : Phase for the fermion field in the spatial directions.
- csw : Sheikholeslami-Wohlert coefficient
- ct : Boundary improvement coefficient for the fermion field.
* [Solver]
- tolerance : Stopping criteria for the solver. The residue of the solver is meassured as the normalized residue for a source given by gamma_5 * D_w * gamma_5 * B , where B is the boundary source for each spin/color.
- maxiter : Maximum number of iterations for the solver.
## Configuration input
Current allowed input formats for the configuration are:
- Native LatticeGPU (default) : Native io format from LatticeGPU
- cern format : Read the format output given the function export_cnfg_cern() in sfqcd (https://gitlab.ift.uam-csic.es/alberto/sfqcd). This is specified with the option --cern
## Execution command
The available options are:
* -c (needed) : Specifies the gauge configuration.
* -i (needed) : Specifies the input file.
* --cern : Read the gauge config with cern format
An example of an execution command is
$ julia1.8 sfcf.jl -i ./input/sfcf.in -c ./cnfg/randfield
note that the main program sfcf.jl assumes that ./ is the main sfcf.jl directory to activate the enviroment.
## Output
The main program outputs two files. the name is given by the input file [Run] [name]:
* name.log : Log file with differ/ent information about the run
* name.bdio : BDIO file with the correlation functions. The BDIO.jl package can be found at https://gitlab.ift.uam-csic.es/alberto/bdio.jl . The structure is the following
- Record 1 : Information about the parameters
- Record 14 : Format ihdr check
- Record 8 : Gauge config name and MD5 saved as String. Results for the correlation functions, saved in the following order: f_P, f_A, f_1, g_P, g_A, k_V, l_V, k_1, k_T, l_T. All of them are saved as Complex{Float64}
Note that if the BDIO file exists, the results will be appended in Record 8.