mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Merge branch 'master' of https://github.com/paboyle/Grid
This commit is contained in:
		@@ -58,10 +58,10 @@
 | 
			
		||||
////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
#include <qcd/action/fermion/WilsonFermion.h>       // 4d wilson like
 | 
			
		||||
//#include <qcd/action/fermion/CloverFermion.h>
 | 
			
		||||
 | 
			
		||||
#include <qcd/action/fermion/WilsonFermion5D.h>     // 5d base used by all 5d overlap types
 | 
			
		||||
 | 
			
		||||
//#include <qcd/action/fermion/CloverFermion.h>
 | 
			
		||||
 | 
			
		||||
#include <qcd/action/fermion/CayleyFermion5D.h>     // Cayley types
 | 
			
		||||
#include <qcd/action/fermion/DomainWallFermion.h>
 | 
			
		||||
#include <qcd/action/fermion/DomainWallFermion.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,7 @@ namespace Grid {
 | 
			
		||||
			GridCartesian         &FourDimGrid,
 | 
			
		||||
			GridRedBlackCartesian &FourDimRedBlackGrid,
 | 
			
		||||
			RealD _mass,RealD _M5,const ImplParams &p= ImplParams()) : 
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
      CayleyFermion5D<Impl>(_Umu,
 | 
			
		||||
			    FiveDimGrid,
 | 
			
		||||
			    FiveDimRedBlackGrid,
 | 
			
		||||
 
 | 
			
		||||
@@ -6,17 +6,10 @@ namespace Grid {
 | 
			
		||||
  namespace QCD {
 | 
			
		||||
 | 
			
		||||
    ////////////////////////////////////////////////////////////////
 | 
			
		||||
    // Hardwire to four spinors, allow to select 
 | 
			
		||||
    // between gauge representation rank bc's, flavours etc.
 | 
			
		||||
    // Allow to select  between gauge representation rank bc's, flavours etc.
 | 
			
		||||
    // and single/double precision.
 | 
			
		||||
    ////////////////////////////////////////////////////////////////
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    //////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
    // Four component fermions
 | 
			
		||||
    // Should type template the vector and gauge types
 | 
			
		||||
    // Think about multiple representations
 | 
			
		||||
    //////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
    template<class Impl>
 | 
			
		||||
    class FermionOperator : public CheckerBoardedSparseMatrixBase<typename Impl::FermionField>, public Impl
 | 
			
		||||
    {
 | 
			
		||||
@@ -26,8 +19,6 @@ namespace Grid {
 | 
			
		||||
 | 
			
		||||
      FermionOperator(const ImplParams &p= ImplParams()) : Impl(p) {};
 | 
			
		||||
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      GridBase * Grid(void)   { return FermionGrid(); };   // this is all the linalg routines need to know
 | 
			
		||||
      GridBase * RedBlackGrid(void) { return FermionRedBlackGrid(); };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@ namespace Grid {
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
     INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      virtual void   Instantiatable(void){};
 | 
			
		||||
      // Constructors
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@ namespace Grid {
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
     INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      virtual void   Instantiatable(void){};
 | 
			
		||||
      // Constructors
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,6 @@ namespace Grid {
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
     INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      const int part_frac_chroma_convention=1;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@ namespace Grid {
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
     INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      // Constructors
 | 
			
		||||
    ScaledShamirFermion(GaugeField &_Umu,
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,6 @@ namespace Grid {
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
     INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      // Constructors
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -28,10 +28,10 @@ namespace Grid {
 | 
			
		||||
    template<class Impl>
 | 
			
		||||
    class WilsonFermion5D : public WilsonKernels<Impl>, public WilsonFermion5DStatic
 | 
			
		||||
    {
 | 
			
		||||
    public:
 | 
			
		||||
     INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
     typedef WilsonKernels<Impl> Kernels;
 | 
			
		||||
 | 
			
		||||
    public:
 | 
			
		||||
      ///////////////////////////////////////////////////////////////
 | 
			
		||||
      // Implement the abstract base
 | 
			
		||||
      ///////////////////////////////////////////////////////////////
 | 
			
		||||
 
 | 
			
		||||
@@ -115,6 +115,7 @@ namespace Grid{
 | 
			
		||||
    class TwoFlavourEvenOddPseudoFermionAction : public Action<typename Impl::GaugeField> {
 | 
			
		||||
 | 
			
		||||
    public:
 | 
			
		||||
 | 
			
		||||
      INHERIT_IMPL_TYPES(Impl);
 | 
			
		||||
 | 
			
		||||
    private:
 | 
			
		||||
@@ -236,6 +237,12 @@ namespace Grid{
 | 
			
		||||
	//      FermOp.MooeeInv(Y,X);
 | 
			
		||||
	//	FermOp.MeeDeriv(tmp , Y, X,DaggerNo );    dSdU=tmp;
 | 
			
		||||
	//  FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
 | 
			
		||||
	/*
 | 
			
		||||
        FermOp.MooeeInvDag(PhiOdd,Y);
 | 
			
		||||
        FermOp.MooeeInv(Y,X);
 | 
			
		||||
  	FermOp.MeeDeriv(tmp , Y, X,DaggerNo );    dSdU=tmp;
 | 
			
		||||
	FermOp.MeeDeriv(tmp , X, Y,DaggerYes);  dSdU=dSdU+tmp;
 | 
			
		||||
	*/
 | 
			
		||||
	
 | 
			
		||||
	dSdU = Ta(dSdU);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user