Grid 0.7.0
Registration.h
Go to the documentation of this file.
1/*************************************************************************************
2
3Grid physics library, www.github.com/paboyle/Grid
4
5Source file: ./lib/qcd/modules/Registration.h
6
7Copyright (C) 2016
8
9Author: Guido Cossu <guido.cossu@ed.ac.uk>
10
11This program is free software; you can redistribute it and/or modify
12it under the terms of the GNU General Public License as published by
13the Free Software Foundation; either version 2 of the License, or
14(at your option) any later version.
15
16This program is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU General Public License for more details.
20
21You should have received a copy of the GNU General Public License along
22with this program; if not, write to the Free Software Foundation, Inc.,
2351 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24
25See the full license in the file "LICENSE" in the top level distribution
26directory
27*************************************************************************************/
28 /* END LEGAL */
29
30#ifndef MODULES_REGISTRATION_H
31#define MODULES_REGISTRATION_H
32
33 // simplify with macros
34
36 // Actions
44
51
52
53// FIXME more general implementation
70
71
72
74// Solvers
76
77
78// Now a specific registration with a fermion field
79// here must instantiate CG and CR for every new fermion field type (macro!!)
80
83
88
89// add the staggered, scalar versions here
90
91
93// Fermion operators
95
102
103
105// Observables
107
109
111// Checkpointers
113
116
117#ifdef HAVE_LIME
119#endif
120
122// Integrators
127
129
130#endif
static Registrar< OneFlavourEOFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __OneFlavourEOFmodXMLInit("OneFlavourEvenOdd")
static Registrar< RBCGMod, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __RBCGmodXMLInit("RBC")
HMCRunnerModuleFactory< hmc_string, Serialiser > HMCModuleFactory
static Registrar< ConjugateResidualModule< WilsonFermionD::FermionField >, HMC_SolverModuleFactory< solver_string, WilsonFermionD::FermionField, Serialiser > > __CRWFmodXMLInit("ConjugateResidual")
static Registrar< IwasakiGMod, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __IwGmodXMLInit("Iwasaki")
static Registrar< HMCLeapFrog< ImplementationPolicy, RepresentationPolicy, Serialiser >, HMCRunnerModuleFactory< hmc_string, Serialiser > > __HMCLFmodXMLInit("LeapFrog")
static Registrar< TwoFlavourEOFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __TwoFlavourEOFmodXMLInit("TwoFlavoursEvenOdd")
static Registrar< SymanzikGMod, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __SymGmodXMLInit("Symanzik")
static Registrar< TwoFlavourFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __TwoFlavourFmodXMLInit("TwoFlavours")
static Registrar< DBW2GMod, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __DBW2GmodXMLInit("DBW2")
static Registrar< OneFlavourRatioEOFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __OneFlavourRatioEOFmodXMLInit("OneFlavourEvenOddRatio")
static Registrar< NerscCPModule< ImplementationPolicy >, HMC_CPModuleFactory< cp_string, ImplementationPolicy, Serialiser > > __CPNerscmodXMLInit("Nersc")
static Registrar< OneFlavourFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __OneFlavourFmodXMLInit("OneFlavour")
SymanzikGModule< ImplementationPolicy > SymanzikGMod
PlaqPlusRectangleGModule< ImplementationPolicy > PlaqPlusRectangleGMod
IwasakiGModule< ImplementationPolicy > IwasakiGMod
static Registrar< ConjugateGradientModule< WilsonFermionD::FermionField >, HMC_SolverModuleFactory< solver_string, WilsonFermionD::FermionField, Serialiser > > __CGWFmodXMLInit("ConjugateGradient")
static Registrar< OneFlavourRatioFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __OneFlavourRatioFmodXMLInit("OneFlavourRatio")
DBW2GModule< ImplementationPolicy > DBW2GMod
static Registrar< TwoFlavourRatioFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __TwoFlavourRatioFmodXMLInit("TwoFlavoursRatio")
static Registrar< PlaquetteMod< ImplementationPolicy >, HMC_ObservablesModuleFactory< observable_string, typename ImplementationPolicy::Field, Serialiser > > __OBSPLmodXMLInit("Plaquette")
static Registrar< MobiusFermionModule< FermionImplementationPolicy >, HMC_FermionOperatorModuleFactory< fermionop_string, FermionImplementationPolicy, Serialiser > > __MobiusFOPmodXMLInit("Mobius")
static Registrar< TwoFlavourRatioEOFModule< FermionImplementationPolicy >, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __TwoFlavourRatioEOFmodXMLInit("TwoFlavoursEvenOddRatio")
static Registrar< BiCGSTABModule< WilsonFermionD::FermionField >, HMC_SolverModuleFactory< solver_string, WilsonFermionD::FermionField, Serialiser > > __BiCGWFmodXMLInit("BiCGSTAB")
static Registrar< BinaryCPModule< ImplementationPolicy >, HMC_CPModuleFactory< cp_string, ImplementationPolicy, Serialiser > > __CPBinarymodXMLInit("Binary")
RBCGModule< ImplementationPolicy > RBCGMod
static Registrar< DomainWallFermionModule< FermionImplementationPolicy >, HMC_FermionOperatorModuleFactory< fermionop_string, FermionImplementationPolicy, Serialiser > > __DWFOPmodXMLInit("DomainWall")
static Registrar< PlaqPlusRectangleGMod, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __PPRectGmodXMLInit("PlaqPlusRect")
static Registrar< HMCMinimumNorm2< ImplementationPolicy, RepresentationPolicy, Serialiser >, HMCRunnerModuleFactory< hmc_string, Serialiser > > __HMCMN2modXMLInit("MinimumNorm2")
static Registrar< WilsonGMod, HMC_ActionModuleFactory< gauge_string, typename ImplementationPolicy::Field, Serialiser > > __WGmodXMLInit("Wilson")
static Registrar< WilsonFermionModule< FermionImplementationPolicy >, HMC_FermionOperatorModuleFactory< fermionop_string, FermionImplementationPolicy, Serialiser > > __WilsonFOPmodXMLInit("Wilson")
WilsonGModule< ImplementationPolicy > WilsonGMod
static Registrar< HMCForceGradient< ImplementationPolicy, RepresentationPolicy, Serialiser >, HMCRunnerModuleFactory< hmc_string, Serialiser > > __HMCFGmodXMLInit("ForceGradient")