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