Heatbath
[Gauge field update routines]


Classes

struct  Chroma::HBParams
 Heat-bath params. More...

Functions

void Chroma::mciter (multi1d< LatticeColorMatrix > &u, const LinearGaugeAction &S_g, const HBParams &hbp)
 One heatbath interation of updating the gauge field configuration.
void Chroma::mciter32 (multi1d< LatticeColorMatrix > &u, int n_over, int nheat, int &ntrials, int &nfails, const Set &ss, const multi3d< int > &neighsubl)
 One heatbath interation of updating the gauge field configuration.
void Chroma::monte (multi1d< LatticeColorMatrix > &u(Nd), int NOver, int NHeat, int j_decay, int GlueP, int WilsonP, int &NumTry, int &NumFail, int PrtMes, int MesItr, int NumItr, int TotalItr, int TopolP, int TopolItr, Real TopAccu, Real ActAccu, int NumTop, int NumCool, Real BlkAccu, int BlkMax, int HQPotP, int HQPotItr, Real FacSmea, int NumSmea, int GFixP, int GFixItr, int ORlxDo, Real OrPara,)
 Routine for doing the hybrid (monte carlo) algorithm.
void Chroma::su3hb (LatticeColorMatrix &u, const LatticeColorMatrix &w, int su2_index, int nheat, int &ntrials, int &nfails, HeatbathType algorithm, const Subset &sub)
 Do one SU(2) subgroup heatbath update of SU(Nc) matrix U with action.
void Chroma::su3over (LatticeColorMatrix &u, const LatticeColorMatrix &w, int su2_index, const Subset &sub)
 Do one SU(2) subgroup microcanonical overrelaxation update of SU(Nc) matrix.

Detailed Description

Heatbath gauge field update routines

Function Documentation

void Chroma::mciter ( multi1d< LatticeColorMatrix > &  u,
const LinearGaugeAction &  S_g,
const HBParams &  hbp 
)

One heatbath interation of updating the gauge field configuration.

Make one interation of updating the gauge field configuration: this consists of n_over overrelaxation sweeps followed by one heatbath sweep with nheat trials. In the case of SU(3), for each link we loop over the 3 SU(2) subgroups.

Warning: this works only for Nc = 2 and 3 !

Parameters:
u gauge field ( Modify )
S_g gauge action ( Read )
hbp heatbath parameters ( Read )

Definition at line 31 of file mciter.cc.

References Chroma::GaugeAction< P, Q >::createState(), END_CODE, Chroma::GaugeAction< P, Q >::getGaugeBC(), Chroma::GaugeAction< P, Q >::getSet(), Chroma::GaugeBC< P, Q >::modify(), Chroma::HBParams::nmax(), Chroma::HBParams::nOver, Chroma::reunit(), Chroma::LinearGaugeAction::staple(), START_CODE, Chroma::state, Chroma::su2_hb_update(), and Chroma::su3over().

Referenced by Chroma::doProd(), Chroma::doWarmUp(), and Chroma::monte().

void Chroma::mciter32 ( multi1d< LatticeColorMatrix > &  u,
int  n_over,
int  nheat,
int &  ntrials,
int &  nfails,
const Set &  ss,
const multi3d< int > &  neighsubl 
)

One heatbath interation of updating the gauge field configuration.

Make one interation of updating the gauge field configuration: for Wilson or Symmanzik improved pure gauge action: this consists of n_over overrelaxation sweeps followed by one heatbath sweep with nheat trials. In the case of SU(3), for each link we loop over the 3 SU(2) subgroups.

Because of the option for the Symanzik improved action we need 2^(d+1) sublattices, deviding first into 2^d hypercubes and then checkerboarding those.

Warning: this works only for Nc = 2 and 3 !

Parameters:
u gauge field ( Modify )
n_over number of overrelaxation sweeps ( Read )
nheat number of heatbath trials ( Read )
ntrials total number of individual heatbath trials ( Modify )
nfails total number of individual heatbath failures ( Modify )

Definition at line 45 of file mciter32.cc.

References BACKWARD, END_CODE, FORWARD, GlueCoeffPG, GlueCoeffRT, GlueImp, Chroma::reunit(), START_CODE, Chroma::su3hb(), and Chroma::su3over().

void Chroma::monte ( multi1d< LatticeColorMatrix > &  u(Nd),
int  NOver,
int  NHeat,
int  j_decay,
int  GlueP,
int  WilsonP,
int &  NumTry,
int &  NumFail,
int  PrtMes,
int  MesItr,
int  NumItr,
int  TotalItr,
int  TopolP,
int  TopolItr,
Real  TopAccu,
Real  ActAccu,
int  NumTop,
int  NumCool,
Real  BlkAccu,
int  BlkMax,
int  HQPotP,
int  HQPotItr,
Real  FacSmea,
int  NumSmea,
int  GFixP,
int  GFixItr,
int  ORlxDo,
Real  OrPara 
)

Routine for doing the hybrid (monte carlo) algorithm.

Parameters:
u gauge field ( Modify )
NOver number of overrelaxations steps ( Read )
NHeat number of heatbath trials ( Read )
j_decay direction of exponential decay --- for sideways potl ! ( Read )
GlueP flag for glueball measurements ( Read )
WilsonP flag for Wilson loop measurements ( Read )
TopolP flag for topology measurements ( Read )
PrtMes measurements per printout to RESULT file
MesItr number of iterations in mod for measurements ( Read )
NumTry number of heatbath link trials performed ( Write )
NumFail number of heatbath link trials failed ( Write )
NumItr number of iterations to perform ( Read )
TotalItr total number of iterations to perform ( Read )
BlkMax maximum number of SU(3) trace maximimations allowed ( Read )
BlkAccu blocking accuracy in glueball code ( Read )
TopolItr number of iterations in mod for topology measurement ( Read )
TopAccu accuracy for convergence of topological charge ( Read )
ActAccu accuracy for convergence of action ratio ( Read )
NumTop number of topological charge measurements ( Read )
NumCool number of cooling sweeps per topological charge measurement ( Read )
HQPotP flag for heavy quark potential measurements ( Read )
HQPotItr number of iterations in mod for potential measurement ( Read )
FacSmea smearing factor for potential measurement ( Read )
NumSmea number of smearing iterations in potential measurement ( Read )
GFixP flag for Landau gauge fixing ( Read )
GFixItr number of iterations in mod for Landau gauge fixing ( Read )
ORlxDo do over-relaxation in gauge fixing ( Read )
OrPara over-relaxation parameter in gauge-fixing ( Read )

Definition at line 57 of file monte.cc.

References END_CODE, Chroma::fuzglue(), Chroma::mciter(), Chroma::MesPlq(), Chroma::polylp(), START_CODE, u, Chroma::wilslp(), Chroma::write(), and YES.

void Chroma::su3hb ( LatticeColorMatrix &  u,
const LatticeColorMatrix &  w,
int  su2_index,
int  nheat,
int &  ntrials,
int &  nfails,
HeatbathType  algorithm,
const Subset &  sub 
)

Do one SU(2) subgroup heatbath update of SU(Nc) matrix U with action.

BetaMC * [tr(U*W) + hc] / (2Nc). Do at most nheat update trials of the Kennedy-Pendleton or Creutz SU(2) heatbath algorithm.

Parameters:
u field to be updated ( Modify )
w "staple" field in the action ( Read )
su2_index SU(2) subgroup index ( Read )
nheat maximal number of update trials ( Read )
ntrials total number of link trials ( Write )
nfails total number of failed trials ( Write )
sub Subset for updating ( Read )

Definition at line 30 of file su3hb.cc.

References BetaMC, END_CODE, Chroma::HEATBATH_TYPE_CrHB, Chroma::HEATBATH_TYPE_KPHB, START_CODE, Chroma::su2Extract(), Chroma::sunFill(), Chroma::twopi, Chroma::xi_0(), and YES.

Referenced by Chroma::mciter32().

void Chroma::su3over ( LatticeColorMatrix &  u,
const LatticeColorMatrix &  w,
int  su2_index,
const Subset &  sub 
)

Do one SU(2) subgroup microcanonical overrelaxation update of SU(Nc) matrix.

Do one SU(2) subgroup microcanonical overrelaxation update of SU(Nc) matrix U keeping action tr(U*W) constant.

Parameters:
u field to be updated ( Modify )
w "staple" field in the action ( Read )
su2_index SU(2) subgroup index ( Read )
sub Subset for operations ( Read )

Definition at line 27 of file su3over.cc.

References END_CODE, START_CODE, Chroma::su2Extract(), and Chroma::sunFill().

Referenced by Chroma::mciter(), and Chroma::mciter32().


Generated on Sun Nov 22 04:38:46 2009 for CHROMA by  doxygen 1.4.7