Measure area only for specific labels

So imagine a 3D body, can also be as simple as cube.

load "msh3"

int[int] l6 = [37, 42, 45, 40, 25, 57];
int r11 = 11;
mesh3 Th = cube(4, 5, 6, [x*2-1, y*2-1, z*2-1], label=l6, flags =3, region=r11);

cout << "Volume = " << Th.measure << ", border area = " << Th.bordermeasure << endl;

But is it possible to obtain the area of triangles with a specific label? For example, if I wanted to measure the boundary area of label 40, how would I do that?

Use extract, cf. FreeFem-sources/examples/3dSurf/extractSurfFromMesh3.edp, and then take the measure of the resulting meshS.

1 Like

just use

real area40= int2d(Th,40)(1.);

2 Likes