# 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.