1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-19 00:07:05 +01:00

Added HMC utitities for the higher representations

TODO: Inherit types for the pseudofermions, Debugging, testing
This commit is contained in:
Guido Cossu
2016-07-15 13:39:47 +01:00
parent 9dc345e8e8
commit 7edf4c6c04
10 changed files with 201 additions and 80 deletions

View File

@ -30,6 +30,7 @@ directory
*************************************************************************************/
/* END LEGAL */
#include "Grid.h"
//#include "qcd/hmc/HmcRunner.h"
using namespace std;
using namespace Grid;
@ -38,7 +39,11 @@ using namespace Grid::QCD;
namespace Grid {
namespace QCD {
class HmcRunner : public NerscHmcRunner {
// Here change the allowed (higher) representations
typedef Representations< FundamentalRepresentation, FundamentalRepresentation > TheRepresentations;
class HmcRunner : public NerscHmcRunnerHirep< TheRepresentations > {
public:
void BuildTheAction(int argc, char **argv)
@ -69,13 +74,13 @@ class HmcRunner : public NerscHmcRunner {
TwoFlavourPseudoFermionAction<ImplPolicy> Nf2(FermOp, CG, CG);
// Set smearing (true/false), default: false
Nf2.is_smeared = true;
Nf2.is_smeared = false;
// Collect actions
ActionLevel<LatticeGaugeField> Level1(1);
ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level1(1);
Level1.push_back(&Nf2);
ActionLevel<LatticeGaugeField> Level2(4);
ActionLevelHirep<LatticeGaugeField, TheRepresentations > Level2(4);
Level2.push_back(&Waction);
TheAction.push_back(Level1);