mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
Default tau spacing should be longer c.f. Zbigniew Srocinsky thesis
This commit is contained in:
parent
196c9e4a4a
commit
048397d880
@ -87,12 +87,32 @@ public:
|
|||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Move these to another class
|
// Move these to another class
|
||||||
// HMC auxiliary functions
|
// HMC auxiliary functions
|
||||||
static inline void generate_momenta(Field &P, GridParallelRNG &pRNG) {
|
static inline void generate_momenta(Field &P, GridParallelRNG &pRNG)
|
||||||
// specific for SU gauge fields
|
{
|
||||||
|
// Zbigniew Srocinsky thesis:
|
||||||
|
//
|
||||||
|
// P(p) = N \Prod_{x\mu}e^-{1/2 Tr (p^2_mux)}
|
||||||
|
//
|
||||||
|
// p_x,mu = c_x,mu,a T_a
|
||||||
|
//
|
||||||
|
// Tr p^2 = sum_a,x,mu 1/2 (c_x,mu,a)^2
|
||||||
|
//
|
||||||
|
// Which implies P(p) = N \Prod_{x,\mu,a} e^-{1/4 c_xmua^2 }
|
||||||
|
//
|
||||||
|
// = N \Prod_{x,\mu,a} e^-{1/2 (c_xmua/sqrt{2})^2 }
|
||||||
|
//
|
||||||
|
// Expect c' = cxmua/sqrt(2) to be a unit variance gaussian.
|
||||||
|
//
|
||||||
|
// Expect cxmua variance sqrt(2).
|
||||||
|
//
|
||||||
|
// Must scale the momentum by sqrt(2) up to invoke CPS and UKQCD conventions
|
||||||
|
//
|
||||||
LinkField Pmu(P._grid);
|
LinkField Pmu(P._grid);
|
||||||
Pmu = zero;
|
Pmu = Zero();
|
||||||
for (int mu = 0; mu < Nd; mu++) {
|
for (int mu = 0; mu < Nd; mu++) {
|
||||||
SU<Nrepresentation>::GaussianFundamentalLieAlgebraMatrix(pRNG, Pmu);
|
SU<Nrepresentation>::GaussianFundamentalLieAlgebraMatrix(pRNG, Pmu);
|
||||||
|
RealD scale = ::sqrt(2) ;
|
||||||
|
Pmu = Pmu*scale;
|
||||||
PokeIndex<LorentzIndex>(P, Pmu, mu);
|
PokeIndex<LorentzIndex>(P, Pmu, mu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ namespace Grid{
|
|||||||
virtual void deriv(const GaugeField &Umu,GaugeField & dSdU) {
|
virtual void deriv(const GaugeField &Umu,GaugeField & dSdU) {
|
||||||
//extend Ta to include Lorentz indexes
|
//extend Ta to include Lorentz indexes
|
||||||
RealD factor_p = c_plaq/RealD(Nc)*0.5;
|
RealD factor_p = c_plaq/RealD(Nc)*0.5;
|
||||||
RealD factor_r = c_rect/RealD(Nc)*0.5;
|
RealD factor_r = c_rect/RealD(Nc)*0.5;
|
||||||
|
|
||||||
GridBase *grid = Umu._grid;
|
GridBase *grid = Umu._grid;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user