mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 15:55:37 +00:00
Hadrons: finished implementation of 5D quarks
This commit is contained in:
parent
232fda5fe1
commit
bb2125962b
@ -76,6 +76,10 @@ void MQuark::execute(void)
|
|||||||
<< std::endl;
|
<< std::endl;
|
||||||
LatticePropagator &prop = *env().create<LatticePropagator>(propName);
|
LatticePropagator &prop = *env().create<LatticePropagator>(propName);
|
||||||
LatticePropagator &fullSrc = *env().get<LatticePropagator>(par().source);
|
LatticePropagator &fullSrc = *env().get<LatticePropagator>(par().source);
|
||||||
|
if (Ls_ > 1)
|
||||||
|
{
|
||||||
|
env().create<LatticePropagator>(getName());
|
||||||
|
}
|
||||||
|
|
||||||
LOG(Message) << "Inverting using solver '" << par().solver
|
LOG(Message) << "Inverting using solver '" << par().solver
|
||||||
<< "' on source '" << par().source << "'" << std::endl;
|
<< "' on source '" << par().source << "'" << std::endl;
|
||||||
@ -91,9 +95,10 @@ void MQuark::execute(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
source = zero;
|
||||||
PropToFerm(tmp, fullSrc, s, c);
|
PropToFerm(tmp, fullSrc, s, c);
|
||||||
InsertSlice(source, tmp, 0, 0);
|
InsertSlice(tmp, source, 0, 0);
|
||||||
InsertSlice(source, tmp, Ls_-1, 0);
|
InsertSlice(tmp, source, Ls_-1, 0);
|
||||||
axpby_ssp_pplus(source, 0., source, 1., source, 0, 0);
|
axpby_ssp_pplus(source, 0., source, 1., source, 0, 0);
|
||||||
axpby_ssp_pminus(source, 0., source, 1., source, Ls_-1, Ls_-1);
|
axpby_ssp_pminus(source, 0., source, 1., source, Ls_-1, Ls_-1);
|
||||||
}
|
}
|
||||||
@ -113,12 +118,15 @@ void MQuark::execute(void)
|
|||||||
sol = zero;
|
sol = zero;
|
||||||
env().callSolver(par().solver, sol, source);
|
env().callSolver(par().solver, sol, source);
|
||||||
FermToProp(prop, sol, s, c);
|
FermToProp(prop, sol, s, c);
|
||||||
}
|
// create 4D propagators from 5D one if necessary
|
||||||
// create 4D propagators from 5D one if necessary
|
if (Ls_ > 1)
|
||||||
if (Ls_ > 1)
|
{
|
||||||
{
|
LatticePropagator &p4d = *env().get<LatticePropagator>(getName());
|
||||||
LatticePropagator &prop4d = *env().create<LatticePropagator>(getName());
|
|
||||||
|
axpby_ssp_pminus(sol, 0., sol, 1., sol, 0, 0);
|
||||||
HADRON_ERROR("5D implementation not finished");
|
axpby_ssp_pplus(sol, 0., sol, 1., sol, 0, Ls_-1);
|
||||||
|
ExtractSlice(tmp, sol, 0, 0);
|
||||||
|
FermToProp(p4d, tmp, s, c);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user