mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-28 22:55:55 +01:00
Namespace
This commit is contained in:
parent
61e9a33777
commit
a0380fad72
@ -25,43 +25,42 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
|
|
||||||
See the full license in the file "LICENSE" in the top level distribution directory
|
See the full license in the file "LICENSE" in the top level distribution directory
|
||||||
*************************************************************************************/
|
*************************************************************************************/
|
||||||
/* END LEGAL */
|
/* END LEGAL */
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
// Implementation of exact one flavour algorithm (EOFA) //
|
// Implementation of exact one flavour algorithm (EOFA) //
|
||||||
// using fermion classes defined in: //
|
// using fermion classes defined in: //
|
||||||
// Grid/qcd/action/fermion/DomainWallEOFAFermion.h (Shamir) //
|
// Grid/qcd/action/fermion/DomainWallEOFAFermion.h (Shamir) //
|
||||||
// Grid/qcd/action/fermion/MobiusEOFAFermion.h (Mobius) //
|
// Grid/qcd/action/fermion/MobiusEOFAFermion.h (Mobius) //
|
||||||
// arXiv: 1403.1683, 1706.05843 //
|
// arXiv: 1403.1683, 1706.05843 //
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef QCD_PSEUDOFERMION_EXACT_ONE_FLAVOUR_RATIO_H
|
#ifndef QCD_PSEUDOFERMION_EXACT_ONE_FLAVOUR_RATIO_H
|
||||||
#define QCD_PSEUDOFERMION_EXACT_ONE_FLAVOUR_RATIO_H
|
#define QCD_PSEUDOFERMION_EXACT_ONE_FLAVOUR_RATIO_H
|
||||||
|
|
||||||
namespace Grid{
|
NAMESPACE_BEGIN(Grid);
|
||||||
namespace QCD{
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
// Exact one flavour implementation of DWF determinant ratio //
|
// Exact one flavour implementation of DWF determinant ratio //
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
template<class Impl>
|
template<class Impl>
|
||||||
class ExactOneFlavourRatioPseudoFermionAction : public Action<typename Impl::GaugeField>
|
class ExactOneFlavourRatioPseudoFermionAction : public Action<typename Impl::GaugeField>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
INHERIT_IMPL_TYPES(Impl);
|
INHERIT_IMPL_TYPES(Impl);
|
||||||
typedef OneFlavourRationalParams Params;
|
typedef OneFlavourRationalParams Params;
|
||||||
Params param;
|
Params param;
|
||||||
MultiShiftFunction PowerNegHalf;
|
MultiShiftFunction PowerNegHalf;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool use_heatbath_forecasting;
|
bool use_heatbath_forecasting;
|
||||||
AbstractEOFAFermion<Impl>& Lop; // the basic LH operator
|
AbstractEOFAFermion<Impl>& Lop; // the basic LH operator
|
||||||
AbstractEOFAFermion<Impl>& Rop; // the basic RH operator
|
AbstractEOFAFermion<Impl>& Rop; // the basic RH operator
|
||||||
SchurRedBlackDiagMooeeSolve<FermionField> Solver;
|
SchurRedBlackDiagMooeeSolve<FermionField> Solver;
|
||||||
FermionField Phi; // the pseudofermion field for this trajectory
|
FermionField Phi; // the pseudofermion field for this trajectory
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ExactOneFlavourRatioPseudoFermionAction(AbstractEOFAFermion<Impl>& _Lop, AbstractEOFAFermion<Impl>& _Rop,
|
ExactOneFlavourRatioPseudoFermionAction(AbstractEOFAFermion<Impl>& _Lop, AbstractEOFAFermion<Impl>& _Rop,
|
||||||
OperatorFunction<FermionField>& S, Params& p, bool use_fc=false) : Lop(_Lop), Rop(_Rop), Solver(S),
|
OperatorFunction<FermionField>& S, Params& p, bool use_fc=false) : Lop(_Lop), Rop(_Rop), Solver(S),
|
||||||
Phi(_Lop.FermionGrid()), param(p), use_heatbath_forecasting(use_fc)
|
Phi(_Lop.FermionGrid()), param(p), use_heatbath_forecasting(use_fc)
|
||||||
@ -258,7 +257,8 @@ namespace QCD{
|
|||||||
Lop.MDeriv(force, g5_R5_Chi, Chi, DaggerNo);
|
Lop.MDeriv(force, g5_R5_Chi, Chi, DaggerNo);
|
||||||
dSdU = dSdU - Rop.k * force;
|
dSdU = dSdU - Rop.k * force;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}}
|
|
||||||
|
NAMESPACE_END(Grid);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user