CHROMA
Classes | Functions

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. More...
 
void Chroma::mciter32 (multi1d< LatticeColorMatrix > &u, int n_over, int nheat, int NmaxHB, int &ntrials, int &nfails, const Set &ss, const multi3d< int > &neighsubl)
 One heatbath interation of updating the gauge field configuration. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Heatbath gauge field update routines

Function Documentation

◆ mciter()

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
ugauge field ( Modify )
S_ggauge action ( Read )
hbpheatbath parameters ( Read )

Definition at line 30 of file mciter.cc.

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

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

◆ mciter32()

void Chroma::mciter32 ( multi1d< LatticeColorMatrix > &  u,
int  n_over,
int  nheat,
int  NmaxHB,
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
ugauge field ( Modify )
n_overnumber of overrelaxation sweeps ( Read )
nheatnumber of heatbath trials ( Read )
NmaxHBmax number of heatbath hits ( Read )
ntrialstotal number of individual heatbath trials ( Modify )
nfailstotal number of individual heatbath failures ( Modify )

Definition at line 53 of file mciter32.cc.

References BACKWARD, copymask(), Chroma::END_CODE(), Chroma::eta, FORWARD, GlueCoeffPG(), GlueCoeffRT(), GlueImp, igluetmp, mu, Nd, nu, Chroma::QDP_error_exit(), Chroma::reunit(), Chroma::START_CODE(), Chroma::su2_hb_update(), su2_index, Chroma::su3over(), tmp_1, tmp_2, and Chroma::u.

◆ monte()

void Chroma::monte ( multi1d< LatticeColorMatrix > &  uNd,
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
ugauge field ( Modify )
NOvernumber of overrelaxations steps ( Read )
NHeatnumber of heatbath trials ( Read )
j_decaydirection of exponential decay — for sideways potl ! ( Read )
GluePflag for glueball measurements ( Read )
WilsonPflag for Wilson loop measurements ( Read )
TopolPflag for topology measurements ( Read )
PrtMesmeasurements per printout to RESULT file
MesItrnumber of iterations in mod for measurements ( Read )
NumTrynumber of heatbath link trials performed ( Write )
NumFailnumber of heatbath link trials failed ( Write )
NumItrnumber of iterations to perform ( Read )
TotalItrtotal number of iterations to perform ( Read )
BlkMaxmaximum number of SU(3) trace maximimations allowed ( Read )
BlkAccublocking accuracy in glueball code ( Read )
TopolItrnumber of iterations in mod for topology measurement ( Read )
TopAccuaccuracy for convergence of topological charge ( Read )
ActAccuaccuracy for convergence of action ratio ( Read )
NumTopnumber of topological charge measurements ( Read )
NumCoolnumber of cooling sweeps per topological charge measurement ( Read )
HQPotPflag for heavy quark potential measurements ( Read )
HQPotItrnumber of iterations in mod for potential measurement ( Read )
FacSmeasmearing factor for potential measurement ( Read )
NumSmeanumber of smearing iterations in potential measurement ( Read )
GFixPflag for Landau gauge fixing ( Read )
GFixItrnumber of iterations in mod for Landau gauge fixing ( Read )
ORlxDodo over-relaxation in gauge fixing ( Read )
OrParaover-relaxation parameter in gauge-fixing ( Read )

Definition at line 56 of file monte.cc.

References ActAccu, Chroma::END_CODE(), Chroma::fuzglue(), Chroma::i, j_decay, link, Chroma::mciter(), Chroma::MesPlq(), mu, Nd, NumCool, NumTop, Chroma::polylp(), Chroma::pop(), Chroma::push(), s_plaq, Chroma::START_CODE(), t_plaq, TopAccu, Chroma::u, w_plaq, Chroma::wilslp(), Chroma::write(), and YES.

◆ su3hb()

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-Pstd::endleton or Creutz SU(2) heatbath algorithm.

Parameters
ufield to be updated ( Modify )
w"staple" field in the action ( Read )
su2_indexSU(2) subgroup index ( Read )
nheatmaximal number of update trials ( Read )
ntrialstotal number of link trials ( Write )
nfailstotal number of failed trials ( Write )
subSubset for updating ( Read )

Definition at line 29 of file su3hb.cc.

References Chroma::a, Chroma::b, BetaMC, dummy, Chroma::END_CODE(), Chroma::HEATBATH_TYPE_CrHB, Chroma::HEATBATH_TYPE_KPHB, itmp, Chroma::r, Chroma::START_CODE(), su2_index, Chroma::su2Extract(), sum, Chroma::sunFill(), Chroma::tmp, Chroma::twopi, Chroma::u, Chroma::xi_0(), and YES.

◆ su3over()

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
ufield to be updated ( Modify )
w"staple" field in the action ( Read )
su2_indexSU(2) subgroup index ( Read )
subSubset for operations ( Read )

Definition at line 26 of file su3over.cc.

References Chroma::a, Chroma::END_CODE(), Chroma::r, Chroma::START_CODE(), su2_index, Chroma::su2Extract(), Chroma::sunFill(), Chroma::tmp, and Chroma::u.

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