mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Ready to test spatial smearing (again)
This commit is contained in:
parent
50a74eaea3
commit
3ac5a69a57
@ -41,6 +41,7 @@ namespace QCD {
|
|||||||
template <class Gimpl>
|
template <class Gimpl>
|
||||||
class Smear_Stout : public Smear<Gimpl> {
|
class Smear_Stout : public Smear<Gimpl> {
|
||||||
private:
|
private:
|
||||||
|
const std::vector<double> SmearRho{};
|
||||||
// Smear<Gimpl>* ownership semantics:
|
// Smear<Gimpl>* ownership semantics:
|
||||||
// Smear<Gimpl>* passed in to constructor are owned by caller, so we don't delete them here
|
// Smear<Gimpl>* passed in to constructor are owned by caller, so we don't delete them here
|
||||||
// Smear<Gimpl>* created within constructor need to be deleted as part of the destructor
|
// Smear<Gimpl>* created within constructor need to be deleted as part of the destructor
|
||||||
@ -72,8 +73,8 @@ public:
|
|||||||
|
|
||||||
/*! Default constructor. rho is constant in all directions, optionally except for orthogonal dimension */
|
/*! Default constructor. rho is constant in all directions, optionally except for orthogonal dimension */
|
||||||
Smear_Stout(double rho, int orthogdim = -1)
|
Smear_Stout(double rho, int orthogdim = -1)
|
||||||
: OwnedBase{(orthogdim<0 || orthogdim>=Nd) ? new Smear_APE<Gimpl>(rho) : new Smear_APE<Gimpl>(rho3D(rho,orthogdim))},
|
//: OwnedBase{(orthogdim<0 || orthogdim>=Nd) ? new Smear_APE<Gimpl>(rho) : new Smear_APE<Gimpl>(rho3D(rho,orthogdim))},
|
||||||
SmearBase{OwnedBase.get()} {
|
: SmearRho{ rho3D(rho,orthogdim) }, OwnedBase{ new Smear_APE<Gimpl>(SmearRho) }, SmearBase{OwnedBase.get()} {
|
||||||
assert(Nc == 3 && "Stout smearing currently implemented only for Nc==3");
|
assert(Nc == 3 && "Stout smearing currently implemented only for Nc==3");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ void TLapEvec<GImpl>::execute(void)
|
|||||||
{
|
{
|
||||||
const StoutParameters &Stout{par().Stout};
|
const StoutParameters &Stout{par().Stout};
|
||||||
envGetTmp(GaugeField, Umu_stout);
|
envGetTmp(GaugeField, Umu_stout);
|
||||||
Smear_Stout<PeriodicGimplR> LS(Stout.parm );//, Tdir); // should be spatial - doesn't work yet
|
Smear_Stout<PeriodicGimplR> LS(Stout.parm, Tdir); // spatial smearing only
|
||||||
for (int i = 0; i < Stout.steps; i++) {
|
for (int i = 0; i < Stout.steps; i++) {
|
||||||
LS.smear(Umu_stout, Umu_smear);
|
LS.smear(Umu_stout, Umu_smear);
|
||||||
Umu_smear = Umu_stout;
|
Umu_smear = Umu_stout;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user