aniso_sym_shared_functions.h

Go to the documentation of this file.
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

Generated on Sun Nov 22 04:28:48 2009 for CHROMA by  doxygen 1.4.7