Suppose I have constructed a circular geometric domain by joining n subarcs, which are labeled from 1 to 10. Now, I need to compute a boundary integral, but only on the arcs from 1 to 9.
Can I create a vector of labels and pass it to int1d?
n = 10;
int[int] labsext(n-1);
for(int i=0; i<n-1; ++i)
labsext[i] = i+1;
varf NeumannRHS(u,eta) = int1d(Th,labsext)( (dxGj*N.x + dyGj*N.y)*eta );
Another way may be:
n = 10;
varf NeumannRHS(u,eta) = int1d(Th)((label>=1 && label<n)*( (dxGj*N.x + dyGj*N.y)*eta ));
The results of these two constructions should be the same, right? Some of the constructions above compile correctly, but may return incorrect results?