Bridge++  Ver. 2.0.2
force_F_Clover_Nf2_Isochemical.h
Go to the documentation of this file.
1 
14 #ifndef FORCE_F_CLOVER_NF2_ISOCHEMICAL_INCLUDED
15 #define FORCE_F_CLOVER_NF2_ISOCHEMICAL_INCLUDED
16 
18 
20 #include "force_F_CloverTerm.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
37 {
38  public:
39  static const std::string class_name;
40 
41  private:
43 
44  double m_kappa;
45  double m_cSW;
46  double m_mu;
47  std::vector<int> m_boundary;
48 
49  std::string m_repr;
50  std::string m_mode;
51 
52 // Field_G *m_U; //!< pointer to gauge field
53 // Field_G* m_Cud; //!< for force calculation
54 
58 
59  int m_Ndim;
60 
61  public:
65  : m_vl(CommonParameters::Vlevel())
66  {
67  init("Dirac");
68  }
69 
71  Force_F_Clover_Nf2_Isochemical(const std::string repr)
72  : m_vl(CommonParameters::Vlevel())
73  {
74  init(repr);
75  }
76 
78  : m_vl(CommonParameters::Vlevel())
79  {
80  std::string repr = params.get_string("gamma_matrix_type");
81  init(repr);
82  set_parameters(params);
83  }
84 
87  {
88  tidyup();
89  }
90 
92  void set_parameters(const Parameters& params);
93 
95  void set_parameters(const double kappa,
96  const double cSW,
97  const double mu,
98  const std::vector<int> bc);
99 
101  void get_parameters(Parameters& params) const;
102 
103  void set_mode(const std::string& mode)
104  {
105  m_mode = mode;
106  m_fopr_c->set_mode(mode);
107  m_force_w->set_mode(mode);
108  }
109 
111  void set_config(Field *U)
112  {
113  m_U = (Field_G *)U;
114  m_fopr_c->set_config(U);
115  m_force_w->set_config(U);
117  // set_component();
118  }
119 
121  void force_udiv(Field& force, const Field& eta);
122 
124  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
125 
126 
127  private:
128  void init(const std::string repr);
129  void tidyup();
130 
132  void set_parameters_impl(const double kappa,
133  const double cSW,
134  const double mu,
135  const std::vector<int> bc);
136 
138  void force_udiv1_impl(Field_G& force, const Field_F& zeta, const Field_F& eta);
139 
141  // void set_component();
142 
143  int index_dir(const int mu, const int nu)
144  {
145  return mu + m_Ndim * nu;
146  }
147 };
148 #endif
Force_F_Clover_Nf2_Isochemical::Force_F_Clover_Nf2_Isochemical
Force_F_Clover_Nf2_Isochemical(const Parameters &params)
Definition: force_F_Clover_Nf2_Isochemical.h:77
bridgeIO.h
Force_F_Clover_Nf2_Isochemical::Force_F_Clover_Nf2_Isochemical
DEPRECATED Force_F_Clover_Nf2_Isochemical()
Constructor.
Definition: force_F_Clover_Nf2_Isochemical.h:64
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Force_F_Clover_Nf2_Isochemical::tidyup
void tidyup()
Definition: force_F_Clover_Nf2_Isochemical.cpp:129
Parameters
Class for parameters.
Definition: parameters.h:46
fopr_Clover_Chemical.h
Force_F_Wilson_Nf2_Isochemical::set_config
void set_config(Field *U)
Definition: force_F_Wilson_Nf2_Isochemical.h:101
Force_F_Clover_Nf2_Isochemical::m_cSW
double m_cSW
clover coefficient
Definition: force_F_Clover_Nf2_Isochemical.h:45
Force_F_Clover_Nf2_Isochemical::set_mode
void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.
Definition: force_F_Clover_Nf2_Isochemical.h:103
Force_F_CloverTerm
Force calculation for clover term of clover fermion.
Definition: force_F_CloverTerm.h:38
Force_F_Clover_Nf2_Isochemical::m_mode
std::string m_mode
mult mode
Definition: force_F_Clover_Nf2_Isochemical.h:50
Force_F_Clover_Nf2_Isochemical::set_parameters_impl
void set_parameters_impl(const double kappa, const double cSW, const double mu, const std::vector< int > bc)
Setting parameters with clover fermion parameters.
Definition: force_F_Clover_Nf2_Isochemical.cpp:79
Force_F_Clover_Nf2_Isochemical::m_boundary
std::vector< int > m_boundary
boundary conditions
Definition: force_F_Clover_Nf2_Isochemical.h:47
Force_F_Clover_Nf2_Isochemical::force_udiv1
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_Clover_Nf2_Isochemical.cpp:160
force_F_Wilson_Nf2_Isochemical.h
Force::m_U
Field_G * m_U
Definition: force_F.h:66
Force_F_CloverTerm::set_config
void set_config(Field *U)
Setting gauge configuration.
Definition: force_F_CloverTerm.h:97
Force_F_Clover_Nf2_Isochemical::force_udiv1_impl
void force_udiv1_impl(Field_G &force, const Field_F &zeta, const Field_F &eta)
Core implemetation of clover force calculation.
Definition: force_F_Clover_Nf2_Isochemical.cpp:176
Force_F_Wilson_Nf2_Isochemical
Force for the Wilson fermion operator with isospin chemical potential.
Definition: force_F_Wilson_Nf2_Isochemical.h:36
Force_F_Clover_Nf2_Isochemical::m_kappa
double m_kappa
hopping parameter
Definition: force_F_Clover_Nf2_Isochemical.h:44
Force_F_Clover_Nf2_Isochemical::~Force_F_Clover_Nf2_Isochemical
~Force_F_Clover_Nf2_Isochemical()
Deconstructor.
Definition: force_F_Clover_Nf2_Isochemical.h:86
Force_F_Clover_Nf2_Isochemical::m_fopr_c
Fopr_Clover_Chemical * m_fopr_c
fermion operator
Definition: force_F_Clover_Nf2_Isochemical.h:55
AFopr_Clover_Chemical::set_config
void set_config(Field *U)
sets the gauge configuration.
Definition: afopr_Clover_Chemical-tmpl.h:234
Force_F_Clover_Nf2_Isochemical::init
void init(const std::string repr)
Definition: force_F_Clover_Nf2_Isochemical.cpp:114
Force_F_Clover_Nf2_Isochemical::m_Ndim
int m_Ndim
spacetime dimension
Definition: force_F_Clover_Nf2_Isochemical.h:59
Force_F_Clover_Nf2_Isochemical::Force_F_Clover_Nf2_Isochemical
DEPRECATED Force_F_Clover_Nf2_Isochemical(const std::string repr)
Definition: force_F_Clover_Nf2_Isochemical.h:71
Force_F_Clover_Nf2_Isochemical::class_name
static const std::string class_name
Definition: force_F_Clover_Nf2_Isochemical.h:39
force_F_CloverTerm.h
Force_F_Clover_Nf2_Isochemical::set_parameters
void set_parameters(const Parameters &params)
Setting parameters of clover fermion force.
Definition: force_F_Clover_Nf2_Isochemical.cpp:19
AFopr_Clover_Chemical::set_mode
void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
Definition: afopr_Clover_Chemical-tmpl.h:248
Force_F_Clover_Nf2_Isochemical::m_vl
Bridge::VerboseLevel m_vl
Definition: force_F_Clover_Nf2_Isochemical.h:42
Force_F_Clover_Nf2_Isochemical::index_dir
int index_dir(const int mu, const int nu)
Set building components for force calculation.
Definition: force_F_Clover_Nf2_Isochemical.h:143
Force_F_Clover_Nf2_Isochemical::m_repr
std::string m_repr
gamma matrix representation
Definition: force_F_Clover_Nf2_Isochemical.h:49
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Force_F_Clover_Nf2_Isochemical::m_force_csw
Force_F_CloverTerm * m_force_csw
Clover term force.
Definition: force_F_Clover_Nf2_Isochemical.h:57
Force_F_Clover_Nf2_Isochemical::get_parameters
void get_parameters(Parameters &params) const
Getting parameters of clover fermion force.
Definition: force_F_Clover_Nf2_Isochemical.cpp:50
Parameters::get_string
string get_string(const string &key) const
Definition: parameters.cpp:221
Force_F_Clover_Nf2_Isochemical::set_config
void set_config(Field *U)
Setting gauge configuration.
Definition: force_F_Clover_Nf2_Isochemical.h:111
Force_F_Clover_Nf2_Isochemical::force_udiv
void force_udiv(Field &force, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_Clover_Nf2_Isochemical.cpp:138
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
Force_F_Wilson_Nf2_Isochemical::set_mode
void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.
Definition: force_F_Wilson_Nf2_Isochemical.h:107
Force_F_Clover_Nf2_Isochemical::m_force_w
Force_F_Wilson_Nf2_Isochemical * m_force_w
Wilson fermion force.
Definition: force_F_Clover_Nf2_Isochemical.h:56
Force
Base class of fermion force calculation.
Definition: force_F.h:31
Force_F_Clover_Nf2_Isochemical
Force calculation for clover quark action.
Definition: force_F_Clover_Nf2_Isochemical.h:36
DEPRECATED
#define DEPRECATED
Definition: configure.h:28
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Force_F_Clover_Nf2_Isochemical::m_mu
double m_mu
Isospin chemical potential.
Definition: force_F_Clover_Nf2_Isochemical.h:46
AFopr_Clover_Chemical
Clover fermion operator with chemical potential.
Definition: afopr_Clover_Chemical.h:35