2015-05-31 15:09:02 +01:00
|
|
|
#ifndef GRID_QCD_ACTIONS_H
|
|
|
|
#define GRID_QCD_ACTIONS_H
|
|
|
|
|
2015-06-02 16:57:12 +01:00
|
|
|
|
|
|
|
// Some reorganisation likely required as both Chroma and IroIro
|
|
|
|
// are separating the concept of the operator from that of action.
|
|
|
|
//
|
|
|
|
// The FermAction contains methods to create
|
|
|
|
//
|
|
|
|
// * Linear operators (Hermitian and non-hermitian) .. my LinearOperator
|
|
|
|
// * System solvers (Hermitian and non-hermitian) .. my OperatorFunction
|
|
|
|
// * MultiShift System solvers (Hermitian and non-hermitian) .. my OperatorFunction
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////
|
|
|
|
// Abstract base interface
|
|
|
|
////////////////////////////////////////////
|
2015-07-03 18:43:14 +01:00
|
|
|
#include <qcd/action/ActionBase.h>
|
|
|
|
|
2015-06-02 16:57:12 +01:00
|
|
|
#include <qcd/action/fermion/FermionOperator.h>
|
|
|
|
|
2015-07-03 18:43:14 +01:00
|
|
|
|
|
|
|
////////////////////////////////////////////
|
|
|
|
// Gauge Actions
|
|
|
|
////////////////////////////////////////////
|
|
|
|
#include <qcd/action/gauge/WilsonGaugeAction.h>
|
|
|
|
|
|
|
|
|
2015-06-02 16:57:12 +01:00
|
|
|
////////////////////////////////////////////
|
|
|
|
// Utility functions
|
|
|
|
////////////////////////////////////////////
|
|
|
|
#include <qcd/action/fermion/WilsonCompressor.h> //used by all wilson type fermions
|
|
|
|
#include <qcd/action/fermion/WilsonKernels.h> //used by all wilson type fermions
|
|
|
|
|
|
|
|
////////////////////////////////////////////
|
|
|
|
// 4D formulations
|
|
|
|
////////////////////////////////////////////
|
2015-05-31 15:09:02 +01:00
|
|
|
#include <qcd/action/fermion/WilsonFermion.h>
|
2015-06-02 16:57:12 +01:00
|
|
|
//#include <qcd/action/fermion/CloverFermion.h>
|
|
|
|
|
|
|
|
////////////////////////////////////////////
|
2015-06-03 11:26:54 +01:00
|
|
|
// 5D formulations...
|
2015-06-02 16:57:12 +01:00
|
|
|
////////////////////////////////////////////
|
2015-06-03 11:26:54 +01:00
|
|
|
|
2015-06-02 16:57:12 +01:00
|
|
|
#include <qcd/action/fermion/WilsonFermion5D.h> // used by all 5d overlap types
|
2015-06-03 11:26:54 +01:00
|
|
|
|
|
|
|
//////////
|
|
|
|
// Cayley
|
|
|
|
//////////
|
2015-06-02 16:57:12 +01:00
|
|
|
#include <qcd/action/fermion/CayleyFermion5D.h>
|
|
|
|
|
|
|
|
#include <qcd/action/fermion/DomainWallFermion.h>
|
2015-06-03 09:36:26 +01:00
|
|
|
#include <qcd/action/fermion/DomainWallFermion.h>
|
2015-06-03 11:26:54 +01:00
|
|
|
|
2015-06-03 09:36:26 +01:00
|
|
|
#include <qcd/action/fermion/MobiusFermion.h>
|
2015-06-03 09:51:06 +01:00
|
|
|
#include <qcd/action/fermion/ScaledShamirFermion.h>
|
2015-06-03 11:26:54 +01:00
|
|
|
#include <qcd/action/fermion/OverlapWilsonCayleyTanhFermion.h>
|
|
|
|
|
|
|
|
#include <qcd/action/fermion/MobiusZolotarevFermion.h>
|
|
|
|
#include <qcd/action/fermion/ShamirZolotarevFermion.h>
|
|
|
|
#include <qcd/action/fermion/OverlapWilsonCayleyZolotarevFermion.h>
|
|
|
|
|
|
|
|
//////////////////////
|
|
|
|
// Continued fraction
|
|
|
|
//////////////////////
|
|
|
|
#include <qcd/action/fermion/ContinuedFractionFermion5D.h>
|
2015-06-04 00:23:16 +01:00
|
|
|
#include <qcd/action/fermion/OverlapWilsonContfracTanhFermion.h>
|
|
|
|
#include <qcd/action/fermion/OverlapWilsonContfracZolotarevFermion.h>
|
2015-06-03 11:26:54 +01:00
|
|
|
|
|
|
|
//////////////////////
|
|
|
|
// Partial fraction
|
|
|
|
//////////////////////
|
|
|
|
#include <qcd/action/fermion/PartialFractionFermion5D.h>
|
2015-06-04 13:28:37 +01:00
|
|
|
#include <qcd/action/fermion/OverlapWilsonPartialFractionTanhFermion.h>
|
|
|
|
#include <qcd/action/fermion/OverlapWilsonPartialFractionZolotarevFermion.h>
|
2015-06-02 16:57:12 +01:00
|
|
|
|
2015-06-05 18:16:25 +01:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// G5 herm -- this has to live in QCD since dirac matrix is not in the broader sector of code
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include <qcd/action/fermion/g5HermitianLinop.h>
|
2015-06-02 16:57:12 +01:00
|
|
|
|
2015-07-29 09:53:39 +01:00
|
|
|
////////////////////////////////////////
|
|
|
|
// Pseudo fermion combinations
|
|
|
|
////////////////////////////////////////
|
|
|
|
#include <qcd/action/pseudofermion/TwoFlavour.h>
|
2015-08-07 08:37:15 +01:00
|
|
|
#include <qcd/action/pseudofermion/TwoFlavourEvenOdd.h>
|
2015-07-29 09:53:39 +01:00
|
|
|
|
|
|
|
|
2015-05-31 15:09:02 +01:00
|
|
|
#endif
|