mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-11 14:40:46 +01:00
QedFVol: remove charge dependence in chargedProp function of ScalarVP
This commit is contained in:
parent
c8e6f58e24
commit
bd466a55a8
@ -23,8 +23,17 @@ std::vector<std::string> TScalarVP::getInput(void)
|
|||||||
|
|
||||||
std::vector<std::string> TScalarVP::getOutput(void)
|
std::vector<std::string> TScalarVP::getOutput(void)
|
||||||
{
|
{
|
||||||
std::vector<std::string> out = {getName()};
|
std::vector<std::string> out = {getName(), getName()+"_propQ",
|
||||||
|
getName()+"_propSun",
|
||||||
|
getName()+"_propTad"};
|
||||||
|
|
||||||
|
for (unsigned int mu = 0; mu < env().getNd(); ++mu)
|
||||||
|
{
|
||||||
|
out.push_back(getName() + "_propQ_" + std::to_string(mu));
|
||||||
|
out.push_back(getName() + "_propSun_" + std::to_string(mu));
|
||||||
|
out.push_back(getName() + "_propTad_" + std::to_string(mu));
|
||||||
|
}
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,6 +121,7 @@ void TScalarVP::execute(void)
|
|||||||
ScalarField &source = *env().getObject<ScalarField>(par().source);
|
ScalarField &source = *env().getObject<ScalarField>(par().source);
|
||||||
Complex ci(0.0,1.0);
|
Complex ci(0.0,1.0);
|
||||||
FFT fft(env().getGrid());
|
FFT fft(env().getGrid());
|
||||||
|
double q = par().charge;
|
||||||
|
|
||||||
// cache momentum-space free scalar propagator
|
// cache momentum-space free scalar propagator
|
||||||
if (!env().hasCreatedObject(freeMomPropName_))
|
if (!env().hasCreatedObject(freeMomPropName_))
|
||||||
@ -227,28 +237,28 @@ void TScalarVP::chargedProp(ScalarField &prop_q, ScalarField &prop_sun,
|
|||||||
FFT &fft)
|
FFT &fft)
|
||||||
{
|
{
|
||||||
Complex ci(0.0,1.0);
|
Complex ci(0.0,1.0);
|
||||||
double q = par().charge;
|
ScalarField &G = *freeMomProp_;
|
||||||
ScalarField &G = *freeMomProp_;
|
|
||||||
ScalarField buf(env().getGrid());
|
ScalarField buf(env().getGrid());
|
||||||
|
|
||||||
LOG(Message) << "Computing charged scalar propagator"
|
LOG(Message) << "Computing charged scalar propagator"
|
||||||
<< " (mass= " << par().mass
|
<< " (mass= " << par().mass
|
||||||
<< ", charge= " << q << ")..." << std::endl;
|
<< ", charge= " << par().charge << ")..."
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
// -q*G*momD1*G*F*Src (momD1 = F*D1*Finv)
|
// -G*momD1*G*F*Src (momD1 = F*D1*Finv)
|
||||||
buf = GFSrc;
|
buf = GFSrc;
|
||||||
momD1(buf, fft);
|
momD1(buf, fft);
|
||||||
buf = G*buf;
|
buf = G*buf;
|
||||||
prop_q = -q*buf;
|
prop_q = -buf;
|
||||||
|
|
||||||
// q*q*G*momD1*G*momD1*G*F*Src
|
// G*momD1*G*momD1*G*F*Src
|
||||||
momD1(buf, fft);
|
momD1(buf, fft);
|
||||||
prop_sun = q*q*G*buf;
|
prop_sun = G*buf;
|
||||||
|
|
||||||
// -q*q*G*momD2*G*F*Src (momD2 = F*D2*Finv)
|
// -G*momD2*G*F*Src (momD2 = F*D2*Finv)
|
||||||
buf = GFSrc;
|
buf = GFSrc;
|
||||||
momD2(buf, fft);
|
momD2(buf, fft);
|
||||||
prop_tad = -q*q*G*buf;
|
prop_tad = -G*buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TScalarVP::momD1(ScalarField &s, FFT &fft)
|
void TScalarVP::momD1(ScalarField &s, FFT &fft)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user