Hi Peter,
thanks for the exhaustive answer. So you are saying that in elmer the intersection of two geometry groups (with respect to the elements) is
always empty due to the tag limit? And how about the "mesh.elements" structure, does that support "multiple groups" for elements.
If i'd have to guess, this is how it'd go:
If an unv file contained two geometry groups with a non-empty intersection and would be converted with ElmerGrid, this "illegality" would not be checked and thus the topology of the groups would remain in the Elmer mesh format. But when the mesh is read in by ElmerSolver the intersected elements are first tagged with the first group (say Omega_1) and then over written with the second group (Omega_2). Thus we would have:
Code: Select all
Omega_1_{ES} = Cut(Omega_1, Omega_2)
Omega_2_{ES} = Omega_1
where Omega_1 and Omega_2 are the original groups, Omega_1_{ES} and Omega_1_{ES} are the groups seen by ElmerSolver.
Or maybe this overwriting is already happening in ElmerGrid?
Is this guessing correct?
Actually, why I'm so interested about this is because currently I have a really complicated geometry topology with thousands of faces and I need to group them with some algorithms in Salome. I have intersections of boundary geometry groups that are non-empty. The model runs fine and any of the software during my work flow complains about this. So I'm wondering what is happening with my groups? My guessing would explain this.
I think the "one tag limit" is actually a good protection against "bad ideas". Now that you tell me there is a feature to this direction in ElmerGrid, I think it is the correct place to put it: ElmerGrid is about mesh manipulation and ElmerSolver about solving stuff. So If the mesh is not needed to be manipulated during the solving, it should be done in ElmerGrid. You are absolutely right about that.
So maybe we should concentrate on ElmerGrid instead and build upon the idea you already have?
Should there be a feature in ElmerGrid that checks these intersections and prints out something like: "Omega_1 and Omega_2 have common elements!". Then one could say to ElmerGrid to create the intersection and the two originals that are cut with the intersection.
What is your estimation about the coding effort of this kind of feature?
Cheers,
Eelis