Bridge++  Ver.2.1.3
force_F_Domainwall.h
Go to the documentation of this file.
1 
10 #ifndef FORCE_F_DOMAINWALL_INCLUDED
11 #define FORCE_F_DOMAINWALL_INCLUDED
12 
15 #include "lib/Field/index_lex.h"
16 #include "lib/IO/bridgeIO.h"
17 using Bridge::vout;
18 
20 
31 class Force_F_Domainwall : public Force
32 {
33  public:
34  static const std::string class_name;
35 
36  private:
38 
39  // parameters common to overlap fermion
40  double m_mq;
41  double m_M0;
42  int m_Ns;
43  std::vector<int> m_boundary;
44  std::vector<double> m_b;
45  std::vector<double> m_c;
46  double m_alpha;
47  std::string m_repr;
49 
50  std::string m_mode;
51 
55 
58 
61 
64 
68 
69  public:
70 
73  : Force()
74  { init(); }
75 
77  : Force()
78  { init(params); }
79 
82  { tidyup(); }
83 
84  void set_parameters(const Parameters& params);
85 
86  void set_parameters(const double mq, const double M0, const int Ns,
87  const std::vector<int> bc,
88  const std::vector<double> b,
89  const std::vector<double> c,
90  const double alpha);
91 
92  void get_parameters(Parameters& params) const;
93 
94  void set_config(Field *U);
95 
96  void set_mode(const std::string& mode);
97 
98  void force_udiv(Field& force, const Field& eta);
99 
101  void force_core1(Field& force, const Field& zeta, const Field& eta);
102 
103  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
104 
105  void force_udiv1_H(Field& force_, const Field& zeta,
106  const Field& eta);
107 
108  void force_udiv1_Hdag(Field& force_, const Field& zeta,
109  const Field& eta);
110 
111  void force_Himpl(Field& eta2, const Field& eta);
112 
113  private:
114 
116  void init();
117 
119  void init(const Parameters& params);
120 
122  void tidyup();
123 
124  void set_parameters_impl(const Parameters& params);
125 
126  void set_parameters_impl(const double mq,
127  const double M0,
128  const int Ns,
129  const std::vector<int> bc,
130  const std::vector<double> b,
131  const std::vector<double> c,
132  const double alpha);
133 
134 
135 };
136 #endif
Force_F_Domainwall::class_name
static const std::string class_name
Definition: force_F_Domainwall.h:34
Force_F_Domainwall::force_udiv1_Hdag
void force_udiv1_Hdag(Field &force_, const Field &zeta, const Field &eta)
Definition: force_F_Domainwall.cpp:408
bridgeIO.h
Force_F_Domainwall::m_Ns
int m_Ns
size of fifth-dimension
Definition: force_F_Domainwall.h:42
Index_lex
Lexical site index.
Definition: index_lex.h:34
Force_F_Domainwall::m_c
std::vector< double > m_c
coefficient parameter
Definition: force_F_Domainwall.h:45
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_Domainwall::m_alpha
double m_alpha
Neff's improving parameter.
Definition: force_F_Domainwall.h:46
Force_F_Domainwall::m_zeta
Field_F * m_zeta
5d working field
Definition: force_F_Domainwall.h:59
Force_F_Domainwall::m_b
std::vector< double > m_b
coefficient parameter
Definition: force_F_Domainwall.h:44
Force_F_Domainwall::force_udiv1
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
Definition: force_F_Domainwall.cpp:359
fopr_Domainwall.h
AFopr_Domainwall
Domain-wall fermion operator.
Definition: afopr_Domainwall.h:38
Force_F_Domainwall::~Force_F_Domainwall
~Force_F_Domainwall()
destructor
Definition: force_F_Domainwall.h:81
Force_F_Domainwall::m_M0
double m_M0
domain-wall height
Definition: force_F_Domainwall.h:41
Force_F_Domainwall::set_mode
void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.
Definition: force_F_Domainwall.cpp:323
Force_F_Domainwall::Force_F_Domainwall
Force_F_Domainwall()
constructor
Definition: force_F_Domainwall.h:72
Force_F_Domainwall::init
void init()
initial setup.
Definition: force_F_Domainwall.cpp:67
Force_F_Domainwall::m_fopr_w
Fopr_Wilson * m_fopr_w
Definition: force_F_Domainwall.h:53
Force_F_Domainwall::m_w4t2
Field_F * m_w4t2
4d working field
Definition: force_F_Domainwall.h:66
Force_F_Domainwall::force_udiv
void force_udiv(Field &force, const Field &eta)
Definition: force_F_Domainwall.cpp:345
Force_F_Domainwall::force_Himpl
void force_Himpl(Field &eta2, const Field &eta)
Definition: force_F_Domainwall.cpp:440
Force_F_Domainwall::m_zeta4
Field_F * m_zeta4
4d working field
Definition: force_F_Domainwall.h:63
Force_F_Domainwall::m_force1
Field_G * m_force1
Definition: force_F_Domainwall.h:56
Force_F_Domainwall::m_fopr_dw
Fopr_Domainwall * m_fopr_dw
Definition: force_F_Domainwall.h:52
Force_F_Domainwall::m_force2
Field_G * m_force2
Definition: force_F_Domainwall.h:57
AForce_F< Field >
Force_F_Domainwall::force_udiv1_H
void force_udiv1_H(Field &force_, const Field &zeta, const Field &eta)
Definition: force_F_Domainwall.cpp:376
Force_F_Domainwall::m_eta4
Field_F * m_eta4
4d working field
Definition: force_F_Domainwall.h:62
Force_F_Domainwall::Force_F_Domainwall
Force_F_Domainwall(const Parameters &params)
Definition: force_F_Domainwall.h:76
Force_F_Domainwall::m_vl
Bridge::VerboseLevel m_vl
verbose level
Definition: force_F_Domainwall.h:48
Force_F_Domainwall::set_parameters
void set_parameters(const Parameters &params)
sets parameters by a Parameter object: to be implemented in a subclass.
Definition: force_F_Domainwall.cpp:126
Force_F_Domainwall::m_mode
std::string m_mode
Definition: force_F_Domainwall.h:50
index_lex.h
Force_F_Domainwall::tidyup
void tidyup()
final tidyup.
Definition: force_F_Domainwall.cpp:104
Force_F_Domainwall::m_repr
std::string m_repr
gamma matrix representation
Definition: force_F_Domainwall.h:47
Force_F_Domainwall::get_parameters
void get_parameters(Parameters &params) const
Definition: force_F_Domainwall.cpp:294
Force_F_Domainwall::m_w4t1
Field_F * m_w4t1
4d working field
Definition: force_F_Domainwall.h:65
Force_F_Domainwall::force_core1
void force_core1(Field &force, const Field &zeta, const Field &eta)
force_core1 overrides default implementation in the base class.
Definition: force_F_Domainwall.cpp:335
Force_F_Domainwall::m_eta2
Field_F * m_eta2
5d working field
Definition: force_F_Domainwall.h:60
Force_F_Domainwall::m_Lw4
Field_F * m_Lw4
4d working field
Definition: force_F_Domainwall.h:67
Force_F_Domainwall::set_parameters_impl
void set_parameters_impl(const Parameters &params)
Definition: force_F_Domainwall.cpp:145
Force_F_Domainwall
Force calculation for domain-wall fermions.
Definition: force_F_Domainwall.h:31
Force_F_Domainwall::m_mq
double m_mq
quark mass
Definition: force_F_Domainwall.h:40
Force_F_Wilson_Nf2
Force for the standard Wilson fermion operator.
Definition: force_F_Wilson_Nf2.h:33
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Force_F_Domainwall::set_config
void set_config(Field *U)
sets verbose level.
Definition: force_F_Domainwall.cpp:309
Force_F_Domainwall::m_index
Index_lex * m_index
Definition: force_F_Domainwall.h:37
Force_F_Domainwall::m_boundary
std::vector< int > m_boundary
boundary conditions
Definition: force_F_Domainwall.h:43
force_F_Wilson_Nf2.h
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:45
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Org::Fopr_Wilson
Definition: fopr_Wilson_impl.h:38
Force_F_Domainwall::m_force_w
Force_F_Wilson_Nf2 * m_force_w
Definition: force_F_Domainwall.h:54
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572