Bridge++  Ver.2.1.3
projection_Stout_SU3.h
Go to the documentation of this file.
1 
10 #ifndef PROJECTION_STOUT_SU3_INCLUDED
11 #define PROJECTION_STOUT_SU3_INCLUDED
12 
13 #include "lib/Smear/projection.h"
14 #include "lib/IO/bridgeIO.h"
15 using Bridge::vout;
16 
18 
29 {
30  public:
31  static const std::string class_name;
32 
33  private:
35 
36  public:
37 
39 
40  Projection_Stout_SU3(const Parameters& params) { init(params); }
41 
43 
44  void set_parameters(const Parameters& param);
45 
46  void get_parameters(Parameters& param) const;
47 
49  void project(Field_G& U,
50  const double alpha,
51  const Field_G& C, const Field_G& Uorg);
52 
54  void force_recursive(Field_G& Xi, Field_G& iTheta,
55  const double alpha, const Field_G& Sigmap,
56  const Field_G& C, const Field_G& U);
57 
58  // void print_stat();
59 
60  private:
61 
62  void init();
63 
64  void init(const Parameters& params);
65 
66  void exp_iQ(Field_G& e_iQ, const Field_G& iQ);
67  void exp_iQ_bf(Field_G& e_iQ, const Field_G& iQ);
68 
69  void set_uw(double& u, double& w,
70  const Mat_SU_N& iQ2, const Mat_SU_N& iQ3);
71 
72  void set_fj(dcomplex& f0, dcomplex& f1, dcomplex& f2,
73  const double& u, const double& w);
74 
75  double func_xi0(const double w);
76  double func_xi1(const double w);
77 
78 #ifdef USE_FACTORY
79  private:
80 
81  static Projection *create_object()
82  { return new Projection_Stout_SU3(); }
83 
84  static Projection *create_object_with_params(const Parameters& params)
85  { return new Projection_Stout_SU3(params); }
86 
87  public:
88  static bool register_factory()
89  {
90  bool init = true;
91  init &= Projection::Factory::Register("Stout_SU3", create_object);
92  init &= Projection::Factory_params::Register("Stout_SU3",
93  create_object_with_params);
94  return init;
95  }
96 #endif
97 };
98 #endif
Projection_Stout_SU3::get_parameters
void get_parameters(Parameters &param) const
Definition: projection_Stout_SU3.cpp:89
bridgeIO.h
Projection_Stout_SU3
Stout(exponential)-type projection to SU(Nc=3) gauge group.
Definition: projection_Stout_SU3.h:28
Projection_Stout_SU3::m_vl
Bridge::VerboseLevel m_vl
Definition: projection_Stout_SU3.h:34
Parameters
Class for parameters.
Definition: parameters.h:46
Projection_Stout_SU3::exp_iQ
void exp_iQ(Field_G &e_iQ, const Field_G &iQ)
Definition: projection_Stout_SU3.cpp:180
Projection_Stout_SU3::init
void init()
Definition: projection_Stout_SU3.cpp:56
Projection_Stout_SU3::Projection_Stout_SU3
Projection_Stout_SU3(const Parameters &params)
Definition: projection_Stout_SU3.h:40
Projection_Stout_SU3::Projection_Stout_SU3
Projection_Stout_SU3()
Definition: projection_Stout_SU3.h:38
projection.h
Projection_Stout_SU3::force_recursive
void force_recursive(Field_G &Xi, Field_G &iTheta, const double alpha, const Field_G &Sigmap, const Field_G &C, const Field_G &U)
determination of fields for force calculation
Definition: projection_Stout_SU3.cpp:239
Projection_Stout_SU3::set_parameters
void set_parameters(const Parameters &param)
Definition: projection_Stout_SU3.cpp:79
Projection_Stout_SU3::exp_iQ_bf
void exp_iQ_bf(Field_G &e_iQ, const Field_G &iQ)
Definition: projection_Stout_SU3.cpp:516
Projection_Stout_SU3::class_name
static const std::string class_name
Definition: projection_Stout_SU3.h:31
Projection_Stout_SU3::set_fj
void set_fj(dcomplex &f0, dcomplex &f1, dcomplex &f2, const double &u, const double &w)
Definition: projection_Stout_SU3.cpp:438
Projection_Stout_SU3::set_uw
void set_uw(double &u, double &w, const Mat_SU_N &iQ2, const Mat_SU_N &iQ3)
Definition: projection_Stout_SU3.cpp:470
SU_N::Mat_SU_N
Definition: mat_SU_N.h:36
Projection_Stout_SU3::func_xi1
double func_xi1(const double w)
Definition: projection_Stout_SU3.cpp:498
AProjection
Base template class for projection operator into gauge group.
Definition: aprojection.h:31
Projection_Stout_SU3::project
void project(Field_G &U, const double alpha, const Field_G &C, const Field_G &Uorg)
projection U = P[alpha, C, Uorg]
Definition: projection_Stout_SU3.cpp:96
Projection_Stout_SU3::~Projection_Stout_SU3
~Projection_Stout_SU3()
Definition: projection_Stout_SU3.h:42
Projection_Stout_SU3::func_xi0
double func_xi0(const double w)
Definition: projection_Stout_SU3.cpp:487
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:45
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572