Hi there, so, I’m trying to change boundary labels. I have a global mesh with 8 triangles and in each triangle I’m building local meshs Th[i], where i represents the current global element. For now, my local mesh consists of only on element.
I used the degrees of freedom to find the boundary edge and the find the label.
fespace Lambda0(Th[i], P0edge);
Lambda0 lk0x = x, lk0y = y;
real[int,int] coordDoFl0k(Lambda0.ndofK,2);
for(int l= 0; l <Lambda0.ndofK; l++){
coordDoFl0k(l,0) = lk0x[][l];
coordDoFl0k(l,1) = lk0y[][l];
}
cout << coordDoFl0k << "\n";
real[int] RNumber(Lambda0.ndofK);
for(int l= 0; l <Lambda0.ndofK; l++){
int TNumber = Th[i](lk0x[][l],lk0y[][l]).nuTriangle;
RNumber(l) = Th[i][TNumber].label;
}
cout << RNumber << "\n";
the result is the following
3 2
0.5 0.25
0.25 0.25
0.25 0
3
0 0 0
then I used the following to try to change the labels
int[int] labelChange = [0,0, 0,1, 0,2];
Th[i] = change(Th[i], label = labelChange);
but this is not working. When I try to print the label, it remains 0 0 0.
Could anyone help me?