Skip to content

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

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 hdf5 file 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 h0 emits the photon (with partnet flavour h1) 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\).
  • gamma: a list of datasets, each carrying attributes sink, 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 in corr.

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 }
}