mirror of
https://github.com/paboyle/Grid.git
synced 2025-07-21 07:07:07 +01:00
hot start for sp2n
This commit is contained in:
@@ -191,11 +191,26 @@ public:
|
||||
|
||||
static inline void HotConfiguration(GridParallelRNG &pRNG, Field &U)
|
||||
{
|
||||
Group::HotConfiguration(pRNG, U);
|
||||
if (isSp2n == true)
|
||||
{
|
||||
const int nSp = Nrepresentation/2;
|
||||
Sp<nSp>::HotConfiguration(pRNG, U);
|
||||
} else
|
||||
{
|
||||
Group::HotConfiguration(pRNG, U);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void TepidConfiguration(GridParallelRNG &pRNG, Field &U) {
|
||||
Group::TepidConfiguration(pRNG, U);
|
||||
static inline void TepidConfiguration(GridParallelRNG &pRNG, Field &U)
|
||||
{
|
||||
if (isSp2n == true)
|
||||
{
|
||||
const int nSp = Nrepresentation/2;
|
||||
Sp<nSp>::TepidConfiguration(pRNG, U);
|
||||
} else
|
||||
{
|
||||
Group::TepidConfiguration(pRNG, U);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -212,47 +227,6 @@ public:
|
||||
|
||||
}
|
||||
|
||||
|
||||
//sp2n... see sp2n.h
|
||||
/*
|
||||
static inline void generate_sp2n_momenta(Field &P, GridSerialRNG & sRNG, GridParallelRNG &pRNG)
|
||||
{
|
||||
|
||||
const int nSp = Nrepresentation/2;
|
||||
LinkField Pmu(P.Grid());
|
||||
Pmu = Zero();
|
||||
for (int mu = 0; mu < Nd; mu++) {
|
||||
|
||||
Sp<nSp>::GaussianFundamentalLieAlgebraMatrix(pRNG, Pmu);
|
||||
RealD scale = ::sqrt(HMC_MOMENTUM_DENOMINATOR) ;
|
||||
Pmu = Pmu*scale;
|
||||
PokeIndex<LorentzIndex>(P, Pmu, mu);
|
||||
}
|
||||
}
|
||||
|
||||
static inline void update_sp2n_field(Field& P, Field& U, double ep){
|
||||
|
||||
autoView(U_v,U,AcceleratorWrite);
|
||||
autoView(P_v,P,AcceleratorRead);
|
||||
accelerator_for(ss, P.Grid()->oSites(),1,{
|
||||
for (int mu = 0; mu < Nd; mu++) {
|
||||
U_v[ss](mu) = ProjectOnSpGroup(Exponentiate(P_v[ss](mu), ep, Nexp) * U_v[ss](mu));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
static inline void SpProject(Field &U) {
|
||||
ProjectSp2n(U);
|
||||
}
|
||||
|
||||
|
||||
static inline void ColdSpConfiguration(GridParallelRNG &pRNG, Field &U) {
|
||||
const int nSp = Nrepresentation/2;
|
||||
Sp<nSp>::ColdConfiguration(pRNG, U);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user