1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-18 07:47:06 +01:00

Add module for unit EM field

This commit is contained in:
James Harrison
2017-10-17 14:03:57 +01:00
parent b99622d9fb
commit 564738b1ff
5 changed files with 156 additions and 0 deletions

View File

@ -68,6 +68,7 @@ namespace QCD{
void StochasticField(GaugeField &out, GridParallelRNG &rng);
void StochasticField(GaugeField &out, GridParallelRNG &rng,
const GaugeLinkField &weight);
void UnitField(GaugeField &out);
private:
void invKHatSquared(GaugeLinkField &out);
void zmSub(GaugeLinkField &out);
@ -219,6 +220,23 @@ namespace QCD{
out = real(out);
}
template<class Gimpl>
void Photon<Gimpl>::UnitField(GaugeField &out)
{
auto *grid = dynamic_cast<GridCartesian *>(out._grid);
const unsigned int nd = grid->_ndimension;
GaugeLinkField r(grid);
r = Complex(1.0,0.0);
for(int mu = 0; mu < nd; mu++)
{
pokeLorentz(out, r, mu);
}
out = real(out);
}
// template<class Gimpl>
// void Photon<Gimpl>::FeynmanGaugeMomentumSpacePropagator_L(GaugeField &out,
// const GaugeField &in)