Reader
juobs.read_mesons
— Functionread_mesons(path::String, g1::Union{String, Nothing}=nothing, g2::Union{String, Nothing}=nothing; id::Union{String, Nothing}=nothing, legacy::Bool=false)
read_mesons(path::Vector{String}, g1::Union{String, Nothing}=nothing, g2::Union{String, Nothing}=nothing; id::Union{String, Nothing}=nothing, legacy::Bool=false)
This function read a mesons dat file at a given path and returns a vector of CData
structures for different masses and Dirac structures. Dirac structures g1
and/or g2
can be passed as string arguments in order to filter correaltors. ADerrors id can be specified as argument. If is not specified, the id
is fixed according to the ensemble name (example: "H400"-> id = "H400")
*For the old version (without smearing, distance preconditioning and theta) set legacy=true.
Examples:
read_mesons(path)
read_mesons(path, "G5")
read_mesons(path, nothing, "G5")
read_mesons(path, "G5", "G5")
read_mesons(path, "G5", "G5", id="H100")
read_mesons(path, "G5_d2", "G5_d2", legacy=true)
juobs.read_ms
— Functionread_ms(path::String; id::Union{String, Nothing}=nothing, dtr::Int64=1, obs::String="Y")
Reads openQCD ms dat files at a given path. This method return YData:
t(t)
: flow time valuesobs(icfg, x0, t)
: the time-slice sums of the densities of the observable (Wsl, Ysl or Qsl)vtr
: vector that contains trajectory numberid
: ensmble id
dtr
= dtr_cnfg
/ dtr_ms
, where dtr_cnfg
is the number of trajectories computed before saving the configuration. dtr_ms
is the same but applied to the ms.dat file.
Examples:
Y = read_ms(path)
juobs.read_ms1
— Functionread_ms1(path::String; v::String="1.2")
Reads openQCD ms1 dat files at a given path. This method returns a matrix W[irw, icfg]
that contains the reweighting factors, where irw
is the rwf
index and icfg the configuration number. The function is compatible with the output files of openQCD v=1.2, 1.4 and 1.6. Version can be specified as argument.
Examples:
read_ms1(path)
read_ms1(path, v="1.4")
read_ms1(path, v="1.6")
juobs.read_md
— Functionread_md(path::String)
Reads openQCD pbp.dat files at a given path. This method returns a matrix md[irw, icfg]
that contains the derivatives $dS/dm$, where $md[irw=1] = dS/dm_l$ and $md[irw=2] = dS/dm_s$
$Seff = -tr(log(D+m))$
$dSeff/ dm = -tr((D+m)^-1)$
Examples:
md = read_md(path)
juobs.truncate_data!
— Functiontruncate_data!(data::YData, nc::Int64)
truncate_data!(data::Vector{YData}, nc::Vector{Int64})
truncate_data!(data::Vector{CData}, nc::Int64)
truncate_data!(data::Vector{Vector{CData}}, nc::Vector{Int64})
Truncates the output of read_mesons
and read_ms
taking the first nc
configurations.
Examples:
#Single replica
dat = read_mesons(path, "G5", "G5")
Y = read_ms(path)
truncate_data!(dat, nc)
truncate_data!(Y, nc)
#Two replicas
dat = read_mesons([path1, path2], "G5", "G5")
Y = read_ms.([path1_ms, path2_ms])
truncate_data!(dat, [nc1, nc2])
truncate_data!(Y, [nc1, nc2])