mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-19 08:17:05 +01:00
Hadrons: multi-file support for eigenpacks
This commit is contained in:
@ -45,6 +45,7 @@ class LoadCoarseEigenPackPar: Serializable
|
||||
public:
|
||||
GRID_SERIALIZABLE_CLASS_MEMBERS(LoadCoarseEigenPackPar,
|
||||
std::string, filestem,
|
||||
bool, multiFile,
|
||||
unsigned int, sizeFine,
|
||||
unsigned int, sizeCoarse,
|
||||
unsigned int, Ls,
|
||||
@ -120,7 +121,7 @@ void TLoadCoarseEigenPack<Pack>::execute(void)
|
||||
auto &epack = envGetDerived(BasePack, Pack, getName());
|
||||
Lattice<SiteComplex> dummy(cg);
|
||||
|
||||
epack.read(par().filestem, vm().getTrajectory());
|
||||
epack.read(par().filestem, par().multiFile, vm().getTrajectory());
|
||||
LOG(Message) << "Block Gramm-Schmidt pass 1"<< std::endl;
|
||||
blockOrthogonalise(dummy, epack.evec);
|
||||
LOG(Message) << "Block Gramm-Schmidt pass 2"<< std::endl;
|
||||
|
@ -45,6 +45,7 @@ class LoadEigenPackPar: Serializable
|
||||
public:
|
||||
GRID_SERIALIZABLE_CLASS_MEMBERS(LoadEigenPackPar,
|
||||
std::string, filestem,
|
||||
bool, multiFile,
|
||||
unsigned int, size,
|
||||
unsigned int, Ls);
|
||||
};
|
||||
@ -111,7 +112,7 @@ void TLoadEigenPack<Pack>::execute(void)
|
||||
{
|
||||
auto &epack = envGetDerived(BasePack, Pack, getName());
|
||||
|
||||
epack.read(par().filestem, vm().getTrajectory());
|
||||
epack.read(par().filestem, par().multiFile, vm().getTrajectory());
|
||||
epack.eval.resize(par().size);
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,8 @@ public:
|
||||
ChebyParams, smoother,
|
||||
RealD, coarseRelaxTol,
|
||||
std::string, blockSize,
|
||||
std::string, output);
|
||||
std::string, output,
|
||||
bool, multiFile);
|
||||
};
|
||||
|
||||
template <typename FImpl, int nBasis>
|
||||
@ -156,7 +157,7 @@ void TLocalCoherenceLanczos<FImpl, nBasis>::execute(void)
|
||||
solver.testFine(finePar.resid*100.0);
|
||||
if (!par().output.empty())
|
||||
{
|
||||
epack.writeFine(par().output, vm().getTrajectory());
|
||||
epack.writeFine(par().output, par().multiFile, vm().getTrajectory());
|
||||
}
|
||||
if (par().doCoarse)
|
||||
{
|
||||
@ -173,7 +174,7 @@ void TLocalCoherenceLanczos<FImpl, nBasis>::execute(void)
|
||||
par().coarseRelaxTol);
|
||||
if (!par().output.empty())
|
||||
{
|
||||
epack.writeCoarse(par().output, vm().getTrajectory());
|
||||
epack.writeCoarse(par().output, par().multiFile, vm().getTrajectory());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user