Force meshing to have equal points position over two planes geometrically equal

Hello,
I have two surfaces that are equal (in terms of geometry) and I need a watertight surface mesh (2D) of the geometry.
right now, I am usign NETGEN 2D-1D as 2D algorithm for the meshing of it.
my issue is that even thought the surfaces are equal (in terms of geometry, lets say group_1 and group_2) the resulting mesh does not have the points in the same location.
what I am seeking help with, would be: a workflow to achieve a mesh where the groups on faces of the mesh will have the same position of points and that the mesh is watertight at the same time(conformal, i.e., that the different group on faces are connected correctly).
for the moment the best results I have had were with mefisto (or netgen 2D)+1D local length with this, the two meshed faces are really similar, nevertheless not equal.
I am uploading an example of what I mean, with a simple geometry.
Study1_.hdf (1018,0 KB)

any insight will be more than welcome.

Hi
Try Projection [1D-]2D algorithm
St.Michael

Hello st.michael,
sorry to bother you more but could you give me more details/show it with an example? a dump python script or an hdf file?
thanks you,
F.

In Study1_.hdf (217.5 KB), I create a sub-mesh on geom Group_1 with Projection 1D-2D algo, and specify geom Group_2 as a source of projection.
St.Michael

1 Like

Thanks a lot!
best regards, franco

dear @smeap ,
thanks again for your help, I am sorry to continue to bother you with this (as we already discussed a back in the old forum) old thread
In difference to the old thread I am 100% creating the geometry in salome. by an script. eventhought the two faces should be “equivalents” there is a different number of edges in the two sides that I want to project. how could I resolve post geometry creation or avoid this issue while creating it? in the old thread you named a way to remediate this after meshing normally the geometry. but would prefer to solve it before the meshing process to be able to succesfully use the workflow previously mentioned here (with projection 1d-2d.
regards,
franco

A way I see is to define 1D sub-meshes on edges that must be equally meshed, and either to apply equal Number of Segments to these edges, or to use Projection 1D from one edge to another. Unfortunately it will be impossible to use NETGEN 1D-2D to mesh these edges this way.

so, if I understand you correctly,
i created a cube and added a vertex to simulate this issue. then

1.create the two face groups, group_1 and group_2, create a sub group of edges_1 and edges_2 (all edges from the prevously created groups.
2. create a mesh of the object. 2D netgen and 1D wire discretization and define number of segments.
3. create a submesh of edges_1 with project 1D from edges_2
4. compute
this gives me an error.
NETGEN 1D-2D is it not necessary right now I was using netgen 2D+ wire discretization with local length
here is the file to reproduce this issue. while computing I am getting the error “Vertices association failed”
Study1_.hdf (175,9 KB)

Hello @smeap could you please detail a little bit more your approach? I still have not successfully achieved what I am trying to do.
best regards,
F.

Hi
From your study I see that you caught correctly the idea. I suspect that 1D projection does not work because a source and a target groups contain different number of edges. As the documentation says “The source and target groups must contain equal number of edges and they must form topologically equal structures.”
St.Michael

What I thought was to grab the vertexs (v1) of one face and the ones of the other (v2) and project them in the opposite face. And then delante any double (in same position) but not sure if this is possible over the geometry module (i am sure that in reality my faces are equal ithink the difference of vertexes comes from the boolean operation resolving differently the intersection of cylinders with a plane from the edge of the cylinders that goes in the axial direction that are placed more or less in a random way…) … Any thoughts? Ideas? Or other work around?