mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 13:40:46 +01:00
Hadrons: Lanczos more conservative type names
This commit is contained in:
parent
6ec42b4b82
commit
b8b05f143f
@ -11,16 +11,13 @@ BEGIN_HADRONS_NAMESPACE
|
|||||||
#define HADRONS_DEFAULT_LANCZOS_NBASIS 60
|
#define HADRONS_DEFAULT_LANCZOS_NBASIS 60
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
template <typename FImpl, int nBasis>
|
|
||||||
using LCL = LocalCoherenceLanczos<typename FImpl::SiteSpinor,
|
|
||||||
typename FImpl::SiteComplex, nBasis>;
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct EigenPack
|
struct EigenPack
|
||||||
{
|
{
|
||||||
|
typedef T VectorType;
|
||||||
std::vector<RealD> eval;
|
std::vector<RealD> eval;
|
||||||
std::vector<T> evec;
|
std::vector<T> evec;
|
||||||
|
|
||||||
EigenPack(void) = default;
|
EigenPack(void) = default;
|
||||||
|
|
||||||
EigenPack(const size_t size, GridBase *grid)
|
EigenPack(const size_t size, GridBase *grid)
|
||||||
@ -81,7 +78,10 @@ template <typename FImpl>
|
|||||||
using FineEigenPack = EigenPack<typename FImpl::FermionField>;
|
using FineEigenPack = EigenPack<typename FImpl::FermionField>;
|
||||||
|
|
||||||
template <typename FImpl, int nBasis>
|
template <typename FImpl, int nBasis>
|
||||||
using CoarseEigenPack = EigenPack<typename LCL<FImpl, nBasis>::CoarseField>;
|
using CoarseEigenPack = EigenPack<
|
||||||
|
typename LocalCoherenceLanczos<typename FImpl::SiteSpinor,
|
||||||
|
typename FImpl::SiteComplex,
|
||||||
|
nBasis>::CoarseField>;
|
||||||
|
|
||||||
END_HADRONS_NAMESPACE
|
END_HADRONS_NAMESPACE
|
||||||
|
|
||||||
|
@ -60,9 +60,11 @@ class TLocalCoherenceLanczos: public Module<LocalCoherenceLanczosPar>
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FERM_TYPE_ALIASES(FImpl,);
|
FERM_TYPE_ALIASES(FImpl,);
|
||||||
typedef LCL<FImpl, nBasis> LCL;
|
typedef LocalCoherenceLanczos<typename FImpl::SiteSpinor,
|
||||||
typedef FineEigenPack<FImpl> FineEigenPack;
|
typename FImpl::SiteComplex,
|
||||||
typedef CoarseEigenPack<FImpl, nBasis> CoarseEigenPack;
|
nBasis> LCL;
|
||||||
|
typedef FineEigenPack<FImpl> FinePack;
|
||||||
|
typedef CoarseEigenPack<FImpl, nBasis> CoarsePack;
|
||||||
typedef HADRONS_DEFAULT_SCHUR_OP<FMat, FermionField> SchurFMat;
|
typedef HADRONS_DEFAULT_SCHUR_OP<FMat, FermionField> SchurFMat;
|
||||||
public:
|
public:
|
||||||
// constructor
|
// constructor
|
||||||
@ -185,12 +187,10 @@ void TLocalCoherenceLanczos<FImpl, nBasis>::setup(void)
|
|||||||
{
|
{
|
||||||
makeCoarseGrid();
|
makeCoarseGrid();
|
||||||
}
|
}
|
||||||
envCreate(FineEigenPack, fineName_, Ls_, par().fineParams.Nm,
|
envCreate(FinePack, fineName_, Ls_, par().fineParams.Nm, env().getRbGrid(Ls_));
|
||||||
env().getRbGrid(Ls_));
|
envCreate(CoarsePack, coarseName_, Ls_, par().coarseParams.Nm, coarseGridRb_.get());
|
||||||
envCreate(CoarseEigenPack, coarseName_, Ls_, par().coarseParams.Nm,
|
auto &fine = envGet(FinePack, fineName_);
|
||||||
coarseGridRb_.get());
|
auto &coarse = envGet(CoarsePack, coarseName_);
|
||||||
auto &fine = envGet(FineEigenPack, fineName_);
|
|
||||||
auto &coarse = envGet(CoarseEigenPack, coarseName_);
|
|
||||||
envTmp(SchurFMat, "mat", Ls_, envGet(FMat, par().action));
|
envTmp(SchurFMat, "mat", Ls_, envGet(FMat, par().action));
|
||||||
envGetTmp(SchurFMat, mat);
|
envGetTmp(SchurFMat, mat);
|
||||||
envTmp(LCL, "solver", Ls_, env().getRbGrid(Ls_), coarseGridRb_.get(), mat,
|
envTmp(LCL, "solver", Ls_, env().getRbGrid(Ls_), coarseGridRb_.get(), mat,
|
||||||
@ -203,8 +203,8 @@ void TLocalCoherenceLanczos<FImpl, nBasis>::execute(void)
|
|||||||
{
|
{
|
||||||
auto &finePar = par().fineParams;
|
auto &finePar = par().fineParams;
|
||||||
auto &coarsePar = par().coarseParams;
|
auto &coarsePar = par().coarseParams;
|
||||||
auto &fine = envGet(FineEigenPack, fineName_);
|
auto &fine = envGet(FinePack, fineName_);
|
||||||
auto &coarse = envGet(CoarseEigenPack, coarseName_);
|
auto &coarse = envGet(CoarsePack, coarseName_);
|
||||||
|
|
||||||
envGetTmp(LCL, solver);
|
envGetTmp(LCL, solver);
|
||||||
if (par().doFine)
|
if (par().doFine)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user