14 int main(
int argc,
char *argv[])
20 const int nrow_arr[] = {2, 2, 2, 2};
21 multi1d<int> nrow(
Nd);
23 Layout::setLattSize(nrow);
27 multi1d<LatticeColorMatrix>
u(
Nd);
36 XMLFileWriter xml_out(
"./XMLDAT");
37 push(xml_out,
"t_forces");
40 typedef multi1d<LatticeColorMatrix>
P;
44 Real
beta = Real(2.0);
45 Real u_s = Real(0.78);
46 Real u_t = Real(0.96);
49 Real u_s_4 = u_s_2*u_s_2;
52 Real u_t_4 = u_t_2*u_t_2;
53 Real u_s_6 = u_s_2*u_s_4;
56 Real plaq_c_s =
beta * Real(5) / ( Real(3) * u_s_4 );
59 Real plaq_c_t =
beta * Real(4) / ( Real(3) * u_s_2 * u_t_2 );
62 Real rect_c_s = -
beta / ( Real(12)*u_s_6 );
63 Real rect_c_t_2 = -
beta / ( Real(12)*u_s_4*u_t_2);
65 Real rect_c_t_1 = -
beta / ( Real(12)*u_s_2*u_t_4);
67 bool no_temporal_2link =
true;
87 plaq->deriv(ds_plaq, gs);
88 rect->deriv(ds_rect, gs);
91 ds_plaq[
mu] += ds_rect[
mu];
104 const Q& u_bc = gs->getLinks();
108 if( aniso.
anisoP ==
true ) {
115 multi1d<LatticeColorMatrix> ds_tmp(
Nd);
121 if(
mu ==
nu )
continue;
127 c_munu_plaq = plaq_c_s/
xi_0;
128 c_munu_rect = rect_c_s/
xi_0;
132 c_munu_plaq = plaq_c_t *
xi_0;
133 c_munu_rect = rect_c_t_1 *
xi_0;
137 c_munu_plaq = plaq_c_t *
xi_0;
138 c_munu_rect = rect_c_t_2 *
xi_0;
156 ds_u[
mu] += u_bc[
mu]*ds_tmp[
mu];
163 diff_plaq.resize(
Nd);
164 diff_rect.resize(
Nd);
167 diff_plaq[
mu] = ds_plaq[
mu] - ds_u[
mu];
170 write(xml_out,
"DIFF_PLAQ", diff_plaq);
173 QDPIO::cout <<
"Diff Plaq["<<
mu<<
"] = " << norm2(diff_plaq[
mu]) << std::endl;
177 LatticeReal lgimp=
zero;
182 if(
mu ==
nu )
continue;
188 c_munu_plaq = plaq_c_s/
xi_0;
189 c_munu_rect = rect_c_s/
xi_0;
193 c_munu_plaq = plaq_c_t *
xi_0;
194 c_munu_rect = rect_c_t_1 *
xi_0;
198 c_munu_plaq = plaq_c_t *
xi_0;
199 c_munu_rect = rect_c_t_2 *
xi_0;
221 QDPIO::cout <<
"Manual S= " << s_manual << std::endl;
222 QDPIO::cout <<
"New S= " << s_old << std::endl;
223 QDPIO::cout <<
"Diff = " << s_old - s_manual << std::endl;
Spatial part of Tree level LW action.
Temporal Part of Tree Level LW gauge action.
Primary include file for CHROMA in application codes.
Create a simple gauge connection state.
Class for counted reference semantics.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
void gaugeStartup(XMLReader &gauge_file_xml, XMLReader &gauge_xml, multi1d< LatticeColorMatrix > &u, Cfg_t &cfg)
Initialize the gauge fields.
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)
multi1d< LatticeColorMatrix > P
static const LatticeInteger & beta(const int dim)
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::Q Q
push(xml_out,"Condensates")
void initialize(int *argc, char ***argv)
Chroma initialisation routine.
void finalize(void)
Chroma finalization routine.
FloatingPoint< double > Double
Simple gauge state and a creator.
Parameters for anisotropy.
Gauge configuration structure.
int main(int argc, char *argv[])
multi1d< LatticeColorMatrix > P