Bridge++  Ver. 2.0.2
fopr_CloverTerm_impl.cpp
Go to the documentation of this file.
1 
14 #include "fopr_CloverTerm_impl.h"
15 
16 namespace Org {
17  const std::string Fopr_CloverTerm::class_name = "Org::Fopr_CloverTerm";
18 
19 //====================================================================
20  void Fopr_CloverTerm::init(const Parameters& params)
21  {
23 
25 
26  vout.general(m_vl, "%s: construction\n", class_name.c_str());
28 
29  std::string repr;
30  if (!params.fetch_string("gamma_matrix_type", repr)) {
31  m_repr = repr;
32  } else {
33  m_repr = "Dirac"; // default
34  vout.general(m_vl, "gamma_matrix_type is not given: defalt = %s\n",
35  m_repr.c_str());
36  }
37  if ((m_repr != "Dirac") && (m_repr != "Chiral")) {
38  vout.crucial("Error in %s: irrelevant mult mode = %s\n",
39  class_name.c_str(), m_repr.c_str());
40  exit(EXIT_FAILURE);
41  }
42 
43  setup();
44 
45  set_parameters(params);
46 
48  vout.general(m_vl, "%s: construction finished.\n",
49  class_name.c_str());
50  }
51 
52 
53 //====================================================================
54  void Fopr_CloverTerm::init(const std::string repr)
55  {
57 
59 
60  vout.general(m_vl, "%s: construction (obsolete)\n",
61  class_name.c_str());
62 
63  m_repr = repr;
64 
65  setup();
66 
67  vout.general(m_vl, "%s: construction finished.\n",
68  class_name.c_str());
69  }
70 
71 
72 //====================================================================
74  {
79  m_NinF = 2 * m_Nc * m_Nd;
80 
81  m_U = 0;
82 
83  m_boundary.resize(m_Ndim);
84 
85  m_shift = new ShiftField_lex(2 * m_Nc * m_Nc);
86 
87  m_SG.resize(m_Ndim * m_Ndim);
88 
89  GammaMatrixSet *gmset = GammaMatrixSet::New(m_repr);
90 
91  m_GM5 = gmset->get_GM(gmset->GAMMA5);
92 
93  m_SG[sg_index(0, 1)] = gmset->get_GM(gmset->SIGMA12);
94  m_SG[sg_index(1, 2)] = gmset->get_GM(gmset->SIGMA23);
95  m_SG[sg_index(2, 0)] = gmset->get_GM(gmset->SIGMA31);
96  m_SG[sg_index(3, 0)] = gmset->get_GM(gmset->SIGMA41);
97  m_SG[sg_index(3, 1)] = gmset->get_GM(gmset->SIGMA42);
98  m_SG[sg_index(3, 2)] = gmset->get_GM(gmset->SIGMA43);
99 
100  m_SG[sg_index(1, 0)] = m_SG[sg_index(0, 1)].mult(-1);
101  m_SG[sg_index(2, 1)] = m_SG[sg_index(1, 2)].mult(-1);
102  m_SG[sg_index(0, 2)] = m_SG[sg_index(2, 0)].mult(-1);
103  m_SG[sg_index(0, 3)] = m_SG[sg_index(3, 0)].mult(-1);
104  m_SG[sg_index(1, 3)] = m_SG[sg_index(3, 1)].mult(-1);
105  m_SG[sg_index(2, 3)] = m_SG[sg_index(3, 2)].mult(-1);
106 
107  m_SG[sg_index(0, 0)] = gmset->get_GM(gmset->UNITY);
108  m_SG[sg_index(1, 1)] = gmset->get_GM(gmset->UNITY);
109  m_SG[sg_index(2, 2)] = gmset->get_GM(gmset->UNITY);
110  m_SG[sg_index(3, 3)] = gmset->get_GM(gmset->UNITY);
111  // these 4 gamma matrices are actually not used.
112 
113  delete gmset;
114  }
115 
116 
117 //====================================================================
119  {
120  delete m_shift;
121  }
122 
123 
124 //====================================================================
126  {
127 #pragma omp barrier
128 
129  int ith = ThreadManager::get_thread_id();
130 
131  std::string vlevel;
132  if (!params.fetch_string("verbose_level", vlevel)) {
133  if (ith == 0) m_vl = vout.set_verbose_level(vlevel);
134  }
135 #pragma omp barrier
136 
137  double kappa, cSW;
138  std::vector<int> bc;
139 
140  int err = 0;
141  err += params.fetch_double("hopping_parameter", kappa);
142  err += params.fetch_double("clover_coefficient", cSW);
143  err += params.fetch_int_vector("boundary_condition", bc);
144 
145  if (err) {
146  vout.crucial(m_vl, "Error at %s: input parameter not found\n",
147  class_name.c_str());
148  exit(EXIT_FAILURE);
149  }
150 
151  set_parameters(kappa, cSW, bc);
152  }
153 
154 
155 //====================================================================
156  void Fopr_CloverTerm::set_parameters(const double kappa,
157  const double cSW,
158  const std::vector<int> bc)
159  {
160  assert(bc.size() == m_Ndim);
161 
162 #pragma omp barrier
163 
164  int ith = ThreadManager::get_thread_id();
165 
166  if (ith == 0) {
167  m_kappa = kappa;
168  m_cSW = cSW;
169  m_boundary = bc;
170  }
171 
172 #pragma omp barrier
173 
174  vout.general(m_vl, "%s: input parameters\n", class_name.c_str());
175  vout.general(m_vl, " gamma matrix type = %s\n", m_repr.c_str());
176  vout.general(m_vl, " kappa = %12.8f\n", kappa);
177  vout.general(m_vl, " cSW = %12.8f\n", cSW);
178  for (int mu = 0; mu < m_Ndim; ++mu) {
179  vout.general(m_vl, " boundary[%d] = %2d\n", mu, bc[mu]);
180  }
181  }
182 
183 
184 //====================================================================
186  {
187  params.set_double("hopping_parameter", m_kappa);
188  params.set_double("clover_coefficient", m_cSW);
189  params.set_int_vector("boundary_condition", m_boundary);
190  params.set_string("gamma_matrix_type", m_repr);
191 
192  params.set_string("verbose_level", vout.get_verbose_level(m_vl));
193  }
194 
195 
196 //====================================================================
198  {
199  int nth = ThreadManager::get_num_threads();
200  vout.detailed(m_vl, "%s: set_config is called: num_threads = %d\n",
201  class_name.c_str(), nth);
202 
203  if (nth > 1) {
204  set_config_impl(U);
205  } else {
206  set_config_omp(U);
207  }
208 
209  vout.detailed(m_vl, "%s: set_config finished.\n", class_name.c_str());
210  }
211 
212 
213 //====================================================================
215  {
216 #pragma omp parallel
217  {
218  set_config_impl(U);
219  }
220  }
221 
222 
223 //====================================================================
225  {
226 #pragma omp barrier
227 
228  int ith = ThreadManager::get_thread_id();
229  if (ith == 0) m_U = (Field_G *)U;
230 
231 #pragma omp barrier
232 
233  set_csw();
234 
235 #pragma omp barrier
236  }
237 
238 
239 //====================================================================
240  void Fopr_CloverTerm::set_mode(const std::string mode)
241  {
242 #pragma omp barrier
243  int ith = ThreadManager::get_thread_id();
244  if (ith == 0) m_mode = mode;
245 #pragma omp barrier
246  }
247 
248 
249 //====================================================================
250  void Fopr_CloverTerm::mult(Field& v, const Field& w)
251  {
252  // csw kappa sigma_{mu nu} F_{mu nu}
253 
254  if ((m_mode == "D") || (m_mode == "F")) {
255  mult_sigmaF(v, w);
256  } else {
257  vout.crucial(m_vl, "Error at %s: undefined mode = %s\n",
258  class_name.c_str(), m_mode.c_str());
259  exit(EXIT_FAILURE);
260  }
261  }
262 
263 
264 //====================================================================
266  {
267  // csw kappa sigma_{mu nu} F_{mu nu}
268 
269  if ((m_mode == "D") || (m_mode == "F")) {
270  mult_sigmaF(v, w);
271  } else {
272  vout.crucial(m_vl, "Error at %s: undefined mode = %s\n",
273  class_name.c_str(), m_mode.c_str());
274  exit(EXIT_FAILURE);
275  }
276  }
277 
278 
279 //====================================================================
281  {
282  assert(w.check_size(m_NinF, m_Nvol, 1));
283  assert(v.check_size(m_NinF, m_Nvol, 1));
284 
285 #pragma omp barrier
286 
287  copy(m_v1, w);
288  mult_GM(m_v2, m_GM5, m_v1);
289  copy(v, m_v2);
290 
291 #pragma omp barrier
292  }
293 
294 
295 //====================================================================
297  const int mu, const int nu)
298  {
299  assert(mu != nu);
300 
301 #pragma omp barrier
302 
303  mult_iGM(v, m_SG[sg_index(mu, nu)], w);
304 
305 #pragma omp barrier
306  }
307 
308 
309 //====================================================================
311  {
312  mult_csw(v, f);
313  }
314 
315 
316 //====================================================================
318  {
319  // multiplies csw kappa sigma_{mu nu} F_{mu nu}
320  // NOTE: this is NOT 1 - csw kappa sigma_{mu nu} F_{mu nu}
321 
322 #pragma omp barrier
323 
324  copy(m_v1, w);
325 
326  m_v3.set(0.0);
327 
328  mult_iGM(m_v2, m_SG[sg_index(1, 2)], m_v1);
329  multadd_Field_Gn(m_v3, 0, m_Bx, 0, m_v2, 0, 1.0);
330 
331  mult_iGM(m_v2, m_SG[sg_index(2, 0)], m_v1);
332  multadd_Field_Gn(m_v3, 0, m_By, 0, m_v2, 0, 1.0);
333 
334  mult_iGM(m_v2, m_SG[sg_index(0, 1)], m_v1);
335  multadd_Field_Gn(m_v3, 0, m_Bz, 0, m_v2, 0, 1.0);
336 
337  mult_iGM(m_v2, m_SG[sg_index(3, 0)], m_v1);
338  multadd_Field_Gn(m_v3, 0, m_Ex, 0, m_v2, 0, 1.0);
339 
340  mult_iGM(m_v2, m_SG[sg_index(3, 1)], m_v1);
341  multadd_Field_Gn(m_v3, 0, m_Ey, 0, m_v2, 0, 1.0);
342 
343  mult_iGM(m_v2, m_SG[sg_index(3, 2)], m_v1);
344  multadd_Field_Gn(m_v3, 0, m_Ez, 0, m_v2, 0, 1.0);
345 
346  scal(m_v3, m_kappa * m_cSW);
347 
348  copy(v, m_v3);
349 
350 #pragma omp barrier
351  }
352 
353 
354 //====================================================================
356  {
357  set_fieldstrength(m_Bx, 1, 2);
358  set_fieldstrength(m_By, 2, 0);
359  set_fieldstrength(m_Bz, 0, 1);
360  set_fieldstrength(m_Ex, 3, 0);
361  set_fieldstrength(m_Ey, 3, 1);
362  set_fieldstrength(m_Ez, 3, 2);
363  }
364 
365 
366 //====================================================================
368  const int mu, const int nu)
369  {
370  copy(m_Umu, 0, *m_U, mu);
371  m_staple.upper(m_Cup, *m_U, mu, nu);
372  m_staple.lower(m_Cdn, *m_U, mu, nu);
373 
374  mult_Field_Gnd(Fst, 0, m_Umu, 0, m_Cup, 0);
375  multadd_Field_Gnd(Fst, 0, m_Umu, 0, m_Cdn, 0, -1.0);
376 
377  mult_Field_Gdn(m_u1, 0, m_Cup, 0, m_Umu, 0);
378  multadd_Field_Gdn(m_u1, 0, m_Cdn, 0, m_Umu, 0, -1.0);
379 
380  m_shift->forward(m_u2, m_u1, mu);
381  axpy(Fst, 1.0, m_u2);
382 
383  ah_Field_G(Fst, 0);
384  scal(Fst, 0.25);
385  }
386 
387 
388 //====================================================================
390  {
391  // Counting of floating point operations in giga unit.
392  // The following counting explicitly depends on the implementation
393  // and to be recalculated when the code is modified.
394  // Present counting is based on rev.1131. [10 Sep 2014 H.Matsufuru]
395 
396  const int Nvol = CommonParameters::Nvol();
397  const int NPE = CommonParameters::NPE();
398 
399  const int flop_site = m_Nc * m_Nd * (2 + 12 + 48 * m_Nc);
400 
401  const double gflop = flop_site * (Nvol * (NPE / 1.0e+9));
402 
403  return gflop;
404  }
405 
406 
407 //====================================================================
408 }
409 //============================================================END=====
GammaMatrixSet
Set of Gamma Matrices: basis class.
Definition: gammaMatrixSet.h:37
Org::Fopr_CloverTerm::mult_csw
void mult_csw(Field &, const Field &)
Definition: fopr_CloverTerm_impl.cpp:317
Org::Fopr_CloverTerm::get_parameters
void get_parameters(Parameters &params) const
gets parameters by a Parameter object: to be implemented in a subclass.
Definition: fopr_CloverTerm_impl.cpp:185
Org::Fopr_CloverTerm::m_Nd
int m_Nd
Definition: fopr_CloverTerm_impl.h:73
Org::Fopr_CloverTerm::mult_gm5
void mult_gm5(Field &v, const Field &w)
multiplies gamma_5 matrix.
Definition: fopr_CloverTerm_impl.cpp:280
Org::Fopr_CloverTerm::m_Ndim
int m_Ndim
Definition: fopr_CloverTerm_impl.h:73
GammaMatrixSet::GAMMA5
@ GAMMA5
Definition: gammaMatrixSet.h:48
Org::Fopr_CloverTerm::m_mode
std::string m_mode
Definition: fopr_CloverTerm_impl.h:70
mult_Field_Gdn
void mult_Field_Gdn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
Definition: field_G_imp.cpp:134
Parameters::set_string
void set_string(const string &key, const string &value)
Definition: parameters.cpp:39
Org::Fopr_CloverTerm::m_shift
ShiftField_lex * m_shift
Definition: fopr_CloverTerm_impl.h:78
ShiftField_lex::forward
void forward(Field &, const Field &, const int mu)
Definition: shiftField_lex.cpp:79
ThreadManager::get_num_threads
static int get_num_threads()
returns available number of threads.
Definition: threadManager.cpp:246
Org::Fopr_CloverTerm::set_fieldstrength
void set_fieldstrength(Field_G &, const int, const int)
Definition: fopr_CloverTerm_impl.cpp:367
CommonParameters::Ndim
static int Ndim()
Definition: commonParameters.h:117
Org::Fopr_CloverTerm::mult_dag
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult.
Definition: fopr_CloverTerm_impl.cpp:265
Org::Fopr_CloverTerm::m_u2
Field_G m_u2
working field
Definition: fopr_CloverTerm_impl.h:84
mult_GM
void mult_GM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication
Definition: field_F_imp.cpp:198
Field::set
void set(const int jin, const int site, const int jex, double v)
Definition: field.h:175
Parameters
Class for parameters.
Definition: parameters.h:46
GammaMatrixSet::UNITY
@ UNITY
Definition: gammaMatrixSet.h:48
Parameters::set_double
void set_double(const string &key, const double value)
Definition: parameters.cpp:33
Bridge::BridgeIO::decrease_indent
void decrease_indent()
Definition: bridgeIO.h:86
Org::Fopr_CloverTerm::m_By
Field_G m_By
Definition: fopr_CloverTerm_impl.h:80
Org::Fopr_CloverTerm::m_vl
Bridge::VerboseLevel m_vl
Definition: fopr_CloverTerm_impl.h:68
Bridge::BridgeIO::increase_indent
void increase_indent()
Definition: bridgeIO.h:85
Bridge::BridgeIO::detailed
void detailed(const char *format,...)
Definition: bridgeIO.cpp:219
Org::Fopr_CloverTerm::m_v1
Field_F m_v1
Definition: fopr_CloverTerm_impl.h:85
Org::Fopr_CloverTerm::m_Cdn
Field_G m_Cdn
Definition: fopr_CloverTerm_impl.h:84
Field::check_size
bool check_size(const int nin, const int nvol, const int nex) const
checking size parameters. [23 May 2016 H.Matsufuru]
Definition: field.h:135
CommonParameters::Nvol
static int Nvol()
Definition: commonParameters.h:109
Org::Fopr_CloverTerm::set_config_omp
void set_config_omp(Field *U)
Definition: fopr_CloverTerm_impl.cpp:214
Staple_lex::lower
void lower(Field_G &, const Field_G &, const int mu, const int nu)
constructs lower staple in mu-nu plane.
Definition: staple_lex.cpp:286
axpy
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
Definition: field.cpp:380
fopr_CloverTerm_impl.h
Org::Fopr_CloverTerm::mult_isigma
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
Definition: fopr_CloverTerm_impl.cpp:296
Org::Fopr_CloverTerm::set_config
void set_config(Field *U)
sets the gauge configuration.
Definition: fopr_CloverTerm_impl.cpp:197
Org::Fopr_CloverTerm::m_kappa
double m_kappa
Definition: fopr_CloverTerm_impl.h:63
Org::Fopr_CloverTerm::m_Bz
Field_G m_Bz
Definition: fopr_CloverTerm_impl.h:80
Org::Fopr_CloverTerm::set_parameters
void set_parameters(const Parameters &params)
sets parameters by a Parameter object: to be implemented in a subclass.
Definition: fopr_CloverTerm_impl.cpp:125
Org::Fopr_CloverTerm::class_name
static const std::string class_name
Definition: fopr_CloverTerm_impl.h:58
copy
void copy(Field &y, const Field &x)
copy(y, x): y = x
Definition: field.cpp:212
Org::Fopr_CloverTerm::tidyup
void tidyup()
final clean-up.
Definition: fopr_CloverTerm_impl.cpp:118
Org::Fopr_CloverTerm::set_csw
void set_csw()
Definition: fopr_CloverTerm_impl.cpp:355
multadd_Field_Gn
void multadd_Field_Gn(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2, const double a)
Definition: field_F_imp.cpp:116
Org::Fopr_CloverTerm::m_SG
std::vector< GammaMatrix > m_SG
Definition: fopr_CloverTerm_impl.h:87
Org::Fopr_CloverTerm::flop_count
double flop_count()
this returns the number of floating point operations.
Definition: fopr_CloverTerm_impl.cpp:389
GammaMatrixSet::SIGMA41
@ SIGMA41
Definition: gammaMatrixSet.h:52
Org::Fopr_CloverTerm::m_Ex
Field_G m_Ex
Definition: fopr_CloverTerm_impl.h:80
Org::Fopr_CloverTerm::m_NinF
int m_NinF
Definition: fopr_CloverTerm_impl.h:73
CommonParameters::Nc
static int Nc()
Definition: commonParameters.h:115
Org::Fopr_CloverTerm::mult
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field.
Definition: fopr_CloverTerm_impl.cpp:250
Org::Fopr_CloverTerm::m_u1
Field_G m_u1
Definition: fopr_CloverTerm_impl.h:84
ah_Field_G
void ah_Field_G(Field_G &W, const int ex)
Definition: field_G_imp.cpp:462
mult_iGM
void mult_iGM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication (i is multiplied)
Definition: field_F_imp.cpp:250
Org::Fopr_CloverTerm::m_Bx
Field_G m_Bx
Definition: fopr_CloverTerm_impl.h:80
Org::Fopr_CloverTerm::mult_sigmaF
void mult_sigmaF(Field &, const Field &)
Definition: fopr_CloverTerm_impl.cpp:310
Org::Fopr_CloverTerm::set_config_impl
void set_config_impl(Field *U)
Definition: fopr_CloverTerm_impl.cpp:224
Parameters::fetch_int_vector
int fetch_int_vector(const string &key, vector< int > &value) const
Definition: parameters.cpp:429
Org::Fopr_CloverTerm::m_v2
Field_F m_v2
Definition: fopr_CloverTerm_impl.h:85
Org::Fopr_CloverTerm::sg_index
int sg_index(const int mu, const int nu)
Definition: fopr_CloverTerm_impl.h:168
Org::Fopr_CloverTerm::m_cSW
double m_cSW
Definition: fopr_CloverTerm_impl.h:64
Org::Fopr_CloverTerm::m_staple
Staple_lex m_staple
Definition: fopr_CloverTerm_impl.h:79
Org
Clover term operator.
Definition: fopr_CloverTerm_eo_impl.cpp:23
CommonParameters::NPE
static int NPE()
Definition: commonParameters.h:101
Parameters::set_int_vector
void set_int_vector(const string &key, const vector< int > &value)
Definition: parameters.cpp:45
GammaMatrixSet::SIGMA42
@ SIGMA42
Definition: gammaMatrixSet.h:52
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
multadd_Field_Gnd
void multadd_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
Definition: field_G_imp.cpp:335
Org::Fopr_CloverTerm::m_GM5
GammaMatrix m_GM5
Definition: fopr_CloverTerm_impl.h:88
Staple_lex::upper
void upper(Field_G &, const Field_G &, const int mu, const int nu)
constructs upper staple in mu-nu plane.
Definition: staple_lex.cpp:263
Org::Fopr_CloverTerm::init
void init(const Parameters &params)
initialization (standard).
Definition: fopr_CloverTerm_impl.cpp:20
CommonParameters::Nd
static int Nd()
Definition: commonParameters.h:116
CommonParameters::Vlevel
static Bridge::VerboseLevel Vlevel()
Definition: commonParameters.h:122
Bridge::BridgeIO::set_verbose_level
static VerboseLevel set_verbose_level(const std::string &str)
Definition: bridgeIO.cpp:133
Org::Fopr_CloverTerm::m_Ey
Field_G m_Ey
Definition: fopr_CloverTerm_impl.h:80
Org::Fopr_CloverTerm::m_repr
std::string m_repr
Definition: fopr_CloverTerm_impl.h:66
GammaMatrixSet::SIGMA23
@ SIGMA23
Definition: gammaMatrixSet.h:51
Org::Fopr_CloverTerm::setup
void setup()
initialization common part.
Definition: fopr_CloverTerm_impl.cpp:73
Org::Fopr_CloverTerm::m_Nvol
int m_Nvol
Definition: fopr_CloverTerm_impl.h:74
scal
void scal(Field &x, const double a)
scal(x, a): x = a * x
Definition: field.cpp:261
Parameters::fetch_string
int fetch_string(const string &key, string &value) const
Definition: parameters.cpp:378
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Parameters::fetch_double
int fetch_double(const string &key, double &value) const
Definition: parameters.cpp:327
GammaMatrixSet::SIGMA12
@ SIGMA12
Definition: gammaMatrixSet.h:51
GammaMatrixSet::get_GM
GammaMatrix get_GM(GMspecies spec)
Definition: gammaMatrixSet.h:76
Org::Fopr_CloverTerm::m_Umu
Field_G m_Umu
Definition: fopr_CloverTerm_impl.h:84
Bridge::BridgeIO::crucial
void crucial(const char *format,...)
Definition: bridgeIO.cpp:180
Org::Fopr_CloverTerm::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: fopr_CloverTerm_impl.cpp:240
Field
Container of Field-type object.
Definition: field.h:46
GammaMatrixSet::SIGMA31
@ SIGMA31
Definition: gammaMatrixSet.h:51
Org::Fopr_CloverTerm::m_U
const Field_G * m_U
pointer to gauge configuration.
Definition: fopr_CloverTerm_impl.h:76
ThreadManager::get_thread_id
static int get_thread_id()
returns thread id.
Definition: threadManager.cpp:253
GammaMatrixSet::SIGMA43
@ SIGMA43
Definition: gammaMatrixSet.h:52
Org::Fopr_CloverTerm::m_boundary
std::vector< int > m_boundary
Definition: fopr_CloverTerm_impl.h:65
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Org::Fopr_CloverTerm::m_Cup
Field_G m_Cup
Definition: fopr_CloverTerm_impl.h:84
Bridge::BridgeIO::general
void general(const char *format,...)
Definition: bridgeIO.cpp:200
multadd_Field_Gdn
void multadd_Field_Gdn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
Definition: field_G_imp.cpp:293
Org::Fopr_CloverTerm::m_Nc
int m_Nc
Definition: fopr_CloverTerm_impl.h:73
Org::Fopr_CloverTerm::m_v3
Field_F m_v3
working field
Definition: fopr_CloverTerm_impl.h:85
mult_Field_Gnd
void mult_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
Definition: field_G_imp.cpp:173
ThreadManager::assert_single_thread
static void assert_single_thread(const std::string &class_name)
assert currently running on single thread.
Definition: threadManager.cpp:372
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Bridge::BridgeIO::get_verbose_level
static std::string get_verbose_level(const VerboseLevel vl)
Definition: bridgeIO.cpp:154
Org::Fopr_CloverTerm::m_Ez
Field_G m_Ez
field strength.
Definition: fopr_CloverTerm_impl.h:80