Hi I am trying to understand the following operation.
however the documentation doesn't give it a description. I am trying evaluate the flow rate through a boundary and there is something similar in the feature/flowrate branch that uses this operation, but it is unclear to me what it is doing.
I believe it is extracting the physical values from a boundary and placing them in the boundary variable but I am not sure what the element array variable is for, can it be an empty array or does it need to be populated with something?
I am trying to do something like this.
MultiRegions::ExpListSharedPtr BndCondExp;
BndCondExp = m_fields[fldid]->GetBndCondExpansions()[bndid];
Array<OneD, Array<OneD, NekDouble> > flux(m_spacedim);
//m_fields[0]->GetBndElmtExpansion(n, BndElmtExp, false);
// extract the boundary coefficients
int i;
for(i = 0; i < m_spacedim; i++)
{
flux[i] = m_fields[i]->GetBndCondExpansions()[boundaryID]->GetCoeffs();
}
NekDouble flowrate = 0.0;
Array<OneD, Array<OneD, NekDouble> > boundary(m_spacedim);
for (i = 0; i < m_spacedim; ++i)
{
m_fields[i]->ExtractElmtToBndPhys(
bndid, flux[i], boundary[i]);
}
flowrate = BndCondExp->VectorFlux(boundary);
m_comm->AllReduce(flowrate, LibUtilities::ReduceSum);
flowrate = flowrate / m_RCParams[fldid][bndid]->m_FlowRateArea;