CHROMA
aniso_sym_shared_functions.h
Go to the documentation of this file.
1 #ifndef __aniso_sym_shared_functions_h__
2 #define __aniso_sym_shared_functions_h__
3 
4 #include "chromabase.h"
5 
6 // \brief Shared functions for anisotropic Symanzik improved actions
7 namespace Chroma {
8  namespace AnisoSym {
9 
10  // Compute the contributions of a plaguette and rectangle in the mu.nu
11  // plane to the MD force.
12  //
13  // Notes: since the mu,nu and nu,mu plaquettes are identical, the
14  // plaquette contribution will only be calculated if mu < nu.
15  //
16  // If one wants to omit the contributions of the rectangle that is
17  // 2 link long in the time dimension, one should set noTemporal2Link
18  // to true.
19 
20  // Suggested call sequence:
21  // ds_tmp = zero;
22  // for(int mu=0; mu < Nd; mu++) {
23  // for(int nu=0; nu < Nd; nu++) {
24  // if( mu == nu ) continue;
25  //
26  // deriv_part( mu, nu, t_dir,
27  // c_0[mu][nu], c_1[mu][nu],
28  // noTemporal2Link,
29  // ds_tmp,
30  // u )
31  //
32  // }
33  // }
34  //
35  // for(int mu=0; mu < Nd; mu++) {
36  // ds_u[mu] = u[mu]*ds_tmp[mu];
37  // }
38  void deriv_part(const int mu,
39  const int nu,
40  const int t_dir,
41  const Real& c_plaq_munu,
42  const Real& c_rect_munu,
43  const bool noTemporal2Link,
44  multi1d<LatticeColorMatrix>& ds_tmp,
45  const multi1d<LatticeColorMatrix>& u) ;
46 
47 
48  // Computes plaquettes of \mu x \nu plaquette and a 2 \mu x \nu
49  // rectangle. Returns a LatticeReal in lgimp.
50  //
51  //
52  // Suggested call sequence:
53  // LatticeReal lgimp=zero;
54  // for(int mu=0; mu < Nd; mu++) {
55  // for(int nu=0; nu < Nd; nu++) {
56  // if( mu == nu ) continue;
57  //
58  // S_part( mu, nu, t_dir,
59  // c_0[mu][nu], c_1[mu][nu],
60  // noTemporal2Link,
61  // lgimp
62  // u )
63  //
64  // }
65  // }
66  //
67  // S = Real(-1)/Real(Nc)*sum(lgimp);
68  void S_part(int mu, int nu, int t_dir,
69  Real c_plaq_munu,
70  Real c_rect_munu,
71  bool noTemporal2Link,
72  LatticeReal& lgimp,
73  const multi1d<LatticeColorMatrix>& u);
74 
75  }
76 }
77 
78 #endif
Primary include file for CHROMA library code.
int mu
Definition: cool.cc:24
int nu
Definition: cool.cc:25
void deriv_part(const int mu, const int nu, const int t_dir, const Real &c_plaq_munu, const Real &c_rect_munu, const bool noTemporal2Link, multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeColorMatrix > &u)
void S_part(int mu, int nu, int t_dir, Real c_plaq_munu, Real c_rect_munu, bool noTemporal2Link, LatticeReal &lgimp, const multi1d< LatticeColorMatrix > &u)
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u