Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/qed disconnected #128

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from

Conversation

RChrHill
Copy link
Contributor

@RChrHill RChrHill commented Jan 17, 2024

Adds modules for computing QED Disconnected diagrams.

New modules:

  • MContraction::QEDBurgerLong
    Evaluates the QED-IB burger diagram with an analytic photon propagator + point-source propagators, with the option to exclude contributions below a certain distance.
  • MContraction::QEDBurgerShort
    Evaluates contributions to the QED-IB burger diagram with an analytic photon propagator + stochastic solve propagators within a maximum distance.
  • MContraction::QEDSpecs
    Evaluates the QED-IB specs diagram with an analytic photon propagator + quark propagator loops.
  • MContraction::QEDTadpole
    Evaluates the QED-IB tadpole sub-diagram with an analytic photon propagator + quark propagator loops. Intended to be used with e.g. MSource::SeqAslash as the emField.
  • MContraction::SplitEvenLoop
    Takes two propagator fields solved on spin-colour-diagonal noise sources, alongside their masses, and computes their difference as a split-even estimator.
  • MGauge::PhotonPropQedL
    Creates an analytic Feynman gauge QEDL-IR photon propagator in momentum space.
  • MUtilities::CShift [with contributions from @mbr-phys]
    Cshifts a propagator field or gauge field by a position vector. The position vector can be passed as a space-separated int string, or it can be the name of an int vector in the Hadrons environment.
  • MUtilities::LinearComb [Authored by @rrhodgson]
    Computes the sum of PropagatorFields with coefficients.
  • MUtilities::Position
    Stores an integer vector in the Hadrons environment.
  • MUtilities::RandomPosition
    Creates a random coordinate vector for the default lattice size and stores it in the Hadrons environment.

Modified modules:

  • EmField
    Renamed all "weight" functions to "FeynmanProp" functions.
  • MContraction::DiscLoop [with contributions from @rrhodgson]
    @rrhodgson has optimised out the FFTs for inducing a momentum phase, substantially speeding this module up on GPUs. This module has also been extended with an extra template parameter that will enable the computation and storage of the trace of all disconnected loops computed by this module in a vector.
  • MGauge::StochasticQedL
    Updated for modified EmField compatibility.
  • MGauge::StochasticQedTL
    Updated for modified EmField compatibility.
  • MGauge::StochasticQedZeta
    Updated for modified EmField compatibility.
  • MIO::LoadField
    Added a reader for ComplexFields.
  • MIO::SaveField
    Added a writer for ComplexFields.
  • MSource::Point
    Added support for taking the point source position from the environment as a named object.

@RChrHill RChrHill force-pushed the feature/QEDDisconnected branch from e177cfb to 5e0e7e1 Compare January 31, 2024 13:36
@RChrHill RChrHill marked this pull request as ready for review April 16, 2024 22:38
@RChrHill RChrHill requested a review from aportelli as a code owner April 16, 2024 22:38
@mbr-phys mbr-phys mentioned this pull request Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants