00001 #ifndef __aniso_sym_shared_functions_h__ 00002 #define __aniso_sym_shared_functions_h__ 00003 00004 #include "chromabase.h" 00005 00006 // \brief Shared functions for anisotropic Symanzik improved actions 00007 namespace Chroma { 00008 namespace AnisoSym { 00009 00010 // Compute the contributions of a plaguette and rectangle in the mu.nu 00011 // plane to the MD force. 00012 // 00013 // Notes: since the mu,nu and nu,mu plaquettes are identical, the 00014 // plaquette contribution will only be calculated if mu < nu. 00015 // 00016 // If one wants to omit the contributions of the rectangle that is 00017 // 2 link long in the time dimension, one should set noTemporal2Link 00018 // to true. 00019 00020 // Suggested call sequence: 00021 // ds_tmp = zero; 00022 // for(int mu=0; mu < Nd; mu++) { 00023 // for(int nu=0; nu < Nd; nu++) { 00024 // if( mu == nu ) continue; 00025 // 00026 // deriv_part( mu, nu, t_dir, 00027 // c_0[mu][nu], c_1[mu][nu], 00028 // noTemporal2Link, 00029 // ds_tmp, 00030 // u ) 00031 // 00032 // } 00033 // } 00034 // 00035 // for(int mu=0; mu < Nd; mu++) { 00036 // ds_u[mu] = u[mu]*ds_tmp[mu]; 00037 // } 00038 void deriv_part(const int mu, 00039 const int nu, 00040 const int t_dir, 00041 const Real& c_plaq_munu, 00042 const Real& c_rect_munu, 00043 const bool noTemporal2Link, 00044 multi1d<LatticeColorMatrix>& ds_tmp, 00045 const multi1d<LatticeColorMatrix>& u) ; 00046 00047 00048 // Computes plaquettes of \mu x \nu plaquette and a 2 \mu x \nu 00049 // rectangle. Returns a LatticeReal in lgimp. 00050 // 00051 // 00052 // Suggested call sequence: 00053 // LatticeReal lgimp=zero; 00054 // for(int mu=0; mu < Nd; mu++) { 00055 // for(int nu=0; nu < Nd; nu++) { 00056 // if( mu == nu ) continue; 00057 // 00058 // S_part( mu, nu, t_dir, 00059 // c_0[mu][nu], c_1[mu][nu], 00060 // noTemporal2Link, 00061 // lgimp 00062 // u ) 00063 // 00064 // } 00065 // } 00066 // 00067 // S = Real(-1)/Real(Nc)*sum(lgimp); 00068 void S_part(int mu, int nu, int t_dir, 00069 Real c_plaq_munu, 00070 Real c_rect_munu, 00071 bool noTemporal2Link, 00072 LatticeReal& lgimp, 00073 const multi1d<LatticeColorMatrix>& u); 00074 00075 } 00076 } 00077 00078 #endif
1.4.7