From 6de9a45a0919c2d536c5cf423c44dd4dc5f0ab8b Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Fri, 12 Oct 2018 11:00:58 +0100 Subject: [PATCH] NPR first cut by Julia Kettle --- Grid/qcd/QCD.h | 48 +++++++++++++++++++++++++++++++++------------ Hadrons/Modules.hpp | 5 +++++ Hadrons/modules.inc | 10 ++++++++++ 3 files changed, 51 insertions(+), 12 deletions(-) diff --git a/Grid/qcd/QCD.h b/Grid/qcd/QCD.h index e1e38e82..7e9b2da0 100644 --- a/Grid/qcd/QCD.h +++ b/Grid/qcd/QCD.h @@ -90,17 +90,20 @@ namespace QCD { // That probably makes for GridRedBlack4dCartesian grid. // s,sp,c,spc,lc - template using iSinglet = iScalar > >; - template using iSpinMatrix = iScalar, Ns> >; - template using iColourMatrix = iScalar > > ; - template using iSpinColourMatrix = iScalar, Ns> >; - template using iLorentzColourMatrix = iVector >, Nd > ; - template using iDoubleStoredColourMatrix = iVector >, Nds > ; - template using iSpinVector = iScalar, Ns> >; - template using iColourVector = iScalar > >; - template using iSpinColourVector = iScalar, Ns> >; - template using iHalfSpinVector = iScalar, Nhs> >; - template using iHalfSpinColourVector = iScalar, Nhs> >; + + template using iSinglet = iScalar > >; + template using iSpinMatrix = iScalar, Ns> >; + template using iColourMatrix = iScalar > > ; + template using iSpinColourMatrix = iScalar, Ns> >; + template using iLorentzColourMatrix = iVector >, Nd > ; + template using iDoubleStoredColourMatrix = iVector >, Nds > ; + template using iSpinVector = iScalar, Ns> >; + template using iColourVector = iScalar > >; + template using iSpinColourVector = iScalar, Ns> >; + template using iHalfSpinVector = iScalar, Nhs> >; + template using iHalfSpinColourVector = iScalar, Nhs> >; + template using iSpinColourSpinColourMatrix = iScalar, Ns>, Nc>, Ns> >; + template using iGparitySpinColourVector = iVector, Ns>, Ngp >; template using iGparityHalfSpinColourVector = iVector, Nhs>, Ngp >; @@ -127,10 +130,28 @@ namespace QCD { typedef iSpinColourMatrix SpinColourMatrix; typedef iSpinColourMatrix SpinColourMatrixF; typedef iSpinColourMatrix SpinColourMatrixD; - + typedef iSpinColourMatrix vSpinColourMatrix; typedef iSpinColourMatrix vSpinColourMatrixF; typedef iSpinColourMatrix vSpinColourMatrixD; + + // SpinColourSpinColour matrix + typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrix; + typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrixF; + typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrixD; + + typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrix; + typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixF; + typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixD; + + // SpinColourSpinColour matrix + typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrix; + typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrixF; + typedef iSpinColourSpinColourMatrix SpinColourSpinColourMatrixD; + + typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrix; + typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixF; + typedef iSpinColourSpinColourMatrix vSpinColourSpinColourMatrixD; // LorentzColour typedef iLorentzColourMatrix LorentzColourMatrix; @@ -229,6 +250,9 @@ namespace QCD { typedef Lattice LatticeSpinColourMatrixF; typedef Lattice LatticeSpinColourMatrixD; + typedef Lattice LatticeSpinColourSpinColourMatrix; + typedef Lattice LatticeSpinColourSpinColourMatrixF; + typedef Lattice LatticeSpinColourSpinColourMatrixD; typedef Lattice LatticeLorentzColourMatrix; typedef Lattice LatticeLorentzColourMatrixF; diff --git a/Hadrons/Modules.hpp b/Hadrons/Modules.hpp index 6d56ea2d..d86aed3c 100644 --- a/Hadrons/Modules.hpp +++ b/Hadrons/Modules.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -27,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +42,9 @@ #include #include #include +#include +#include +#include #include #include #include diff --git a/Hadrons/modules.inc b/Hadrons/modules.inc index 74138238..6eeb891d 100644 --- a/Hadrons/modules.inc +++ b/Hadrons/modules.inc @@ -11,6 +11,7 @@ modules_cc =\ Modules/MContraction/Gamma3pt.cc \ Modules/MFermion/FreeProp.cc \ Modules/MFermion/GaugeProp.cc \ + Modules/MSource/Momentum.cc \ Modules/MSource/Point.cc \ Modules/MSource/Wall.cc \ Modules/MSource/SeqConserved.cc \ @@ -28,6 +29,7 @@ modules_cc =\ Modules/MGauge/StochEm.cc \ Modules/MGauge/Random.cc \ Modules/MGauge/FundtoHirep.cc \ + Modules/MGauge/GaugeFix.cc \ Modules/MNoise/TimeDilutedSpinColorDiagonal.cc \ Modules/MUtilities/RandomVectors.cc \ Modules/MUtilities/TestSeqGamma.cc \ @@ -38,6 +40,9 @@ modules_cc =\ Modules/MScalar/VPCounterTerms.cc \ Modules/MScalar/ChargedProp.cc \ Modules/MScalar/ScalarVP.cc \ + Modules/MNPR/Amputate.cc \ + Modules/MNPR/Bilinear.cc \ + Modules/MNPR/FourQuark.cc \ Modules/MAction/Wilson.cc \ Modules/MAction/MobiusDWF.cc \ Modules/MAction/ZMobiusDWF.cc \ @@ -80,6 +85,7 @@ modules_hpp =\ Modules/MSource/Wall.hpp \ Modules/MSource/Z2.hpp \ Modules/MSource/SeqConserved.hpp \ + Modules/MSource/Momentum.hpp \ Modules/MSink/Smear.hpp \ Modules/MSink/Point.hpp \ Modules/MSolver/MixedPrecisionRBPrecCG.hpp \ @@ -91,6 +97,7 @@ modules_hpp =\ Modules/MGauge/StoutSmearing.hpp \ Modules/MGauge/Unit.hpp \ Modules/MGauge/Random.hpp \ + Modules/MGauge/GaugeFix.hpp \ Modules/MGauge/FundtoHirep.hpp \ Modules/MGauge/StochEm.hpp \ Modules/MNoise/TimeDilutedSpinColorDiagonal.hpp \ @@ -104,6 +111,9 @@ modules_hpp =\ Modules/MScalar/ScalarVP.hpp \ Modules/MScalar/Scalar.hpp \ Modules/MScalar/ChargedProp.hpp \ + Modules/MNPR/Bilinear.hpp \ + Modules/MNPR/Amputate.hpp \ + Modules/MNPR/FourQuark.hpp \ Modules/MAction/DWF.hpp \ Modules/MAction/MobiusDWF.hpp \ Modules/MAction/Wilson.hpp \