1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-11 14:40:46 +01:00

Boundary condition option in quark actions for hadrons tests.

This commit is contained in:
Lanny91 2017-06-06 14:19:10 +01:00
parent c504b4dbad
commit e5c8b7369e

View File

@ -107,16 +107,20 @@ using namespace Hadrons;
* actionName - name of action module to create. * actionName - name of action module to create.
* gaugeField - gauge field module. * gaugeField - gauge field module.
* mass - quark mass. * mass - quark mass.
* boundary - fermion boundary conditions (default to periodic
* space, antiperiodic time).
* Returns: None. * Returns: None.
******************************************************************************/ ******************************************************************************/
inline void makeWilsonAction(Application &application, std::string actionName, inline void makeWilsonAction(Application &application, std::string actionName,
std::string &gaugeField, double mass) std::string &gaugeField, double mass,
std::string boundary = "1 1 1 -1")
{ {
if (!(Environment::getInstance().hasModule(actionName))) if (!(Environment::getInstance().hasModule(actionName)))
{ {
MAction::Wilson::Par actionPar; MAction::Wilson::Par actionPar;
actionPar.gauge = gaugeField; actionPar.gauge = gaugeField;
actionPar.mass = mass; actionPar.mass = mass;
actionPar.boundary = boundary;
application.createModule<MAction::Wilson>(actionName, actionPar); application.createModule<MAction::Wilson>(actionName, actionPar);
} }
} }
@ -129,11 +133,13 @@ inline void makeWilsonAction(Application &application, std::string actionName,
* mass - quark mass. * mass - quark mass.
* M5 - domain wall height. * M5 - domain wall height.
* Ls - fifth dimension extent. * Ls - fifth dimension extent.
* boundary - fermion boundary conditions (default to periodic
* space, antiperiodic time).
* Returns: None. * Returns: None.
******************************************************************************/ ******************************************************************************/
inline void makeDWFAction(Application &application, std::string actionName, inline void makeDWFAction(Application &application, std::string actionName,
std::string &gaugeField, double mass, double M5, std::string &gaugeField, double mass, double M5,
unsigned int Ls) unsigned int Ls, std::string boundary = "1 1 1 -1")
{ {
if (!(Environment::getInstance().hasModule(actionName))) if (!(Environment::getInstance().hasModule(actionName)))
{ {
@ -142,6 +148,7 @@ inline void makeDWFAction(Application &application, std::string actionName,
actionPar.Ls = Ls; actionPar.Ls = Ls;
actionPar.M5 = M5; actionPar.M5 = M5;
actionPar.mass = mass; actionPar.mass = mass;
actionPar.boundary = boundary;
application.createModule<MAction::DWF>(actionName, actionPar); application.createModule<MAction::DWF>(actionName, actionPar);
} }
} }