Hi community,
  I have implemented a new boundary condition and I referenced the implementation of the feature/flowrate branch to evaluate the flow rate on a boundary.

There were a couple places where m_comm->AllReduce was used and I emulated the form in solvers/IncNavierStokesSolver/EquationSystems/IncNavierStokes.cpp

that look like the following:

m_RCParams[fldid][bndid]->m_FlowRateArea = BndCondExp->Integral(inArea);
m_comm->AllReduce(m_RCParams[fldid][bndid]->m_FlowRateArea, LibUtilities::ReduceMax);

and 

flowrate = BndCondExp->VectorFlux(bndVelocity);
m_comm->AllReduce(flowrate, LibUtilities::ReduceSum);


but using AllReduce causes the solver to lock/freeze, should I be doing something like if(m_comm.GetRank() == 0)? 

I can remove the AllReduce, but then I am repeating the calculation on each core correct? is there a best/better way to do this in nektar++?

Thanks for all your help and support!

--
Kurt Sansom
Multiphase & Cardiovascular Flow Lab
University of Washington