iblep-real-threept
graph LR
%%%%%%%%%%%%%%%%%%%%%%%
%% Highlight definition
%%%%%%%%%%%%%%%%%%%%%%%
classDef highlight fill:#083008,stroke:#20B030,stroke-width:4px
%%%%%%%%%%%%%%%%%%%%%%%
%% Graph
%%%%%%%%%%%%%%%%%%%%%%%
iblep-disc-loops -->|Propagators| iblep-disc-burgershort;
iblep-disc-loops -.->|Tadpoles| iblep-conn-lep;
iblep-disc-loops -.->|Tadpoles| iblep-conn-omega;
iblep-disc-burgerlong;
iblep-conn-emfieldft;
iblep-real-fixgauge -->|Gauge field| iblep-real-props;
iblep-real-props -->|Propagators| iblep-real-threept;
class iblep-real-threept highlight
%%%%%%%%%%%%%%%%%%%%%%%
%% Interaction
%%%%%%%%%%%%%%%%%%%%%%%
click iblep-disc-loops "../../../workflows/disc/iblep-disc-loops/";
click iblep-disc-burgershort "../../../workflows/disc/iblep-disc-burgershort/";
click iblep-disc-burgerlong "../../../workflows/disc/iblep-disc-burgerlong/";
click iblep-conn-lep "../../../workflows/conn/iblep-conn-lep/";
click iblep-conn-omega "../../../workflows/conn/iblep-conn-omega/";
click iblep-conn-emfieldft "../../../workflows/conn/iblep-conn-emfieldft/";
click iblep-real-fixgauge "../../../workflows/real/iblep-real-fixgauge/";
click iblep-real-props "../../../workflows/real/iblep-real-props/";
click iblep-real-threept "../../../workflows/real/iblep-real-threept/";
iblep-real-threept contracts the two quark-connected radiative three-point
diagrams and projects the photon onto the requested Fourier modes. It consumes
the propagators produced by iblep-real-props.
Inputs
- Lattice propagators from iblep-real-props.
Outputs
- HDF5 files containing three-point contractions.
Workflow
Three-point contractions are produced for all specified quark combinations and source-sink separations, projected onto the provided list of photon momenta. The output format is:
- Each
hdf5file contains:- one quark flavor combination,
- both quark-connected diagrams, and
- all possible twists.
-
Each HDF5 group corresponds to one diagram at one twist. For example, the group for the diagram in which flavour
h0emits the photon (with partnet flavourh1) and a twist is applied in the \(z\) direction is:/3pt_tSrc_6_tSnk_84_q1_h1_q2_h0_twist_0.000000_0.000000_-0.027116_0.000000_emitted_from_h0
Within each group, the data are organised as a main tensor corr with two auxiliary datasets, gamma and momentum:
corr: 3D tensor with axes (\(\Gamma\), \(k\), \(t_\gamma\)), storing the correlations function as a function of:- the (sink, vertex, source)
gamma-matrix combination, - the photon Fourier mode, and
- the photon insertion time \(t_\gamma\).
- the (sink, vertex, source)
gamma: a list ofdatasets, each carrying attributessink,vertex,source. (This is used because HDF5 does not support non-numeric arrays in the way required here.)momentum: a two-dimensional array giving the ordering of Fourier modes used incorr.
Tip
In principle, additional Wick contractions could be bundled into fewer files to reduce I/O. If doing so, ensure the main MPI rank (which accumulates the results) does not exceed available memory.
Minimal test configuration
This is the current small configuration from
parameters/iblep-real/test/threept.json:
{
"slab": 1,
"q1": "l1",
"q2": ["l1"],
"tSrc": { "start": 0, "stop": 0, "step": 1 },
"tSnk": { "start": 4, "stop": 4, "step": 1 },
"geometry": { "nt": 32, "nl": 4 },
"global": {
"database": { "applicationDb": "", "restoreSchedule": false, "resultDb": "data/result.db", "statDbBase": "", "statDbPeriodMs": 1000 },
"runId": "iblep-real-threept-test",
"scheduler": "naive",
"trajCounter": { "start": 0, "end": 0, "step": 1 }
},
"output": "data/threePoint",
"prop": "ref/props",
"saveParameters": "data/modules.threept.xml",
"quarks": { "l1": 0.003 },
"kinematics": { "twist": ["0.0 0.0 0.0 0.0"], "cut": 1 }
}