1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-10 07:55:35 +00:00

Hadrons: remove make_5D/4D functions and FreeProp fix

This commit is contained in:
Antonin Portelli 2018-06-22 16:12:46 +02:00
parent c84eeedec3
commit c760f0a4c3
2 changed files with 2 additions and 25 deletions

View File

@ -34,8 +34,6 @@ See the full license in the file "LICENSE" in the top level distribution directo
#include <Grid/Hadrons/Module.hpp> #include <Grid/Hadrons/Module.hpp>
#include <Grid/Hadrons/ModuleFactory.hpp> #include <Grid/Hadrons/ModuleFactory.hpp>
#include <Grid/Hadrons/Modules/MFermion/GaugeProp.hpp>
BEGIN_HADRONS_NAMESPACE BEGIN_HADRONS_NAMESPACE
/****************************************************************************** /******************************************************************************
@ -152,7 +150,7 @@ void TFreeProp<FImpl>::execute(void)
else else
{ {
PropToFerm<FImpl>(tmp, fullSrc, s, c); PropToFerm<FImpl>(tmp, fullSrc, s, c);
make_5D(tmp, source, Ls_); mat.ImportPhysicalFermionSource(tmp, source);
} }
} }
// source conversion for 5D sources // source conversion for 5D sources
@ -176,7 +174,7 @@ void TFreeProp<FImpl>::execute(void)
if (Ls_ > 1) if (Ls_ > 1)
{ {
PropagatorField &p4d = envGet(PropagatorField, getName()); PropagatorField &p4d = envGet(PropagatorField, getName());
make_4D(sol, tmp, Ls_); mat.ExportPhysicalFermionSolution(sol, tmp);
FermToProp<FImpl>(p4d, tmp, s, c); FermToProp<FImpl>(p4d, tmp, s, c);
} }
} }

View File

@ -39,27 +39,6 @@ See the full license in the file "LICENSE" in the top level distribution directo
BEGIN_HADRONS_NAMESPACE BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* 5D -> 4D and 4D -> 5D conversions. *
******************************************************************************/
template<class vobj> // Note that 5D object is modified.
inline void make_4D(Lattice<vobj> &in_5d, Lattice<vobj> &out_4d, int Ls)
{
axpby_ssp_pminus(in_5d, 0., in_5d, 1., in_5d, 0, 0);
axpby_ssp_pplus(in_5d, 1., in_5d, 1., in_5d, 0, Ls-1);
ExtractSlice(out_4d, in_5d, 0, 0);
}
template<class vobj>
inline void make_5D(Lattice<vobj> &in_4d, Lattice<vobj> &out_5d, int Ls)
{
out_5d = zero;
InsertSlice(in_4d, out_5d, 0, 0);
InsertSlice(in_4d, out_5d, Ls-1, 0);
axpby_ssp_pplus(out_5d, 0., out_5d, 1., out_5d, 0, 0);
axpby_ssp_pminus(out_5d, 0., out_5d, 1., out_5d, Ls-1, Ls-1);
}
/****************************************************************************** /******************************************************************************
* GaugeProp * * GaugeProp *
******************************************************************************/ ******************************************************************************/