From d3fd23117af33b8821273a8f31170beba75babc8 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Fri, 14 May 2021 11:28:24 -0400 Subject: [PATCH] Better block dimension checking and if Block >= Global dims implement non-Dirichlet --- Grid/qcd/action/fermion/DirichletFermionOperator.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Grid/qcd/action/fermion/DirichletFermionOperator.h b/Grid/qcd/action/fermion/DirichletFermionOperator.h index 47268cc8..321dfd4b 100644 --- a/Grid/qcd/action/fermion/DirichletFermionOperator.h +++ b/Grid/qcd/action/fermion/DirichletFermionOperator.h @@ -47,7 +47,7 @@ public: FermionOperator & FermOp; // Constructor / bespoke - DirichletFermionOperator(FermionOperator & _FermOp, Coordinate _Block) : FermOp(_FermOp), Block(_Block), Filter(_Block) + DirichletFermionOperator(FermionOperator & _FermOp, Coordinate &_Block) : FermOp(_FermOp), Block(_Block), Filter(_Block) { // Save what the comms mode should be under normal BCs CommsMode = WilsonKernelsStatic::Comms; @@ -59,11 +59,15 @@ public: int blocks_per_rank = 1; Coordinate LocalDims = grid->LocalDimensions(); + Coordinate GlobalDims= grid->GlobalDimensions(); assert(Block.size()==LocalDims.size()); + for(int d=0;d