mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-24 12:45:56 +01:00
Mixed precision & domain changes
This commit is contained in:
parent
302356189c
commit
e6366b98a5
@ -41,6 +41,7 @@ private:
|
|||||||
SchurFactoredFermionOperator<ImplD,ImplF> & NumOp;// the basic operator
|
SchurFactoredFermionOperator<ImplD,ImplF> & NumOp;// the basic operator
|
||||||
SchurFactoredFermionOperator<ImplD,ImplF> & DenOp;// the basic operator
|
SchurFactoredFermionOperator<ImplD,ImplF> & DenOp;// the basic operator
|
||||||
|
|
||||||
|
RealD InnerStoppingCondition;
|
||||||
RealD ActionStoppingCondition;
|
RealD ActionStoppingCondition;
|
||||||
RealD DerivativeStoppingCondition;
|
RealD DerivativeStoppingCondition;
|
||||||
|
|
||||||
@ -49,9 +50,10 @@ private:
|
|||||||
public:
|
public:
|
||||||
DomainDecomposedBoundaryTwoFlavourRatioPseudoFermion(SchurFactoredFermionOperator<ImplD,ImplF> &_NumOp,
|
DomainDecomposedBoundaryTwoFlavourRatioPseudoFermion(SchurFactoredFermionOperator<ImplD,ImplF> &_NumOp,
|
||||||
SchurFactoredFermionOperator<ImplD,ImplF> &_DenOp,
|
SchurFactoredFermionOperator<ImplD,ImplF> &_DenOp,
|
||||||
RealD _DerivativeTol, RealD _ActionTol)
|
RealD _DerivativeTol, RealD _ActionTol, RealD _InnerTol=1.0e-6)
|
||||||
: NumOp(_NumOp), DenOp(_DenOp),
|
: NumOp(_NumOp), DenOp(_DenOp),
|
||||||
Phi(_NumOp.PeriodicFermOpD.FermionGrid()),
|
Phi(_NumOp.PeriodicFermOpD.FermionGrid()),
|
||||||
|
InnerStoppingCondition(_InnerTol),
|
||||||
DerivativeStoppingCondition(_DerivativeTol),
|
DerivativeStoppingCondition(_DerivativeTol),
|
||||||
ActionStoppingCondition(_ActionTol)
|
ActionStoppingCondition(_ActionTol)
|
||||||
{};
|
{};
|
||||||
@ -89,10 +91,13 @@ public:
|
|||||||
gaussian(pRNG,eta); eta=eta*scale;
|
gaussian(pRNG,eta); eta=eta*scale;
|
||||||
|
|
||||||
NumOp.ProjectBoundaryBar(eta);
|
NumOp.ProjectBoundaryBar(eta);
|
||||||
|
NumOp.tolinner=InnerStoppingCondition;
|
||||||
|
DenOp.tolinner=InnerStoppingCondition;
|
||||||
DenOp.tol = ActionStoppingCondition;
|
DenOp.tol = ActionStoppingCondition;
|
||||||
NumOp.tol = ActionStoppingCondition;
|
NumOp.tol = ActionStoppingCondition;
|
||||||
DenOp.R(eta,tmp);
|
DenOp.R(eta,tmp);
|
||||||
NumOp.RInv(tmp,Phi);
|
NumOp.RInv(tmp,Phi);
|
||||||
|
DumpSliceNorm("Phi",Phi);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -107,6 +112,8 @@ public:
|
|||||||
FermionField X(NumOp.PeriodicFermOpD.FermionGrid());
|
FermionField X(NumOp.PeriodicFermOpD.FermionGrid());
|
||||||
FermionField Y(NumOp.PeriodicFermOpD.FermionGrid());
|
FermionField Y(NumOp.PeriodicFermOpD.FermionGrid());
|
||||||
|
|
||||||
|
NumOp.tolinner=InnerStoppingCondition;
|
||||||
|
DenOp.tolinner=InnerStoppingCondition;
|
||||||
DenOp.tol = ActionStoppingCondition;
|
DenOp.tol = ActionStoppingCondition;
|
||||||
NumOp.tol = ActionStoppingCondition;
|
NumOp.tol = ActionStoppingCondition;
|
||||||
NumOp.R(Phi,Y);
|
NumOp.R(Phi,Y);
|
||||||
@ -146,6 +153,8 @@ public:
|
|||||||
FermionField PdagRinvDagRinvP_Phi(fgrid);
|
FermionField PdagRinvDagRinvP_Phi(fgrid);
|
||||||
|
|
||||||
// RealD action = S(U);
|
// RealD action = S(U);
|
||||||
|
NumOp.tolinner=InnerStoppingCondition;
|
||||||
|
DenOp.tolinner=InnerStoppingCondition;
|
||||||
DenOp.tol = DerivativeStoppingCondition;
|
DenOp.tol = DerivativeStoppingCondition;
|
||||||
NumOp.tol = DerivativeStoppingCondition;
|
NumOp.tol = DerivativeStoppingCondition;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user