mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-09 23:45:36 +00:00
Expose Nc as a compile time configure option.
Remove precision option
This commit is contained in:
parent
35a69a5133
commit
d201277652
@ -47,7 +47,7 @@ static constexpr int Ym = 5;
|
|||||||
static constexpr int Zm = 6;
|
static constexpr int Zm = 6;
|
||||||
static constexpr int Tm = 7;
|
static constexpr int Tm = 7;
|
||||||
|
|
||||||
static constexpr int Nc=3;
|
static constexpr int Nc=Config_Nc;
|
||||||
static constexpr int Ns=4;
|
static constexpr int Ns=4;
|
||||||
static constexpr int Nd=4;
|
static constexpr int Nd=4;
|
||||||
static constexpr int Nhs=2; // half spinor
|
static constexpr int Nhs=2; // half spinor
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/*************************************************************************************
|
/*************************************************************************************
|
||||||
|
|
||||||
Grid physics library, www.github.com/paboyle/Grid
|
Grid physics library, www.github.com/paboyle/Grid
|
||||||
|
|
||||||
@ -358,6 +358,7 @@ public:
|
|||||||
///////// Welcome message ////////////
|
///////// Welcome message ////////////
|
||||||
std::cout<<GridLogMessage << "=================================================================================="<<std::endl;
|
std::cout<<GridLogMessage << "=================================================================================="<<std::endl;
|
||||||
std::cout<<GridLogMessage << "Benchmark DWF on "<<L<<"^4 local volume "<<std::endl;
|
std::cout<<GridLogMessage << "Benchmark DWF on "<<L<<"^4 local volume "<<std::endl;
|
||||||
|
std::cout<<GridLogMessage << "* Nc : "<<Nc<<std::endl;
|
||||||
std::cout<<GridLogMessage << "* Global volume : "<<GridCmdVectorIntToString(latt4)<<std::endl;
|
std::cout<<GridLogMessage << "* Global volume : "<<GridCmdVectorIntToString(latt4)<<std::endl;
|
||||||
std::cout<<GridLogMessage << "* Ls : "<<Ls<<std::endl;
|
std::cout<<GridLogMessage << "* Ls : "<<Ls<<std::endl;
|
||||||
std::cout<<GridLogMessage << "* ranks : "<<NP <<std::endl;
|
std::cout<<GridLogMessage << "* ranks : "<<NP <<std::endl;
|
||||||
@ -386,7 +387,7 @@ public:
|
|||||||
typedef LatticeGaugeFieldF Gauge;
|
typedef LatticeGaugeFieldF Gauge;
|
||||||
|
|
||||||
///////// Source preparation ////////////
|
///////// Source preparation ////////////
|
||||||
Gauge Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
Gauge Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
Fermion src (FGrid); random(RNG5,src);
|
Fermion src (FGrid); random(RNG5,src);
|
||||||
Fermion src_e (FrbGrid);
|
Fermion src_e (FrbGrid);
|
||||||
Fermion src_o (FrbGrid);
|
Fermion src_o (FrbGrid);
|
||||||
@ -449,7 +450,13 @@ public:
|
|||||||
FGrid->Barrier();
|
FGrid->Barrier();
|
||||||
|
|
||||||
double volume=Ls; for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
|
double volume=Ls; for(int mu=0;mu<Nd;mu++) volume=volume*latt4[mu];
|
||||||
double flops=(1344.0*volume)/2;
|
|
||||||
|
// Nc=3 gives
|
||||||
|
// 1344= 3*(2*8+6)*2*8 + 8*3*2*2 + 3*4*2*8
|
||||||
|
// 1344 = Nc* (6+(Nc-1)*8)*2*Nd + Nd*Nc*2*2 + Nd*Nc*Ns*2
|
||||||
|
// double flops=(1344.0*volume)/2;
|
||||||
|
double fps = Nc* (6+(Nc-1)*8)*Ns*Nd + Nd*Nc*Ns + Nd*Nc*Ns*2;
|
||||||
|
double flops=(fps*volume)/2;
|
||||||
double mf_hi, mf_lo, mf_err;
|
double mf_hi, mf_lo, mf_err;
|
||||||
|
|
||||||
timestat.statistics(t_time);
|
timestat.statistics(t_time);
|
||||||
@ -464,6 +471,7 @@ public:
|
|||||||
if ( mflops>mflops_best ) mflops_best = mflops;
|
if ( mflops>mflops_best ) mflops_best = mflops;
|
||||||
if ( mflops<mflops_worst) mflops_worst= mflops;
|
if ( mflops<mflops_worst) mflops_worst= mflops;
|
||||||
|
|
||||||
|
std::cout<<GridLogMessage<< "Deo FlopsPerSite is "<<fps<<std::endl;
|
||||||
std::cout<<GridLogMessage << std::fixed << std::setprecision(1)<<"Deo mflop/s = "<< mflops << " ("<<mf_err<<") " << mf_lo<<"-"<<mf_hi <<std::endl;
|
std::cout<<GridLogMessage << std::fixed << std::setprecision(1)<<"Deo mflop/s = "<< mflops << " ("<<mf_err<<") " << mf_lo<<"-"<<mf_hi <<std::endl;
|
||||||
std::cout<<GridLogMessage << std::fixed << std::setprecision(1)<<"Deo mflop/s per rank "<< mflops/NP<<std::endl;
|
std::cout<<GridLogMessage << std::fixed << std::setprecision(1)<<"Deo mflop/s per rank "<< mflops/NP<<std::endl;
|
||||||
std::cout<<GridLogMessage << std::fixed << std::setprecision(1)<<"Deo mflop/s per node "<< mflops/NN<<std::endl;
|
std::cout<<GridLogMessage << std::fixed << std::setprecision(1)<<"Deo mflop/s per node "<< mflops/NN<<std::endl;
|
||||||
@ -540,7 +548,7 @@ public:
|
|||||||
typedef typename Action::FermionField Fermion;
|
typedef typename Action::FermionField Fermion;
|
||||||
typedef LatticeGaugeFieldF Gauge;
|
typedef LatticeGaugeFieldF Gauge;
|
||||||
|
|
||||||
Gauge Umu(FGrid); SU3::HotConfiguration(RNG4,Umu);
|
Gauge Umu(FGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
typename Action::ImplParams params;
|
typename Action::ImplParams params;
|
||||||
Action Ds(Umu,Umu,*FGrid,*FrbGrid,mass,c1,c2,u0,params);
|
Action Ds(Umu,Umu,*FGrid,*FrbGrid,mass,c1,c2,u0,params);
|
||||||
|
@ -108,7 +108,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
std::cout << GridLogMessage << "Drawing gauge field" << std::endl;
|
std::cout << GridLogMessage << "Drawing gauge field" << std::endl;
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
std::cout << GridLogMessage << "Random gauge initialised " << std::endl;
|
std::cout << GridLogMessage << "Random gauge initialised " << std::endl;
|
||||||
#if 0
|
#if 0
|
||||||
Umu=1.0;
|
Umu=1.0;
|
||||||
|
@ -63,7 +63,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
std::cout << GridLogMessage << "Drawing gauge field" << std::endl;
|
std::cout << GridLogMessage << "Drawing gauge field" << std::endl;
|
||||||
LatticeGaugeFieldF Umu(UGrid);
|
LatticeGaugeFieldF Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
std::cout << GridLogMessage << "Random gauge initialised " << std::endl;
|
std::cout << GridLogMessage << "Random gauge initialised " << std::endl;
|
||||||
|
|
||||||
RealD mass=0.1;
|
RealD mass=0.1;
|
||||||
|
@ -30,7 +30,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace Grid;
|
using namespace Grid;
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
int main (int argc, char ** argv)
|
int main (int argc, char ** argv)
|
||||||
@ -53,7 +53,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
std::cout << GridLogMessage << "Seeded"<<std::endl;
|
std::cout << GridLogMessage << "Seeded"<<std::endl;
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::cout << GridLogMessage << "made random gauge fields"<<std::endl;
|
std::cout << GridLogMessage << "made random gauge fields"<<std::endl;
|
||||||
|
|
||||||
|
52
configure.ac
52
configure.ac
@ -123,6 +123,24 @@ case ${ac_LAPACK} in
|
|||||||
AC_DEFINE([USE_LAPACK],[1],[use LAPACK]);;
|
AC_DEFINE([USE_LAPACK],[1],[use LAPACK]);;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
############### Nc
|
||||||
|
AC_ARG_ENABLE([Nc],
|
||||||
|
[AC_HELP_STRING([--enable-Nc=2|3|4], [enable number of colours])],
|
||||||
|
[ac_Nc=${enable_Nc}], [ac_Nc=3])
|
||||||
|
|
||||||
|
case ${ac_Nc} in
|
||||||
|
2)
|
||||||
|
AC_DEFINE([Config_Nc],[4],[Gauge group Nc]);;
|
||||||
|
3)
|
||||||
|
AC_DEFINE([Config_Nc],[4],[Gauge group Nc]);;
|
||||||
|
4)
|
||||||
|
AC_DEFINE([Config_Nc],[4],[Gauge group Nc]);;
|
||||||
|
5)
|
||||||
|
AC_DEFINE([Config_Nc],[5],[Gauge group Nc]);;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR(["Unsupport gauge group choice Nc = ${ac_Nc}"]);;
|
||||||
|
esac
|
||||||
|
|
||||||
############### FP16 conversions
|
############### FP16 conversions
|
||||||
AC_ARG_ENABLE([sfw-fp16],
|
AC_ARG_ENABLE([sfw-fp16],
|
||||||
[AC_HELP_STRING([--enable-sfw-fp16=yes|no], [enable software fp16 comms])],
|
[AC_HELP_STRING([--enable-sfw-fp16=yes|no], [enable software fp16 comms])],
|
||||||
@ -459,23 +477,24 @@ esac
|
|||||||
AM_CXXFLAGS="$SIMD_FLAGS $AM_CXXFLAGS"
|
AM_CXXFLAGS="$SIMD_FLAGS $AM_CXXFLAGS"
|
||||||
AM_CFLAGS="$SIMD_FLAGS $AM_CFLAGS"
|
AM_CFLAGS="$SIMD_FLAGS $AM_CFLAGS"
|
||||||
|
|
||||||
############### Precision selection
|
############### Precision selection - deprecate
|
||||||
AC_ARG_ENABLE([precision],
|
#AC_ARG_ENABLE([precision],
|
||||||
[AC_HELP_STRING([--enable-precision=single|double],
|
# [AC_HELP_STRING([--enable-precision=single|double],
|
||||||
[Select default word size of Real])],
|
# [Select default word size of Real])],
|
||||||
[ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
|
# [ac_PRECISION=${enable_precision}],[ac_PRECISION=double])
|
||||||
|
|
||||||
case ${ac_PRECISION} in
|
AC_DEFINE([GRID_DEFAULT_PRECISION_DOUBLE],[1],[GRID_DEFAULT_PRECISION is DOUBLE] )
|
||||||
single)
|
|
||||||
AC_DEFINE([GRID_DEFAULT_PRECISION_SINGLE],[1],[GRID_DEFAULT_PRECISION is SINGLE] )
|
#case ${ac_PRECISION} in
|
||||||
;;
|
# single)
|
||||||
double)
|
# AC_DEFINE([GRID_DEFAULT_PRECISION_SINGLE],[1],[GRID_DEFAULT_PRECISION is SINGLE] )
|
||||||
AC_DEFINE([GRID_DEFAULT_PRECISION_DOUBLE],[1],[GRID_DEFAULT_PRECISION is DOUBLE] )
|
# ;;
|
||||||
;;
|
# double)
|
||||||
*)
|
# ;;
|
||||||
AC_MSG_ERROR([${ac_PRECISION} unsupported --enable-precision option]);
|
# *)
|
||||||
;;
|
# AC_MSG_ERROR([${ac_PRECISION} unsupported --enable-precision option]);
|
||||||
esac
|
# ;;
|
||||||
|
#esac
|
||||||
|
|
||||||
###################### Shared memory allocation technique under MPI3
|
###################### Shared memory allocation technique under MPI3
|
||||||
AC_ARG_ENABLE([shm],[AC_HELP_STRING([--enable-shm=shmopen|shmget|hugetlbfs|shmnone],
|
AC_ARG_ENABLE([shm],[AC_HELP_STRING([--enable-shm=shmopen|shmget|hugetlbfs|shmnone],
|
||||||
@ -656,6 +675,7 @@ os (target) : $target_os
|
|||||||
compiler vendor : ${ax_cv_cxx_compiler_vendor}
|
compiler vendor : ${ax_cv_cxx_compiler_vendor}
|
||||||
compiler version : ${ax_cv_gxx_version}
|
compiler version : ${ax_cv_gxx_version}
|
||||||
----- BUILD OPTIONS -----------------------------------
|
----- BUILD OPTIONS -----------------------------------
|
||||||
|
Nc : ${ac_Nc}
|
||||||
SIMD : ${ac_SIMD}${SIMD_GEN_WIDTH_MSG}
|
SIMD : ${ac_SIMD}${SIMD_GEN_WIDTH_MSG}
|
||||||
Threading : ${ac_openmp}
|
Threading : ${ac_openmp}
|
||||||
Acceleration : ${ac_ACCELERATOR}
|
Acceleration : ${ac_ACCELERATOR}
|
||||||
|
@ -69,7 +69,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,&Fine);
|
std::vector<LatticeColourMatrix> U(4,&Fine);
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNGa,Umu);
|
SU<Nc>::HotConfiguration(pRNGa,Umu);
|
||||||
|
|
||||||
|
|
||||||
FieldMetaData header;
|
FieldMetaData header;
|
||||||
|
@ -84,7 +84,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,&Fine);
|
std::vector<LatticeColourMatrix> U(4,&Fine);
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNGa,Umu);
|
SU<Nc>::HotConfiguration(pRNGa,Umu);
|
||||||
|
|
||||||
FieldMetaData header;
|
FieldMetaData header;
|
||||||
std::string file("./ckpoint_lat.4000");
|
std::string file("./ckpoint_lat.4000");
|
||||||
|
@ -80,7 +80,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG sRNG5(sFGrid); sRNG5.SeedFixedIntegers(seeds5);
|
GridParallelRNG sRNG5(sFGrid); sRNG5.SeedFixedIntegers(seeds5);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
RealD mass=0.1;
|
RealD mass=0.1;
|
||||||
RealD M5 =1.8;
|
RealD M5 =1.8;
|
||||||
|
@ -202,7 +202,7 @@ int main (int argc, char ** argv) {
|
|||||||
std::vector<int> seeds4({1,2,3,4});
|
std::vector<int> seeds4({1,2,3,4});
|
||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
// FieldMetaData header;
|
// FieldMetaData header;
|
||||||
// NerscIO::readConfiguration(Umu,header,Params.config);
|
// NerscIO::readConfiguration(Umu,header,Params.config);
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeGaugeFieldD Umu(UGrid);
|
LatticeGaugeFieldD Umu(UGrid);
|
||||||
LatticeGaugeFieldF Umu_f(UGrid_f);
|
LatticeGaugeFieldF Umu_f(UGrid_f);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
precisionChange(Umu_f,Umu);
|
precisionChange(Umu_f,Umu);
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeGaugeFieldD Umu(UGrid);
|
LatticeGaugeFieldD Umu(UGrid);
|
||||||
LatticeGaugeFieldF Umu_f(UGrid_f);
|
LatticeGaugeFieldF Umu_f(UGrid_f);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
precisionChange(Umu_f,Umu);
|
precisionChange(Umu_f,Umu);
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion ref(FGrid); ref=Zero();
|
LatticeFermion ref(FGrid); ref=Zero();
|
||||||
LatticeFermion tmp(FGrid);
|
LatticeFermion tmp(FGrid);
|
||||||
LatticeFermion err(FGrid);
|
LatticeFermion err(FGrid);
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -131,7 +131,7 @@ int main (int argc, char ** argv)
|
|||||||
// LatticeFermion result(FGrid); result=Zero();
|
// LatticeFermion result(FGrid); result=Zero();
|
||||||
// LatticeGaugeField Umu(UGrid);
|
// LatticeGaugeField Umu(UGrid);
|
||||||
|
|
||||||
// SU3::HotConfiguration(RNG4,Umu);
|
// SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
// std::vector<LatticeColourMatrix> U(4,UGrid);
|
// std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
// for(int mu=0;mu<Nd;mu++){
|
// for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -69,7 +69,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG5(FGrid); RNG5.SeedFixedIntegers(seeds5);
|
GridParallelRNG RNG5(FGrid); RNG5.SeedFixedIntegers(seeds5);
|
||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
RealD mass=0.1;
|
RealD mass=0.1;
|
||||||
|
@ -73,7 +73,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion ref (FGrid); ref = Zero();
|
LatticeFermion ref (FGrid); ref = Zero();
|
||||||
LatticeFermion tmp (FGrid); tmp = Zero();
|
LatticeFermion tmp (FGrid); tmp = Zero();
|
||||||
LatticeFermion err (FGrid); err = Zero();
|
LatticeFermion err (FGrid); err = Zero();
|
||||||
LatticeGaugeField Umu (UGrid); SU3::HotConfiguration(RNG4, Umu);
|
LatticeGaugeField Umu (UGrid); SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
// Only one non-zero (y)
|
// Only one non-zero (y)
|
||||||
|
@ -72,7 +72,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion ref(FGrid); ref=Zero();
|
LatticeFermion ref(FGrid); ref=Zero();
|
||||||
LatticeFermion tmp(FGrid); tmp=Zero();
|
LatticeFermion tmp(FGrid); tmp=Zero();
|
||||||
LatticeFermion err(FGrid); tmp=Zero();
|
LatticeFermion err(FGrid); tmp=Zero();
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
// Only one non-zero (y)
|
// Only one non-zero (y)
|
||||||
|
@ -138,7 +138,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeFieldD Umu(&GRID);
|
LatticeGaugeFieldD Umu(&GRID);
|
||||||
|
|
||||||
SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
|
SU<Nc>::ColdConfiguration(pRNG,Umu); // Unit gauge
|
||||||
// Umu=Zero();
|
// Umu=Zero();
|
||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
// Wilson test
|
// Wilson test
|
||||||
|
@ -73,11 +73,11 @@ int main (int argc, char ** argv)
|
|||||||
LatticeColourMatrix xform2(&GRID); // Gauge xform
|
LatticeColourMatrix xform2(&GRID); // Gauge xform
|
||||||
LatticeColourMatrix xform3(&GRID); // Gauge xform
|
LatticeColourMatrix xform3(&GRID); // Gauge xform
|
||||||
|
|
||||||
SU3::ColdConfiguration(pRNG,Umu); // Unit gauge
|
SU<Nc>::ColdConfiguration(pRNG,Umu); // Unit gauge
|
||||||
Uorg=Umu;
|
Uorg=Umu;
|
||||||
Urnd=Umu;
|
Urnd=Umu;
|
||||||
|
|
||||||
SU3::RandomGaugeTransform(pRNG,Urnd,g); // Unit gauge
|
SU<Nc>::RandomGaugeTransform(pRNG,Urnd,g); // Unit gauge
|
||||||
|
|
||||||
Real plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
|
Real plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
|
||||||
std::cout << " Initial plaquette "<<plaq << std::endl;
|
std::cout << " Initial plaquette "<<plaq << std::endl;
|
||||||
@ -121,7 +121,7 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<< "* Testing non-unit configuration *" <<std::endl;
|
std::cout<< "* Testing non-unit configuration *" <<std::endl;
|
||||||
std::cout<< "*****************************************************************" <<std::endl;
|
std::cout<< "*****************************************************************" <<std::endl;
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNG,Umu); // Unit gauge
|
SU<Nc>::HotConfiguration(pRNG,Umu); // Unit gauge
|
||||||
|
|
||||||
plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
|
plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
|
||||||
std::cout << " Initial plaquette "<<plaq << std::endl;
|
std::cout << " Initial plaquette "<<plaq << std::endl;
|
||||||
@ -136,7 +136,7 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<< "*****************************************************************" <<std::endl;
|
std::cout<< "*****************************************************************" <<std::endl;
|
||||||
|
|
||||||
Umu=Urnd;
|
Umu=Urnd;
|
||||||
SU3::HotConfiguration(pRNG,Umu); // Unit gauge
|
SU<Nc>::HotConfiguration(pRNG,Umu); // Unit gauge
|
||||||
|
|
||||||
plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
|
plaq=WilsonLoops<PeriodicGimplR>::avgPlaquette(Umu);
|
||||||
std::cout << " Initial plaquette "<<plaq << std::endl;
|
std::cout << " Initial plaquette "<<plaq << std::endl;
|
||||||
|
@ -114,7 +114,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG4_2f(UGrid_2f); RNG4_2f.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4_2f(UGrid_2f); RNG4_2f.SeedFixedIntegers(seeds4);
|
||||||
|
|
||||||
GparityGaugeField Umu_2f(UGrid_2f);
|
GparityGaugeField Umu_2f(UGrid_2f);
|
||||||
SU3::HotConfiguration(RNG4_2f,Umu_2f);
|
SU<Nc>::HotConfiguration(RNG4_2f,Umu_2f);
|
||||||
|
|
||||||
StandardFermionField src (FGrid_2f);
|
StandardFermionField src (FGrid_2f);
|
||||||
StandardFermionField tmpsrc(FGrid_2f);
|
StandardFermionField tmpsrc(FGrid_2f);
|
||||||
|
@ -61,7 +61,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField ref(&Grid); ref=Zero();
|
FermionField ref(&Grid); ref=Zero();
|
||||||
FermionField tmp(&Grid); tmp=Zero();
|
FermionField tmp(&Grid); tmp=Zero();
|
||||||
FermionField err(&Grid); tmp=Zero();
|
FermionField err(&Grid); tmp=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,&Grid);
|
std::vector<LatticeColourMatrix> U(4,&Grid);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
|
@ -66,14 +66,14 @@ int main(int argc, char** argv) {
|
|||||||
|
|
||||||
std::cout << GridLogMessage << "*********************************************"
|
std::cout << GridLogMessage << "*********************************************"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
std::cout << GridLogMessage << "* Generators for SU(3)" << std::endl;
|
std::cout << GridLogMessage << "* Generators for SU(Nc" << std::endl;
|
||||||
std::cout << GridLogMessage << "*********************************************"
|
std::cout << GridLogMessage << "*********************************************"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
SU3::printGenerators();
|
SU<Nc>::printGenerators();
|
||||||
std::cout << "Dimension of adjoint representation: "<< SU3Adjoint::Dimension << std::endl;
|
std::cout << "Dimension of adjoint representation: "<< SU<Nc>Adjoint::Dimension << std::endl;
|
||||||
SU3Adjoint::printGenerators();
|
SU<Nc>Adjoint::printGenerators();
|
||||||
SU3::testGenerators();
|
SU<Nc>::testGenerators();
|
||||||
SU3Adjoint::testGenerators();
|
SU<Nc>Adjoint::testGenerators();
|
||||||
|
|
||||||
std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
|
std::cout<<GridLogMessage<<"*********************************************"<<std::endl;
|
||||||
std::cout<<GridLogMessage<<"* Generators for SU(4)"<<std::endl;
|
std::cout<<GridLogMessage<<"* Generators for SU(4)"<<std::endl;
|
||||||
@ -87,22 +87,22 @@ int main(int argc, char** argv) {
|
|||||||
// Projectors
|
// Projectors
|
||||||
GridParallelRNG gridRNG(grid);
|
GridParallelRNG gridRNG(grid);
|
||||||
gridRNG.SeedFixedIntegers(std::vector<int>({45,12,81,9}));
|
gridRNG.SeedFixedIntegers(std::vector<int>({45,12,81,9}));
|
||||||
SU3Adjoint::LatticeAdjMatrix Gauss(grid);
|
SU<Nc>Adjoint::LatticeAdjMatrix Gauss(grid);
|
||||||
SU3::LatticeAlgebraVector ha(grid);
|
SU<Nc>::LatticeAlgebraVector ha(grid);
|
||||||
SU3::LatticeAlgebraVector hb(grid);
|
SU<Nc>::LatticeAlgebraVector hb(grid);
|
||||||
random(gridRNG,Gauss);
|
random(gridRNG,Gauss);
|
||||||
|
|
||||||
std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
|
std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
|
||||||
SU3Adjoint::projectOnAlgebra(ha, Gauss);
|
SU<Nc>Adjoint::projectOnAlgebra(ha, Gauss);
|
||||||
std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
|
std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
|
||||||
std::cout << GridLogMessage << "Start projector" << std::endl;
|
std::cout << GridLogMessage << "Start projector" << std::endl;
|
||||||
SU3Adjoint::projector(hb, Gauss);
|
SU<Nc>Adjoint::projector(hb, Gauss);
|
||||||
std::cout << GridLogMessage << "end projector" << std::endl;
|
std::cout << GridLogMessage << "end projector" << std::endl;
|
||||||
|
|
||||||
std::cout << GridLogMessage << "ReStart projector" << std::endl;
|
std::cout << GridLogMessage << "ReStart projector" << std::endl;
|
||||||
SU3Adjoint::projector(hb, Gauss);
|
SU<Nc>Adjoint::projector(hb, Gauss);
|
||||||
std::cout << GridLogMessage << "end projector" << std::endl;
|
std::cout << GridLogMessage << "end projector" << std::endl;
|
||||||
SU3::LatticeAlgebraVector diff = ha -hb;
|
SU<Nc>::LatticeAlgebraVector diff = ha -hb;
|
||||||
std::cout << GridLogMessage << "Difference: " << norm2(diff) << std::endl;
|
std::cout << GridLogMessage << "Difference: " << norm2(diff) << std::endl;
|
||||||
|
|
||||||
|
|
||||||
@ -260,20 +260,20 @@ int main(int argc, char** argv) {
|
|||||||
std::cout << GridLogMessage << "Test for the Two Index Symmetric projectors"
|
std::cout << GridLogMessage << "Test for the Two Index Symmetric projectors"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
// Projectors
|
// Projectors
|
||||||
SU3TwoIndexSymm::LatticeTwoIndexMatrix Gauss2(grid);
|
SU<Nc>TwoIndexSymm::LatticeTwoIndexMatrix Gauss2(grid);
|
||||||
random(gridRNG,Gauss2);
|
random(gridRNG,Gauss2);
|
||||||
|
|
||||||
std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
|
std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
|
||||||
SU3TwoIndexSymm::projectOnAlgebra(ha, Gauss2);
|
SU<Nc>TwoIndexSymm::projectOnAlgebra(ha, Gauss2);
|
||||||
std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
|
std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
|
||||||
std::cout << GridLogMessage << "Start projector" << std::endl;
|
std::cout << GridLogMessage << "Start projector" << std::endl;
|
||||||
SU3TwoIndexSymm::projector(hb, Gauss2);
|
SU<Nc>TwoIndexSymm::projector(hb, Gauss2);
|
||||||
std::cout << GridLogMessage << "end projector" << std::endl;
|
std::cout << GridLogMessage << "end projector" << std::endl;
|
||||||
|
|
||||||
std::cout << GridLogMessage << "ReStart projector" << std::endl;
|
std::cout << GridLogMessage << "ReStart projector" << std::endl;
|
||||||
SU3TwoIndexSymm::projector(hb, Gauss2);
|
SU<Nc>TwoIndexSymm::projector(hb, Gauss2);
|
||||||
std::cout << GridLogMessage << "end projector" << std::endl;
|
std::cout << GridLogMessage << "end projector" << std::endl;
|
||||||
SU3::LatticeAlgebraVector diff2 = ha - hb;
|
SU<Nc>::LatticeAlgebraVector diff2 = ha - hb;
|
||||||
std::cout << GridLogMessage << "Difference: " << norm2(diff) << std::endl;
|
std::cout << GridLogMessage << "Difference: " << norm2(diff) << std::endl;
|
||||||
std::cout << GridLogMessage << "*********************************************"
|
std::cout << GridLogMessage << "*********************************************"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
@ -284,20 +284,20 @@ int main(int argc, char** argv) {
|
|||||||
std::cout << GridLogMessage << "Test for the Two index anti-Symmetric projectors"
|
std::cout << GridLogMessage << "Test for the Two index anti-Symmetric projectors"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
// Projectors
|
// Projectors
|
||||||
SU3TwoIndexAntiSymm::LatticeTwoIndexMatrix Gauss2a(grid);
|
SU<Nc>TwoIndexAntiSymm::LatticeTwoIndexMatrix Gauss2a(grid);
|
||||||
random(gridRNG,Gauss2a);
|
random(gridRNG,Gauss2a);
|
||||||
|
|
||||||
std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
|
std::cout << GridLogMessage << "Start projectOnAlgebra" << std::endl;
|
||||||
SU3TwoIndexAntiSymm::projectOnAlgebra(ha, Gauss2a);
|
SU<Nc>TwoIndexAntiSymm::projectOnAlgebra(ha, Gauss2a);
|
||||||
std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
|
std::cout << GridLogMessage << "end projectOnAlgebra" << std::endl;
|
||||||
std::cout << GridLogMessage << "Start projector" << std::endl;
|
std::cout << GridLogMessage << "Start projector" << std::endl;
|
||||||
SU3TwoIndexAntiSymm::projector(hb, Gauss2a);
|
SU<Nc>TwoIndexAntiSymm::projector(hb, Gauss2a);
|
||||||
std::cout << GridLogMessage << "end projector" << std::endl;
|
std::cout << GridLogMessage << "end projector" << std::endl;
|
||||||
|
|
||||||
std::cout << GridLogMessage << "ReStart projector" << std::endl;
|
std::cout << GridLogMessage << "ReStart projector" << std::endl;
|
||||||
SU3TwoIndexAntiSymm::projector(hb, Gauss2a);
|
SU<Nc>TwoIndexAntiSymm::projector(hb, Gauss2a);
|
||||||
std::cout << GridLogMessage << "end projector" << std::endl;
|
std::cout << GridLogMessage << "end projector" << std::endl;
|
||||||
SU3::LatticeAlgebraVector diff2a = ha - hb;
|
SU<Nc>::LatticeAlgebraVector diff2a = ha - hb;
|
||||||
std::cout << GridLogMessage << "Difference: " << norm2(diff2a) << std::endl;
|
std::cout << GridLogMessage << "Difference: " << norm2(diff2a) << std::endl;
|
||||||
std::cout << GridLogMessage << "*********************************************"
|
std::cout << GridLogMessage << "*********************************************"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
@ -444,7 +444,7 @@ int main(int argc, char **argv) {
|
|||||||
// Lattice 12x12 GEMM
|
// Lattice 12x12 GEMM
|
||||||
scFooBar = scFoo * scBar;
|
scFooBar = scFoo * scBar;
|
||||||
|
|
||||||
// Benchmark some simple operations LatticeSU3 * Lattice SU3.
|
// Benchmark some simple operations LatticeSU<Nc> * Lattice SU<Nc>.
|
||||||
double t0, t1, flops;
|
double t0, t1, flops;
|
||||||
double bytes;
|
double bytes;
|
||||||
int ncall = 5000;
|
int ncall = 5000;
|
||||||
|
@ -73,7 +73,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion ref (FGrid); ref = Zero();
|
LatticeFermion ref (FGrid); ref = Zero();
|
||||||
LatticeFermion tmp (FGrid); tmp = Zero();
|
LatticeFermion tmp (FGrid); tmp = Zero();
|
||||||
LatticeFermion err (FGrid); err = Zero();
|
LatticeFermion err (FGrid); err = Zero();
|
||||||
LatticeGaugeField Umu (UGrid); SU3::HotConfiguration(RNG4, Umu);
|
LatticeGaugeField Umu (UGrid); SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
// Only one non-zero (y)
|
// Only one non-zero (y)
|
||||||
|
@ -55,7 +55,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG pRNG(grid); pRNG.SeedFixedIntegers(pseeds);
|
GridParallelRNG pRNG(grid); pRNG.SeedFixedIntegers(pseeds);
|
||||||
GridSerialRNG sRNG; sRNG.SeedFixedIntegers(sseeds);
|
GridSerialRNG sRNG; sRNG.SeedFixedIntegers(sseeds);
|
||||||
|
|
||||||
// SU3 colour operatoions
|
// SU<Nc> colour operatoions
|
||||||
LatticeColourMatrix link(grid);
|
LatticeColourMatrix link(grid);
|
||||||
LatticeColourMatrix staple(grid);
|
LatticeColourMatrix staple(grid);
|
||||||
|
|
||||||
@ -87,10 +87,10 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
link = PeekIndex<LorentzIndex>(Umu,mu);
|
link = PeekIndex<LorentzIndex>(Umu,mu);
|
||||||
|
|
||||||
for( int subgroup=0;subgroup<SU3::su2subgroups();subgroup++ ) {
|
for( int subgroup=0;subgroup<SU<Nc>::su2subgroups();subgroup++ ) {
|
||||||
|
|
||||||
// update Even checkerboard
|
// update Even checkerboard
|
||||||
SU3::SubGroupHeatBath(sRNG,pRNG,beta,link,staple,subgroup,20,mask);
|
SU<Nc>::SubGroupHeatBath(sRNG,pRNG,beta,link,staple,subgroup,20,mask);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField err(&Grid); tmp=Zero();
|
FermionField err(&Grid); tmp=Zero();
|
||||||
FermionField phi (&Grid); random(pRNG,phi);
|
FermionField phi (&Grid); random(pRNG,phi);
|
||||||
FermionField chi (&Grid); random(pRNG,chi);
|
FermionField chi (&Grid); random(pRNG,chi);
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,&Grid);
|
std::vector<LatticeColourMatrix> U(4,&Grid);
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField phi (FGrid); random(pRNG5,phi);
|
FermionField phi (FGrid); random(pRNG5,phi);
|
||||||
FermionField chi (FGrid); random(pRNG5,chi);
|
FermionField chi (FGrid); random(pRNG5,chi);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::ColdConfiguration(pRNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::ColdConfiguration(pRNG4,Umu);
|
||||||
LatticeGaugeField Umua(UGrid); Umua=Umu;
|
LatticeGaugeField Umua(UGrid); Umua=Umu;
|
||||||
|
|
||||||
double volume=Ls;
|
double volume=Ls;
|
||||||
|
@ -84,7 +84,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField chi (FGrid); random(pRNG5,chi);
|
FermionField chi (FGrid); random(pRNG5,chi);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(pRNG4,Umu);
|
SU<Nc>::HotConfiguration(pRNG4,Umu);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for(int mu=1;mu<4;mu++){
|
for(int mu=1;mu<4;mu++){
|
||||||
|
@ -83,7 +83,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField chi (FGrid); random(pRNG5,chi);
|
FermionField chi (FGrid); random(pRNG5,chi);
|
||||||
|
|
||||||
LatticeGaugeFieldF Umu(UGrid);
|
LatticeGaugeFieldF Umu(UGrid);
|
||||||
SU3::HotConfiguration(pRNG4,Umu);
|
SU<Nc>::HotConfiguration(pRNG4,Umu);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for(int mu=1;mu<4;mu++){
|
for(int mu=1;mu<4;mu++){
|
||||||
|
@ -64,7 +64,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField err(&Grid); tmp=Zero();
|
FermionField err(&Grid); tmp=Zero();
|
||||||
FermionField phi (&Grid); random(pRNG,phi);
|
FermionField phi (&Grid); random(pRNG,phi);
|
||||||
FermionField chi (&Grid); random(pRNG,chi);
|
FermionField chi (&Grid); random(pRNG,chi);
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,&Grid);
|
std::vector<LatticeColourMatrix> U(4,&Grid);
|
||||||
|
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ int main(int argc, char **argv)
|
|||||||
FermionField chi(&Grid);
|
FermionField chi(&Grid);
|
||||||
random(pRNG, chi);
|
random(pRNG, chi);
|
||||||
LatticeGaugeField Umu(&Grid);
|
LatticeGaugeField Umu(&Grid);
|
||||||
SU3::HotConfiguration(pRNG, Umu);
|
SU<Nc>::HotConfiguration(pRNG, Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4, &Grid);
|
std::vector<LatticeColourMatrix> U(4, &Grid);
|
||||||
|
|
||||||
double volume = 1;
|
double volume = 1;
|
||||||
|
@ -70,7 +70,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion tmp(&Grid); tmp=Zero();
|
LatticeFermion tmp(&Grid); tmp=Zero();
|
||||||
LatticeFermion err(&Grid); tmp=Zero();
|
LatticeFermion err(&Grid); tmp=Zero();
|
||||||
LatticeGaugeField Umu(&Grid);
|
LatticeGaugeField Umu(&Grid);
|
||||||
SU3::HotConfiguration(pRNG,Umu);
|
SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,&Grid);
|
std::vector<LatticeColourMatrix> U(4,&Grid);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
|
@ -71,7 +71,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion ref(&Grid); ref=Zero();
|
LatticeFermion ref(&Grid); ref=Zero();
|
||||||
LatticeFermion tmp(&Grid); tmp=Zero();
|
LatticeFermion tmp(&Grid); tmp=Zero();
|
||||||
LatticeFermion err(&Grid); tmp=Zero();
|
LatticeFermion err(&Grid); tmp=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,&Grid);
|
std::vector<LatticeColourMatrix> U(4,&Grid);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
|
@ -116,7 +116,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
LatticeGaugeFieldF UmuF(UGridF);
|
LatticeGaugeFieldF UmuF(UGridF);
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
precisionChange(UmuF,Umu);
|
precisionChange(UmuF,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion ref(FGrid); ref=Zero();
|
LatticeFermion ref(FGrid); ref=Zero();
|
||||||
LatticeFermion tmp(FGrid);
|
LatticeFermion tmp(FGrid);
|
||||||
LatticeFermion err(FGrid);
|
LatticeFermion err(FGrid);
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
@ -70,7 +70,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG5(FGrid); RNG5.SeedFixedIntegers(seeds5);
|
GridParallelRNG RNG5(FGrid); RNG5.SeedFixedIntegers(seeds5);
|
||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
RealD mass=0.1;
|
RealD mass=0.1;
|
||||||
|
@ -71,9 +71,9 @@ int main (int argc, char ** argv)
|
|||||||
std::string file("./ckpoint_lat.400");
|
std::string file("./ckpoint_lat.400");
|
||||||
NerscIO::readConfiguration(Umu,header,file);
|
NerscIO::readConfiguration(Umu,header,file);
|
||||||
|
|
||||||
// SU3::ColdConfiguration(RNG4,Umu);
|
// SU<Nc>::ColdConfiguration(RNG4,Umu);
|
||||||
// SU3::TepidConfiguration(RNG4,Umu);
|
// SU<Nc>::TepidConfiguration(RNG4,Umu);
|
||||||
// SU3::HotConfiguration(RNG4,Umu);
|
// SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
// Umu=Zero();
|
// Umu=Zero();
|
||||||
|
|
||||||
RealD mass=0.1;
|
RealD mass=0.1;
|
||||||
|
@ -108,8 +108,8 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::ColdConfiguration(Umu);
|
SU<Nc>::ColdConfiguration(Umu);
|
||||||
// SU3::HotConfiguration(RNG4,Umu);
|
// SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
RealD mass=0.3;
|
RealD mass=0.3;
|
||||||
RealD M5 =1.0;
|
RealD M5 =1.0;
|
||||||
|
@ -73,7 +73,7 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
DomainWallEOFAFermionR Lop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, mf, mpv, 0.0, -1, M5);
|
DomainWallEOFAFermionR Lop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, mf, mpv, 0.0, -1, M5);
|
||||||
DomainWallEOFAFermionR Rop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mpv, mf, mpv, -1.0, 1, M5);
|
DomainWallEOFAFermionR Rop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mpv, mf, mpv, -1.0, 1, M5);
|
||||||
|
@ -77,7 +77,7 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// GparityDomainWallFermionR::ImplParams params;
|
// GparityDomainWallFermionR::ImplParams params;
|
||||||
FermionAction::ImplParams params;
|
FermionAction::ImplParams params;
|
||||||
|
@ -75,7 +75,7 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
MobiusEOFAFermionR Lop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, mf, mpv, 0.0, -1, M5, b, c);
|
MobiusEOFAFermionR Lop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, mf, mpv, 0.0, -1, M5, b, c);
|
||||||
MobiusEOFAFermionR Rop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mpv, mf, mpv, -1.0, 1, M5, b, c);
|
MobiusEOFAFermionR Rop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mpv, mf, mpv, -1.0, 1, M5, b, c);
|
||||||
|
@ -79,7 +79,7 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
FermionAction::ImplParams params;
|
FermionAction::ImplParams params;
|
||||||
FermionAction Lop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, mf, mpv, 0.0, -1, M5, b, c, params);
|
FermionAction Lop(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, mf, mpv, 0.0, -1, M5, b, c, params);
|
||||||
|
@ -102,7 +102,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// Initialize RHMC fermion operators
|
// Initialize RHMC fermion operators
|
||||||
DomainWallFermionR Ddwf_f(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, M5);
|
DomainWallFermionR Ddwf_f(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, M5);
|
||||||
|
@ -104,7 +104,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// Initialize RHMC fermion operators
|
// Initialize RHMC fermion operators
|
||||||
GparityDomainWallFermionR::ImplParams params;
|
GparityDomainWallFermionR::ImplParams params;
|
||||||
|
@ -104,7 +104,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// Initialize RHMC fermion operators
|
// Initialize RHMC fermion operators
|
||||||
MobiusFermionR Ddwf_f(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, M5, b, c);
|
MobiusFermionR Ddwf_f(Umu, *FGrid, *FrbGrid, *UGrid, *UrbGrid, mf, M5, b, c);
|
||||||
|
@ -106,7 +106,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
// Random gauge field
|
// Random gauge field
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// Initialize RHMC fermion operators
|
// Initialize RHMC fermion operators
|
||||||
GparityDomainWallFermionR::ImplParams params;
|
GparityDomainWallFermionR::ImplParams params;
|
||||||
|
@ -59,7 +59,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -93,7 +93,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -94,7 +94,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ int main (int argc, char** argv)
|
|||||||
LatticeFermion MphiPrime (FGrid);
|
LatticeFermion MphiPrime (FGrid);
|
||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -105,7 +105,7 @@ int main (int argc, char** argv)
|
|||||||
|
|
||||||
for(int mu=0; mu<Nd; mu++){
|
for(int mu=0; mu<Nd; mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
||||||
|
|
||||||
|
@ -63,8 +63,8 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
// SU3::ColdConfiguration(pRNG,U);
|
// SU<Nc>::ColdConfiguration(pRNG,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -112,7 +112,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
Hmom -= real(sum(trace(mommu*mommu)));
|
Hmom -= real(sum(trace(mommu*mommu)));
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ int main (int argc, char** argv)
|
|||||||
FermionField MphiPrime (FGrid);
|
FermionField MphiPrime (FGrid);
|
||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -109,7 +109,7 @@ int main (int argc, char** argv)
|
|||||||
|
|
||||||
for(int mu=0; mu<Nd; mu++){
|
for(int mu=0; mu<Nd; mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(&Grid);
|
LatticeGaugeField U(&Grid);
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNG,U);
|
SU<Nc>::HotConfiguration(pRNG,U);
|
||||||
|
|
||||||
double beta = 1.0;
|
double beta = 1.0;
|
||||||
ConjugateWilsonGaugeActionR Action(beta);
|
ConjugateWilsonGaugeActionR Action(beta);
|
||||||
@ -80,7 +80,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(&Grid);
|
LatticeGaugeField U(&Grid);
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNG,U);
|
SU<Nc>::HotConfiguration(pRNG,U);
|
||||||
|
|
||||||
double beta = 1.0;
|
double beta = 1.0;
|
||||||
double c1 = 0.331;
|
double c1 = 0.331;
|
||||||
@ -82,7 +82,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -100,7 +100,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -94,7 +94,7 @@ int main (int argc, char ** argv)
|
|||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
// Traceless antihermitian momentum; gaussian in lie alg
|
// Traceless antihermitian momentum; gaussian in lie alg
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu);
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu);
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ int main (int argc, char ** argv)
|
|||||||
PokeIndex<LorentzIndex>(P, P_mu, mu);
|
PokeIndex<LorentzIndex>(P, P_mu, mu);
|
||||||
}
|
}
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNG,U);
|
SU<Nc>::HotConfiguration(pRNG,U);
|
||||||
|
|
||||||
|
|
||||||
ConjugateGradient<LatticeGaugeField> CG(1.0e-8, 10000);
|
ConjugateGradient<LatticeGaugeField> CG(1.0e-8, 10000);
|
||||||
@ -95,7 +95,7 @@ int main (int argc, char ** argv)
|
|||||||
std::cout << GridLogMessage << "Update the U " << std::endl;
|
std::cout << GridLogMessage << "Update the U " << std::endl;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
// Traceless antihermitian momentum; gaussian in lie algebra
|
// Traceless antihermitian momentum; gaussian in lie algebra
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu);
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu);
|
||||||
auto Umu = PeekIndex<LorentzIndex>(U, mu);
|
auto Umu = PeekIndex<LorentzIndex>(U, mu);
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
Umu = expMat(mommu, dt, 12) * Umu;
|
Umu = expMat(mommu, dt, 12) * Umu;
|
||||||
|
@ -60,7 +60,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -96,7 +96,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ int main (int argc, char** argv)
|
|||||||
LatticeFermion MphiPrime (FGrid);
|
LatticeFermion MphiPrime (FGrid);
|
||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -107,7 +107,7 @@ int main (int argc, char** argv)
|
|||||||
|
|
||||||
for(int mu=0; mu<Nd; mu++){
|
for(int mu=0; mu<Nd; mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ int main (int argc, char** argv)
|
|||||||
FermionField MphiPrime (FGrid);
|
FermionField MphiPrime (FGrid);
|
||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -112,7 +112,7 @@ int main (int argc, char** argv)
|
|||||||
|
|
||||||
for(int mu=0; mu<Nd; mu++){
|
for(int mu=0; mu<Nd; mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
||||||
autoView( U_v , U, CpuRead);
|
autoView( U_v , U, CpuRead);
|
||||||
|
@ -62,7 +62,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -96,7 +96,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(&Grid);
|
LatticeGaugeField U(&Grid);
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNG,U);
|
SU<Nc>::HotConfiguration(pRNG,U);
|
||||||
|
|
||||||
double beta = 1.0;
|
double beta = 1.0;
|
||||||
double c1 = -0.331;
|
double c1 = -0.331;
|
||||||
@ -82,7 +82,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeGaugeField U(&Grid);
|
LatticeGaugeField U(&Grid);
|
||||||
|
|
||||||
//SU2::HotConfiguration(pRNG,U);
|
//SU2::HotConfiguration(pRNG,U);
|
||||||
SU3::ColdConfiguration(pRNG,U);
|
SU<Nc>::ColdConfiguration(pRNG,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -98,7 +98,7 @@ int main (int argc, char ** argv)
|
|||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
// Traceless antihermitian momentum; gaussian in lie alg
|
// Traceless antihermitian momentum; gaussian in lie alg
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu);
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu);
|
||||||
|
|
||||||
Hmom -= real(sum(trace(mommu*mommu)));
|
Hmom -= real(sum(trace(mommu*mommu)));
|
||||||
|
|
||||||
|
@ -62,8 +62,8 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(&Grid);
|
LatticeGaugeField U(&Grid);
|
||||||
|
|
||||||
SU3::HotConfiguration(pRNG, U);
|
SU<Nc>::HotConfiguration(pRNG, U);
|
||||||
//SU3::ColdConfiguration(pRNG, U);// Clover term Zero()
|
//SU<Nc>::ColdConfiguration(pRNG, U);// Clover term Zero()
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -101,7 +101,7 @@ int main(int argc, char **argv)
|
|||||||
for (int mu = 0; mu < Nd; mu++)
|
for (int mu = 0; mu < Nd; mu++)
|
||||||
{
|
{
|
||||||
// Traceless antihermitian momentum; gaussian in lie alg
|
// Traceless antihermitian momentum; gaussian in lie alg
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu);
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(pRNG, mommu);
|
||||||
Hmom -= real(sum(trace(mommu * mommu)));
|
Hmom -= real(sum(trace(mommu * mommu)));
|
||||||
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
PokeIndex<LorentzIndex>(mom, mommu, mu);
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeGaugeField U(UGrid);
|
LatticeGaugeField U(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,U);
|
SU<Nc>::HotConfiguration(RNG4,U);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Unmodified matrix element
|
// Unmodified matrix element
|
||||||
@ -109,7 +109,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
|
||||||
SU3::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
SU<Nc>::GaussianFundamentalLieAlgebraMatrix(RNG4, mommu); // Traceless antihermitian momentum; gaussian in lie alg
|
||||||
|
|
||||||
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
PokeIndex<LorentzIndex>(mom,mommu,mu);
|
||||||
|
|
||||||
|
@ -293,7 +293,7 @@ int main (int argc, char ** argv) {
|
|||||||
{
|
{
|
||||||
std::vector<int> seeds4({1,2,3,4});
|
std::vector<int> seeds4({1,2,3,4});
|
||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
}
|
}
|
||||||
std::cout << GridLogMessage << "Lattice dimensions: " << GridDefaultLatt() << " Ls: " << Ls << std::endl;
|
std::cout << GridLogMessage << "Lattice dimensions: " << GridDefaultLatt() << " Ls: " << Ls << std::endl;
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG5rb(FrbGrid); RNG5.SeedFixedIntegers(seeds5);
|
GridParallelRNG RNG5rb(FrbGrid); RNG5.SeedFixedIntegers(seeds5);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -61,7 +61,7 @@ int main(int argc, char** argv) {
|
|||||||
RNG5.SeedFixedIntegers(seeds5);
|
RNG5.SeedFixedIntegers(seeds5);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
std::vector<LatticeColourMatrix> U(4, UGrid);
|
std::vector<LatticeColourMatrix> U(4, UGrid);
|
||||||
|
@ -280,7 +280,7 @@ void make_gauge(GaugeField &Umu, Grid::LatticePropagator &q1,Grid::LatticePropag
|
|||||||
Grid::GridCartesian *UGrid = (Grid::GridCartesian *)Umu.Grid();
|
Grid::GridCartesian *UGrid = (Grid::GridCartesian *)Umu.Grid();
|
||||||
Grid::GridParallelRNG RNG4(UGrid);
|
Grid::GridParallelRNG RNG4(UGrid);
|
||||||
RNG4.SeedFixedIntegers(seeds4);
|
RNG4.SeedFixedIntegers(seeds4);
|
||||||
Grid::SU3::HotConfiguration(RNG4, Umu);
|
Grid::SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// Propagator
|
// Propagator
|
||||||
Grid::gaussian(RNG4, q1);
|
Grid::gaussian(RNG4, q1);
|
||||||
|
@ -277,7 +277,7 @@ double calc_grid_p(Grid::LatticeGaugeField & Umu)
|
|||||||
Grid::GridCartesian * UGrid = (Grid::GridCartesian *) Umu.Grid();
|
Grid::GridCartesian * UGrid = (Grid::GridCartesian *) Umu.Grid();
|
||||||
Grid::GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
Grid::GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
|
|
||||||
Grid::SU3::HotConfiguration(RNG4,Umu);
|
Grid::SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
Grid::LatticeColourMatrix tmp(UGrid);
|
Grid::LatticeColourMatrix tmp(UGrid);
|
||||||
tmp = Grid::zero;
|
tmp = Grid::zero;
|
||||||
|
@ -502,7 +502,7 @@ void calc_grid(ChromaAction action,Grid::LatticeGaugeField & Umu, Grid::LatticeF
|
|||||||
Grid::gaussian(RNG5,src);
|
Grid::gaussian(RNG5,src);
|
||||||
Grid::gaussian(RNG5,res);
|
Grid::gaussian(RNG5,res);
|
||||||
|
|
||||||
Grid::SU3::HotConfiguration(RNG4,Umu);
|
Grid::SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Grid::LatticeColourMatrix U(UGrid);
|
Grid::LatticeColourMatrix U(UGrid);
|
||||||
|
@ -333,7 +333,7 @@ void make_gauge(GaugeField & Umu,FermionField &src)
|
|||||||
|
|
||||||
Grid::GridCartesian * UGrid = (Grid::GridCartesian *) Umu.Grid();
|
Grid::GridCartesian * UGrid = (Grid::GridCartesian *) Umu.Grid();
|
||||||
Grid::GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
Grid::GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
Grid::SU3::HotConfiguration(RNG4,Umu);
|
Grid::SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
Grid::gaussian(RNG4,src);
|
Grid::gaussian(RNG4,src);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -348,7 +348,7 @@ void make_gauge(GaugeField &Umu, FermionField &src)
|
|||||||
Grid::GridCartesian *UGrid = (Grid::GridCartesian *)Umu._grid;
|
Grid::GridCartesian *UGrid = (Grid::GridCartesian *)Umu._grid;
|
||||||
Grid::GridParallelRNG RNG4(UGrid);
|
Grid::GridParallelRNG RNG4(UGrid);
|
||||||
RNG4.SeedFixedIntegers(seeds4);
|
RNG4.SeedFixedIntegers(seeds4);
|
||||||
Grid::SU3::HotConfiguration(RNG4, Umu);
|
Grid::SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
// Fermion field
|
// Fermion field
|
||||||
Grid::gaussian(RNG4, src);
|
Grid::gaussian(RNG4, src);
|
||||||
|
@ -47,8 +47,8 @@ int main (int argc, char ** argv)
|
|||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
LatticeFermion result(&Grid); result=Zero();
|
LatticeFermion result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid);
|
LatticeGaugeField Umu(&Grid);
|
||||||
// SU3::HotConfiguration(pRNG,Umu);
|
// SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
SU3::ColdConfiguration(Umu);
|
SU<Nc>::ColdConfiguration(Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,&Grid);
|
std::vector<LatticeColourMatrix> U(4,&Grid);
|
||||||
|
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -61,7 +61,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeFermion src(FGrid); random(RNG5,src);
|
LatticeFermion src(FGrid); random(RNG5,src);
|
||||||
LatticeFermion result(FGrid); result=Zero();
|
LatticeFermion result(FGrid); result=Zero();
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -94,7 +94,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG RNG5(FGrid); RNG5.SeedFixedIntegers(seeds5);
|
GridParallelRNG RNG5(FGrid); RNG5.SeedFixedIntegers(seeds5);
|
||||||
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
GridParallelRNG RNG4(UGrid); RNG4.SeedFixedIntegers(seeds4);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
RealD mass=0.1;
|
RealD mass=0.1;
|
||||||
|
@ -67,7 +67,7 @@ int main(int argc, char** argv) {
|
|||||||
result = Zero();
|
result = Zero();
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4, Umu);
|
SU<Nc>::HotConfiguration(RNG4, Umu);
|
||||||
|
|
||||||
std::cout << GridLogMessage << "Lattice dimensions: " << GridDefaultLatt()
|
std::cout << GridLogMessage << "Lattice dimensions: " << GridDefaultLatt()
|
||||||
<< " Ls: " << Ls << std::endl;
|
<< " Ls: " << Ls << std::endl;
|
||||||
|
@ -61,7 +61,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeFermion src(FGrid); random(RNG5,src);
|
LatticeFermion src(FGrid); random(RNG5,src);
|
||||||
LatticeFermion result(FGrid); result=Zero();
|
LatticeFermion result(FGrid); result=Zero();
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -61,7 +61,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeFermion src(FGrid); random(RNG5,src);
|
LatticeFermion src(FGrid); random(RNG5,src);
|
||||||
LatticeFermion result(FGrid); result=Zero();
|
LatticeFermion result(FGrid); result=Zero();
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -65,7 +65,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeFermion src(FGrid); random(RNG5,src);
|
LatticeFermion src(FGrid); random(RNG5,src);
|
||||||
LatticeFermion result(FGrid); result=Zero();
|
LatticeFermion result(FGrid); result=Zero();
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ int main (int argc, char ** argv)
|
|||||||
LatticeFermion result(FGrid); result=Zero();
|
LatticeFermion result(FGrid); result=Zero();
|
||||||
LatticeGaugeField Umu(UGrid);
|
LatticeGaugeField Umu(UGrid);
|
||||||
|
|
||||||
SU3::HotConfiguration(RNG4,Umu);
|
SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
|
|
||||||
ConjugateResidual<LatticeFermion> CR(1.0e-6,10000);
|
ConjugateResidual<LatticeFermion> CR(1.0e-6,10000);
|
||||||
|
@ -93,7 +93,7 @@ int main (int argc, char ** argv)
|
|||||||
for(int s=0;s<nrhs;s++) random(pRNG5,src[s]);
|
for(int s=0;s<nrhs;s++) random(pRNG5,src[s]);
|
||||||
for(int s=0;s<nrhs;s++) result[s]=Zero();
|
for(int s=0;s<nrhs;s++) result[s]=Zero();
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
// Bounce these fields to disk
|
// Bounce these fields to disk
|
||||||
|
@ -136,11 +136,11 @@ int main (int argc, char ** argv)
|
|||||||
std::cout << GridLogMessage << "Intialising 4D RNG "<<std::endl;
|
std::cout << GridLogMessage << "Intialising 4D RNG "<<std::endl;
|
||||||
pRNG.SeedFixedIntegers(seeds);
|
pRNG.SeedFixedIntegers(seeds);
|
||||||
std::cout << GridLogMessage << "Intialised 4D RNG "<<std::endl;
|
std::cout << GridLogMessage << "Intialised 4D RNG "<<std::endl;
|
||||||
SU3::HotConfiguration(pRNG,Umu);
|
SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
||||||
// std::cout << " Site zero "<< Umu[0] <<std::endl;
|
// std::cout << " Site zero "<< Umu[0] <<std::endl;
|
||||||
} else {
|
} else {
|
||||||
SU3::ColdConfiguration(Umu);
|
SU<Nc>::ColdConfiguration(Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
||||||
}
|
}
|
||||||
/////////////////
|
/////////////////
|
||||||
|
@ -87,7 +87,7 @@ int main (int argc, char ** argv)
|
|||||||
for(int s=0;s<nrhs;s++) random(pRNG5,src[s]);
|
for(int s=0;s<nrhs;s++) random(pRNG5,src[s]);
|
||||||
for(int s=0;s<nrhs;s++) result[s]=Zero();
|
for(int s=0;s<nrhs;s++) result[s]=Zero();
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
/////////////////
|
/////////////////
|
||||||
// MPI only sends
|
// MPI only sends
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
LatticeFermion src(FGrid); random(RNG5,src);
|
LatticeFermion src(FGrid); random(RNG5,src);
|
||||||
LatticeFermion result(FGrid); result=Zero();
|
LatticeFermion result(FGrid); result=Zero();
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(RNG4,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(RNG4,Umu);
|
||||||
|
|
||||||
std::vector<LatticeColourMatrix> U(4,UGrid);
|
std::vector<LatticeColourMatrix> U(4,UGrid);
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ int main (int argc, char ** argv)
|
|||||||
std::cout << GridLogMessage << "Intialising 4D RNG "<<std::endl;
|
std::cout << GridLogMessage << "Intialising 4D RNG "<<std::endl;
|
||||||
pRNG.SeedFixedIntegers(seeds);
|
pRNG.SeedFixedIntegers(seeds);
|
||||||
std::cout << GridLogMessage << "Intialised 4D RNG "<<std::endl;
|
std::cout << GridLogMessage << "Intialised 4D RNG "<<std::endl;
|
||||||
SU3::HotConfiguration(pRNG,Umu);
|
SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,10 +93,10 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG pRNG(UGrid );
|
GridParallelRNG pRNG(UGrid );
|
||||||
|
|
||||||
pRNG.SeedFixedIntegers(seeds);
|
pRNG.SeedFixedIntegers(seeds);
|
||||||
SU3::HotConfiguration(pRNG,Umu);
|
SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
||||||
} else {
|
} else {
|
||||||
SU3::ColdConfiguration(Umu);
|
SU<Nc>::ColdConfiguration(Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,10 +94,10 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG pRNG(UGrid );
|
GridParallelRNG pRNG(UGrid );
|
||||||
|
|
||||||
pRNG.SeedFixedIntegers(seeds);
|
pRNG.SeedFixedIntegers(seeds);
|
||||||
SU3::HotConfiguration(pRNG,Umu);
|
SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
||||||
} else {
|
} else {
|
||||||
SU3::ColdConfiguration(Umu);
|
SU<Nc>::ColdConfiguration(Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,10 +93,10 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG pRNG(UGrid );
|
GridParallelRNG pRNG(UGrid );
|
||||||
|
|
||||||
pRNG.SeedFixedIntegers(seeds);
|
pRNG.SeedFixedIntegers(seeds);
|
||||||
SU3::HotConfiguration(pRNG,Umu);
|
SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the HOT Gauge Field"<<std::endl;
|
||||||
} else {
|
} else {
|
||||||
SU3::ColdConfiguration(Umu);
|
SU<Nc>::ColdConfiguration(Umu);
|
||||||
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
std::cout << GridLogMessage << "Intialised the COLD Gauge Field"<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ int main (int argc, char ** argv)
|
|||||||
for(int s=0;s<nrhs;s++) random(pRNG5,src[s]);
|
for(int s=0;s<nrhs;s++) random(pRNG5,src[s]);
|
||||||
for(int s=0;s<nrhs;s++) result[s]=Zero();
|
for(int s=0;s<nrhs;s++) result[s]=Zero();
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
/////////////////
|
/////////////////
|
||||||
// MPI only sends
|
// MPI only sends
|
||||||
|
@ -87,7 +87,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField result_o(FrbGrid); result_o=Zero();
|
FermionField result_o(FrbGrid); result_o=Zero();
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -71,7 +71,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField result(FGrid); result=Zero();
|
FermionField result(FGrid); result=Zero();
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
|
|
||||||
LatticeGaugeField Umu(UGrid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(UGrid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
RealD mass=0.003;
|
RealD mass=0.003;
|
||||||
RealD c1=9.0/8.0;
|
RealD c1=9.0/8.0;
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -63,7 +63,7 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -58,7 +58,7 @@ int main (int argc, char ** argv)
|
|||||||
std::vector<int> seeds({1,2,3,4});
|
std::vector<int> seeds({1,2,3,4});
|
||||||
GridParallelRNG pRNG(&Grid); pRNG.SeedFixedIntegers(seeds);
|
GridParallelRNG pRNG(&Grid); pRNG.SeedFixedIntegers(seeds);
|
||||||
|
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
|
@ -65,7 +65,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -51,7 +51,7 @@ int main (int argc, char ** argv)
|
|||||||
FermionField src(&Grid); random(pRNG,src);
|
FermionField src(&Grid); random(pRNG,src);
|
||||||
RealD nrm = norm2(src);
|
RealD nrm = norm2(src);
|
||||||
FermionField result(&Grid); result=Zero();
|
FermionField result(&Grid); result=Zero();
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
@ -62,7 +62,7 @@ int main (int argc, char ** argv)
|
|||||||
GridParallelRNG pRNG(&Grid); pRNG.SeedFixedIntegers(seeds);
|
GridParallelRNG pRNG(&Grid); pRNG.SeedFixedIntegers(seeds);
|
||||||
|
|
||||||
|
|
||||||
LatticeGaugeField Umu(&Grid); SU3::HotConfiguration(pRNG,Umu);
|
LatticeGaugeField Umu(&Grid); SU<Nc>::HotConfiguration(pRNG,Umu);
|
||||||
|
|
||||||
double volume=1;
|
double volume=1;
|
||||||
for(int mu=0;mu<Nd;mu++){
|
for(int mu=0;mu<Nd;mu++){
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user