1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-07-27 17:57:08 +01:00

added module to compute perambulator from a solve

This commit is contained in:
Felix Erben
2019-03-07 15:33:50 +00:00
parent 73cdca3973
commit 93dfbfbfcd
7 changed files with 272 additions and 210 deletions

View File

@@ -125,6 +125,7 @@ template <typename FImpl>
void TBC2<FImpl>::execute(void)
{
auto &one = envGet(std::vector<FermionField>, par().one);
auto &two = envGet(std::vector<FermionField>, par().two);
auto &three = envGet(std::vector<FermionField>, par().three);

View File

@@ -513,6 +513,21 @@ inline void RotateEigen(std::vector<LatticeColourVector> & evec)
}
}
struct DistilParameters: Serializable {
GRID_SERIALIZABLE_CLASS_MEMBERS(DistilParameters,
int, TI,
int, LI,
int, nnoise,
int, tsrc,
int, SI,
int, Ns,
int, Nt,
int, Nt_inv)
DistilParameters() = default;
template <class ReaderClass> DistilParameters(Reader<ReaderClass>& Reader){read(Reader,"Distil",*this);}
};
END_MODULE_NAMESPACE
END_HADRONS_NAMESPACE

View File

@@ -316,6 +316,7 @@ void TLapEvec<GImpl>::execute(void)
std::cout << GridLogMessage << " Compute eigenpack, Timeslice = " << t << std::endl;
std::cout << GridLogMessage << "------------------------------------------------------------" << std::endl;
std::cout << "T: " << t << " / " << Ntfirst + Ntlocal << std::endl;
eig[t].resize(LPar.Nk+LPar.Np,gridLD);
// Construct smearing operator
@@ -356,7 +357,7 @@ void TLapEvec<GImpl>::execute(void)
// Now rotate the eigenvectors into our phase convention
RotateEigen( eig[t].evec );
if((1)) { // Debugging only
if((0)) { // Debugging only
// Write the eigenvectors and eigenvalues to disk
//std::cout << GridLogMessage << "Writing eigenvalues/vectors to " << pszEigenPack << std::endl;
eig[t].record.operatorXml = DefaultOperatorXml;
@@ -365,6 +366,7 @@ void TLapEvec<GImpl>::execute(void)
//std::cout << GridLogMessage << "Written eigenvectors" << std::endl;
}
}
std::cout << "T: " << t << " / " << Ntfirst + Ntlocal << std::endl;
for (int i=0;i<LPar.Nvec;i++){
std::cout << "Inserting Timeslice " << t << " into vector " << i << std::endl;
InsertSliceLocal(eig[t].evec[i],eig4d.evec[i],0,t,3);

View File

@@ -19,7 +19,7 @@ BEGIN_HADRONS_NAMESPACE
* PerambLight *
******************************************************************************/
BEGIN_MODULE_NAMESPACE(MDistil)
/*
struct DistilParameters: Serializable {
GRID_SERIALIZABLE_CLASS_MEMBERS(DistilParameters,
int, TI,
@@ -33,7 +33,7 @@ struct DistilParameters: Serializable {
DistilParameters() = default;
template <class ReaderClass> DistilParameters(Reader<ReaderClass>& Reader){read(Reader,"Distil",*this);}
};
*/
struct SolverParameters: Serializable {
GRID_SERIALIZABLE_CLASS_MEMBERS(SolverParameters,
double, CGPrecision,