mirror of
https://github.com/paboyle/Grid.git
synced 2025-05-10 12:35:57 +01:00
Prepare to store the action in refresh
This commit is contained in:
parent
25bd03f201
commit
5b52f29b2f
@ -97,21 +97,9 @@ public:
|
||||
tmp = Zero();
|
||||
ActionSolver(MdagMOp,Phi,tmp); // (VdagV)^-1 Mdag eta = V^-1 Vdag^-1 Mdag eta
|
||||
NumOp.M(tmp,Phi); // Vdag^-1 Mdag eta
|
||||
#define FILTER
|
||||
#ifdef FILTER
|
||||
Integer OrthogDir=0;
|
||||
Integer plane=0;
|
||||
if ( getenv("DIR") ) OrthogDir = atoi(getenv("DIR"));
|
||||
if ( getenv("COOR") ) plane = atoi(getenv("COOR"));
|
||||
std::cout << " *** PseudoFermion FILTER DIR " <<OrthogDir << " plane "<<plane<<std::endl;
|
||||
Lattice<iScalar<vInteger> > coor(NumOp.FermionGrid());
|
||||
LatticeCoordinate(coor,OrthogDir);
|
||||
tmp = Zero();
|
||||
Phi = where(coor==plane,Phi,tmp);
|
||||
#endif
|
||||
|
||||
Phi=Phi*scale;
|
||||
|
||||
std::cout << GridLogMessage<<" TwoFlavourRatio Expect action to be "<<norm2(eta)*scale*scale<<std::endl;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
@ -133,6 +121,7 @@ public:
|
||||
DenOp.M(X,Y); // Y= Mdag^-1 Vdag phi
|
||||
|
||||
RealD action = norm2(Y);
|
||||
std::cout << GridLogMessage<<" TwoFlavourRatio action is "<<action<<std::endl;
|
||||
|
||||
return action;
|
||||
};
|
||||
@ -177,25 +166,6 @@ public:
|
||||
dSdU *= -1.0;
|
||||
//dSdU = - Ta(dSdU);
|
||||
|
||||
#ifdef FILTER
|
||||
std::cout <<" In force "<<std::endl;
|
||||
force = dSdU;
|
||||
int mu=0;
|
||||
std::cout << " FORCE mu " <<mu<<" L2 "<< norm2(force)<< " Linf " << maxLocalNorm2(force)<<std::endl;
|
||||
int plane=0;
|
||||
if ( getenv("COOR") ) plane = atoi(getenv("COOR"));
|
||||
Lattice<iScalar<vInteger> > coor(NumOp.GaugeGrid());
|
||||
|
||||
LatticeCoordinate(coor,mu);
|
||||
int L = NumOp.GaugeGrid()->FullDimensions()[mu];
|
||||
for (Integer p=0;p<L;p++) {
|
||||
force = Zero();
|
||||
force = where(coor==p,dSdU,force);
|
||||
std::cout << " FORCE mu " <<mu<<" PF plane "<<plane<<" T= " <<p<<" L2 "<< norm2(force)<< " Linf " << maxLocalNorm2(force)<<std::endl;
|
||||
}
|
||||
exit(0);
|
||||
#endif
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user