Bridge++  Ver. 2.0.2
force_F_Domainwall.h
Go to the documentation of this file.
1 
14 #ifndef FORCE_F_DOMAINWALL_INCLUDED
15 #define FORCE_F_DOMAINWALL_INCLUDED
16 
17 #include "force_F_Wilson_Nf2.h"
18 
19 #include "Fopr/fopr_Domainwall.h"
20 #include "Field/index_lex.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
36 class Force_F_Domainwall : public Force
37 {
38  public:
39  static const std::string class_name;
40 
41  private:
43 
45 
46  // parameters common to overlap fermion
47  double m_mq; // quark mass
48  double m_M0; // domain-wall height
49  int m_Ns; // size of fifth-dimension
50  std::vector<int> m_boundary;
51  std::vector<double> m_b;
52  std::vector<double> m_c;
53 
57 
58  public:
60  : m_vl(CommonParameters::Vlevel())
61  {
62  init();
63  }
64 
66  : m_vl(CommonParameters::Vlevel())
67  {
68  init();
69  set_parameters(params);
70  }
71 
73  {
74  tidyup();
75  }
76 
77  private:
78  void init()
79  {
80  m_fopr_w = new Fopr_Wilson;
84  }
85 
86  void tidyup()
87  {
88  delete m_force_w;
89  delete m_fopr_dw;
90  delete m_fopr_w;
91  }
92 
93  public:
94 
95  void set_parameters(const Parameters& params);
96 
97  void set_parameters(const double mq,
98  const double M0,
99  const int Ns,
100  const std::vector<int> bc,
101  const double b,
102  const double c);
103 
104  void get_parameters(Parameters& params) const;
105 
106  void set_config(Field *U)
107  {
108  m_U = (Field_G *)U;
109  m_fopr_w->set_config(U);
110  m_fopr_dw->set_config(U);
111  m_force_w->set_config(U);
112  }
113 
114  void force_udiv(Field& force, const Field& eta);
115 
116  void force_core1(Field& force, const Field& zeta, const Field& eta); // override default
117  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
118 };
119 #endif
Force_F_Domainwall::class_name
static const std::string class_name
Definition: force_F_Domainwall.h:39
bridgeIO.h
Force_F_Domainwall::m_Ns
int m_Ns
Definition: force_F_Domainwall.h:49
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Index_lex
Lexical site index.
Definition: index_lex.h:34
Force_F_Domainwall::m_c
std::vector< double > m_c
coefficient c (array)
Definition: force_F_Domainwall.h:52
CommonParameters::Ndim
static int Ndim()
Definition: commonParameters.h:117
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_Domainwall::m_b
std::vector< double > m_b
coefficient b (array)
Definition: force_F_Domainwall.h:51
Force_F_Domainwall::force_udiv1
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
Definition: force_F_Domainwall.cpp:170
fopr_Domainwall.h
AFopr_Domainwall
Domain-wall fermion operator.
Definition: afopr_Domainwall.h:38
Force_F_Domainwall::~Force_F_Domainwall
~Force_F_Domainwall()
Definition: force_F_Domainwall.h:72
Force_F_Domainwall::m_M0
double m_M0
Definition: force_F_Domainwall.h:48
Force_F_Domainwall::Force_F_Domainwall
Force_F_Domainwall()
Definition: force_F_Domainwall.h:59
Force_F_Domainwall::init
void init()
Definition: force_F_Domainwall.h:78
Force::m_U
Field_G * m_U
Definition: force_F.h:66
Force_F_Domainwall::m_fopr_w
Fopr_Wilson * m_fopr_w
Definition: force_F_Domainwall.h:54
Force_F_Domainwall::force_udiv
void force_udiv(Field &force, const Field &eta)
Definition: force_F_Domainwall.cpp:150
Fopr_Domainwall
AFopr_Domainwall< Field > Fopr_Domainwall
Domain-wall fermion operator.
Definition: fopr_Domainwall.h:33
Force_F_Domainwall::m_fopr_dw
Fopr_Domainwall * m_fopr_dw
Definition: force_F_Domainwall.h:55
Force_F_Domainwall::Force_F_Domainwall
Force_F_Domainwall(const Parameters &params)
Definition: force_F_Domainwall.h:65
Force_F_Domainwall::m_vl
Bridge::VerboseLevel m_vl
Definition: force_F_Domainwall.h:42
Force_F_Domainwall::set_parameters
void set_parameters(const Parameters &params)
Definition: force_F_Domainwall.cpp:19
index_lex.h
Force_F_Domainwall::tidyup
void tidyup()
Definition: force_F_Domainwall.h:86
Force_F_Domainwall::get_parameters
void get_parameters(Parameters &params) const
Definition: force_F_Domainwall.cpp:59
AFopr_Domainwall::set_config
void set_config(Field *U)
sets the gauge configuration.
Definition: afopr_Domainwall.h:125
Force_F_Domainwall::force_core1
void force_core1(Field &force, const Field &zeta, const Field &eta)
Definition: force_F_Domainwall.cpp:141
Force_F_Domainwall
Force calculation for domain-wall fermions.
Definition: force_F_Domainwall.h:36
Force_F_Domainwall::m_mq
double m_mq
Definition: force_F_Domainwall.h:47
Org::Fopr_Wilson::set_config
void set_config(Field *U)
sets the gauge configuration.
Definition: fopr_Wilson_impl.cpp:188
Force_F_Wilson_Nf2
Force for the standard Wilson fermion operator.
Definition: force_F_Wilson_Nf2.h:38
Force_F_Domainwall::set_config
void set_config(Field *U)
Definition: force_F_Domainwall.h:106
Force_F_Domainwall::m_index
Index_lex * m_index
Definition: force_F_Domainwall.h:44
Force_F_Domainwall::m_boundary
std::vector< int > m_boundary
Definition: force_F_Domainwall.h:50
force_F_Wilson_Nf2.h
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Org::Fopr_Wilson
Definition: fopr_Wilson_impl.h:38
Force_F_Wilson_Nf2::set_config
void set_config(Field *U)
Definition: force_F_Wilson_Nf2.h:96
Force_F_Domainwall::m_force_w
Force_F_Wilson_Nf2 * m_force_w
Definition: force_F_Domainwall.h:56
Force
Base class of fermion force calculation.
Definition: force_F.h:31
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Fopr_Wilson
Org::Fopr_Wilson Fopr_Wilson
Wilson fermion operator.
Definition: fopr_Wilson.h:50