cyprus_read_loops: read HDF5 loop files in the Cyprus CalcLoops format

View source: R/cyprus_readutils.R

cyprus_read_loopsR Documentation

read HDF5 loop files in the Cyprus CalcLoops format

Description

The CalcLoops code produces HDF5 files which contain a matrix of momenta and the data for the loops (without spin projection) organised by stochastic sample. Currently, the reading code assumes that there is a single configuration stored per file.

Usage

cyprus_read_loops(selections, files, Time, nstoch, accumulated = TRUE,
  legacy_traj = TRUE, verbose = FALSE, check_group_names = FALSE,
  spin_project = FALSE, project_gamma = NULL, use_parallel = TRUE)

Arguments

selections

Named list with names from the list 'Naive', 'Scalar', 'dOp', 'Loops' 'LpsDw', 'LpsDwCv', 'LoopsCv' specifying the requesetd loop types. The elements of this list are in turn expected be data frames of the form

px py pz
0 0 1
-2 1 -3
... ... ...

specifying the momentum combinations to be extracted for each loop type.

files

Vector of strings, list of HDF5 files to be processed.

Time

Integer, time extent of the lattice.

nstoch

Integer, number of stochastic samples to be expected in file.

accumulated

Boolean or vector of boolean, specifies whether the loops, as organised by stochastic sample, are accumulated, such that, say, element n corresponds to the sum over the first n stochastic samples. If specified as TRUE, the data is post-processed to recover the measurements for the particular samples. In case this is specified as a vector, it must be of the same length as files. Default: TRUE.

legacy_traj

Boolean. The root group for the loop data is 'conf_xxxx', where 'xxxx' corresponds to what is passed via the 'traj' flag to CalcLoops. When left empty, this defaults to '0004'. If this was left emtpy when the loop files were generated, set this to TRUE and the paths will be constructed with 'conf_0004' as their root group. When specified as a vector, it must be of length length(files) giving the integer configuration indices, such as c(0, 2, 4, 6) Default: TRUE.

verbose

Boolean, output I/O time per file. Requires 'tictoc' package. Default FALSE.

check_group_names

Boolean, employ rhdf5::h5ls to check if all the group names that we want to read are actually in the file. This can be slow for large files. Default: FALSE.

spin_project

Boolean, whether the loops should be spin projected after being read. Must be provided to together with project_gamma! Default: FALSE

project_gamma

Named list of the same length as selections containing, for each selected loop type a 4x4 complex-valued projection matrix. For vector loop types, one matrix must be provided per direction (so project_gamma$loop_type is a numbered list with indices c(1,2,3,4). Default: NULL

use_parallel

Boolean, whether to parallelise over the files using the mclapply from the parallel package.

Value

Named nested list of the same length as selections containg the loop data in the raw_cf format. Each named element corresponds to one loop type. For scalar-valued loop types, each element of the underlying numbered list corresponds to one momentum combination as specified via selections for this loop type in the same order. For the vector-valued loop types, the first level of the underlying numbered list has four elements corresponding to the four derivative directions in the order t,x,y,z. At the next level, the underlying numbered list corresponds to the momentum combinations for this loop type and derivative direction, just as for the scalar type.


hadron documentation built on Sept. 9, 2022, 5:06 p.m.