Bridge++  Ver.2.1.3
forceSmear_APE_SF.h
Go to the documentation of this file.
1 
10 #ifndef FORCESMEAR_APE_ALT_INCLUDED
11 #define FORCESMEAR_APE_ALT_INCLUDED
12 
13 #include "lib/Smear/forceSmear.h"
14 #include "lib/Field/field_SF.h"
16 #include "lib/Smear/smear_APE_SF.h"
17 #include "lib/Smear/projection.h"
18 #include "lib/IO/bridgeIO.h"
19 using Bridge::vout;
20 
22 
33 {
34  public:
35  static const std::string class_name;
36 
37  private:
38  int m_Ndim, m_Nvol;
39  std::vector<double> m_rho;
40  std::vector<double> m_phi;
41  std::vector<double> m_phipr;
43 
45 
47 
48  std::vector<Field_G> m_U;
49  std::vector<Field_G> m_iTheta;
50 
53 
59 
63 
64  public:
65 
66  ForceSmear_APE_SF(Projection *proj, const Parameters& params)
67  : m_proj(proj),
69  { init(params); }
70 
72 
73  void set_parameters(const Parameters& params);
74 
75  void set_parameters(const double rho1,
76  const std::vector<double>& phi,
77  const std::vector<double>& phipr);
78 
79  void set_parameters(const std::vector<double>& rho,
80  const std::vector<double>& phi,
81  const std::vector<double>& phipr);
82 
83  void get_parameters(Parameters& params) const;
84 
85  void force_udiv(Field_G& Sigma, const Field_G& Sigma_p, const Field_G& U);
86 
87  private:
88 
89  void init(const Parameters& params);
90 
91  void tidyup();
92 
93  int index(int mu, int nu){ return (mu + nu * m_Ndim); }
94 
95  void force_each(Field_G&,
96  const Field_G&, const Field_G&,
97  const Field_G&, const Field_G&,
98  const int mu, const int nu);
99 
100  void staple(Field_G&,
101  const Field_G&, const Field_G&,
102  const int mu, const int nu);
103 
104 #ifdef USE_FACTORY
105  private:
106 
107  static ForceSmear *create_object_with_params(Projection *proj,
108  const Parameters& params)
109  { return new ForceSmear_APE_SF(proj, params); }
110 
111  public:
112  static bool register_factory()
113  {
114  bool init = true;
115  init &= ForceSmear::Factory_params::Register("APE_SF",
116  create_object_with_params);
117  return init;
118  }
119 #endif
120 
121 };
122 #endif
ForceSmear_APE_SF::m_U
std::vector< Field_G > m_U
Definition: forceSmear_APE_SF.h:48
bridgeIO.h
ForceSmear_APE_SF::m_v1
Field_G * m_v1
Definition: forceSmear_APE_SF.h:54
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
ForceSmear_APE_SF::m_phi
std::vector< double > m_phi
SF boundary condition at t=0.
Definition: forceSmear_APE_SF.h:40
Parameters
Class for parameters.
Definition: parameters.h:46
ForceSmear_APE_SF::m_xi
Field_G * m_xi
Definition: forceSmear_APE_SF.h:62
shiftField_lex.h
ForceSmear_APE_SF::m_wk
Mat_SU_N m_wk
SF boundary condition at t=0.
Definition: forceSmear_APE_SF.h:51
ForceSmear_APE_SF::force_udiv
void force_udiv(Field_G &Sigma, const Field_G &Sigma_p, const Field_G &U)
Definition: forceSmear_APE_SF.cpp:266
ForceSmear_APE_SF::get_parameters
void get_parameters(Parameters &params) const
Definition: forceSmear_APE_SF.cpp:241
ForceSmear_APE_SF::m_v2
Field_G * m_v2
Definition: forceSmear_APE_SF.h:55
ForceSmear_APE_SF::init
void init(const Parameters &params)
Definition: forceSmear_APE_SF.cpp:22
ForceSmear_APE_SF::set_parameters
void set_parameters(const Parameters &params)
Definition: forceSmear_APE_SF.cpp:86
ForceSmear_APE_SF::m_rho
std::vector< double > m_rho
Definition: forceSmear_APE_SF.h:39
ForceSmear_APE_SF::m_ct2
Field_G * m_ct2
Definition: forceSmear_APE_SF.h:61
projection.h
forceSmear.h
ForceSmear_APE_SF::~ForceSmear_APE_SF
~ForceSmear_APE_SF()
Definition: forceSmear_APE_SF.h:71
ForceSmear_APE_SF::m_ct1
Field_G * m_ct1
Definition: forceSmear_APE_SF.h:60
ForceSmear_APE_SF::m_Nvol
int m_Nvol
Definition: forceSmear_APE_SF.h:38
ForceSmear_APE_SF::m_vt3
Field_G * m_vt3
Definition: forceSmear_APE_SF.h:58
ForceSmear_APE_SF::class_name
static const std::string class_name
Definition: forceSmear_APE_SF.h:35
ForceSmear_APE_SF::m_vt1
Field_G * m_vt1
Definition: forceSmear_APE_SF.h:56
ForceSmear_APE_SF::m_iTheta
std::vector< Field_G > m_iTheta
Definition: forceSmear_APE_SF.h:49
ForceSmear_APE_SF::m_vt2
Field_G * m_vt2
Definition: forceSmear_APE_SF.h:57
SU_N::Mat_SU_N
Definition: mat_SU_N.h:36
ForceSmear_APE_SF::m_wkpr
Mat_SU_N m_wkpr
SF boundary condition at t=Nt.
Definition: forceSmear_APE_SF.h:52
field_SF.h
ForceSmear_APE_SF
Recursive calculation for APE smeared fermion force.
Definition: forceSmear_APE_SF.h:32
ForceSmear_APE_SF::m_proj
Projection * m_proj
Definition: forceSmear_APE_SF.h:44
AForceSmear
Base class for force calculation of smeared operators.
Definition: aforceSmear.h:33
ForceSmear_APE_SF::m_shift
ShiftField_lex * m_shift
Definition: forceSmear_APE_SF.h:46
AProjection
Base template class for projection operator into gauge group.
Definition: aprojection.h:31
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
ForceSmear_APE_SF::m_Ndim
int m_Ndim
Definition: forceSmear_APE_SF.h:38
ForceSmear_APE_SF::index
int index(int mu, int nu)
Definition: forceSmear_APE_SF.h:93
ForceSmear_APE_SF::m_phipr
std::vector< double > m_phipr
SF boundary condition at t=Nt.
Definition: forceSmear_APE_SF.h:41
ForceSmear_APE_SF::m_vl
Bridge::VerboseLevel m_vl
Definition: forceSmear_APE_SF.h:42
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:45
ForceSmear_APE_SF::tidyup
void tidyup()
Definition: forceSmear_APE_SF.cpp:70
Field_G
SU(N) gauge field.
Definition: field_G.h:38
smear_APE_SF.h
ForceSmear_APE_SF::ForceSmear_APE_SF
ForceSmear_APE_SF(Projection *proj, const Parameters &params)
Definition: forceSmear_APE_SF.h:66
ForceSmear_APE_SF::force_each
void force_each(Field_G &, const Field_G &, const Field_G &, const Field_G &, const Field_G &, const int mu, const int nu)
Definition: forceSmear_APE_SF.cpp:344
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572
ForceSmear_APE_SF::staple
void staple(Field_G &, const Field_G &, const Field_G &, const int mu, const int nu)
Definition: forceSmear_APE_SF.cpp:413