Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
force_F_Smeared.cpp
Go to the documentation of this file.
1 
14 #include "force_F_Smeared.h"
15 
16 const std::string Force_F_Smeared::class_name = "Force_F_Smeared";
17 
18 //====================================================================
20 {
21  const string str_vlevel = params.get_string("verbose_level");
22 
23  m_vl = vout.set_verbose_level(str_vlevel);
24 }
25 
26 
27 //====================================================================
28 void Force_F_Smeared::force_udiv(Field& force_, const Field& eta)
29 {
30  int Nvol = CommonParameters::Nvol();
31  int Ndim = CommonParameters::Ndim();
32 
33  Field_G force(Nvol, Ndim);
34 
35  int Nsmear = m_director_smear->get_Nsmear();
36 
37  if (Nsmear == 0) {
38  m_force->force_udiv(force, eta);
39  } else {
40 // Field_G *Uptr = m_director_smear->getptr_smearedConfig(Nsmear);
42 
43  m_force->set_config(Uptr);
44  m_force->force_udiv(force, eta);
45 
46  mult_jacobian(force);
47  }
48 
49  force_ = force;
50 }
51 
52 
53 //====================================================================
54 void Force_F_Smeared::force_udiv1(Field& force_, const Field& zeta, const Field& eta)
55 {
56  int Nvol = CommonParameters::Nvol();
57  int Ndim = CommonParameters::Ndim();
58 
59  Field_G force(Nvol, Ndim);
60 
61  int Nsmear = m_director_smear->get_Nsmear();
62 
63  if (Nsmear == 0) {
64  m_force->force_udiv1(force, zeta, eta);
65  } else {
66 // Field_G *Uptr = m_director_smear->getptr_smearedConfig(Nsmear);
68 
69  m_force->set_config(Uptr);
70  m_force->force_udiv1(force, zeta, eta);
71 
72  mult_jacobian(force);
73  }
74 
75  force_ = force;
76 }
77 
78 
79 //====================================================================
81 {
82  Field_G ftmp(force); // copy to temporal field.
83  int Nsmear = m_director_smear->get_Nsmear();
84 
85  for (int ismear = Nsmear - 1; ismear >= 0; --ismear) {
86 // Field_G *Uptr = m_director_smear->getptr_smearedConfig(ismear);
87  Field_G *Uptr = m_director_smear->get_config(ismear);
88 
89  m_force_smear->force_udiv(force, ftmp, *Uptr);
90 
91  if (ismear > 0) ftmp = force;
92  }
93 }
94 
95 
96 //====================================================================
97 //============================================================END=====
BridgeIO vout
Definition: bridgeIO.cpp:207
Bridge::VerboseLevel m_vl
Definition: force.h:76
Container of Field-type object.
Definition: field.h:37
virtual void set_config(Field *)=0
Class for parameters.
Definition: parameters.h:40
void set_parameters(const Parameters &)
ForceSmear * m_force_smear
SU(N) gauge field.
Definition: field_G.h:36
virtual void force_udiv(Field_G &, const Field_G &, const Field_G &)
Definition: forceSmear.h:50
void mult_jacobian(Field_G &force)
static const std::string class_name
virtual void force_udiv(Field &, const Field &)
Definition: force.h:59
int get_Nsmear()
get number of applied smearing operation
void force_udiv(Field &force, const Field &eta)
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
Director_Smear * m_director_smear
Field_G * get_config()
virtual void force_udiv1(Field &, const Field &, const Field &)
Definition: force.h:60
string get_string(const string &key) const
Definition: parameters.cpp:85
static VerboseLevel set_verbose_level(const std::string &str)
Definition: bridgeIO.cpp:191