Adding a feature to split edges of geometry

Now that the quad/hexa meshing is implemented using Gmsh, partition of faces sometimes is needed for better meshing. There is the posibility to split faces using actual vertices of the geometry, but having the possibility of adding first new vertices by spliting edges would improve the creation of such partitions.

3 Likes

I do the partitions in FreeCAD (before importing to PrePoMax) because there it’s very easy. But this rather small feature could indeed improve the existing partitioning capabilities of PrePoMax, without having to implement more tools for that (like surface/volume partitioning in various other ways).

2 Likes

I have seen the partitions examples in the other thread using straight lines, but when your part has fillets or curved faces, doing the partitions with arcs helps a lot to keep the element shape without too much distortion.

1 Like

That’s also easy in FreeCAD - you can sketch whatever you want and use that sketch to create a face partition.

currently a face can be split by two points, adding the capabilities based on single point and shortest distance to the nearest edge could be a useful feature.

Yes, adding a partitioning tool is also my idea/plan. I can now work on the geometry using the Gmsh geometry kernel (much easier than working with Netgens geometry kernel due to the implementation), making geometry processing features easier to add. Probably, adding a sketcher would be too much, but some other splitting tools could be added. The most basic one is probably using a plane.

3 Likes

For reference, Abaqus has the following partitioning tools:

  1. For edges:
  • Specify parameter by location
  • Enter parameter
  • Select midpoint/datum point
  • Use datum plane
  1. For faces:
  • Sketch
  • Use shortest path between 2 points
  • Use datum plane
  • Use curved path normal to 2 edges
  • Extend another face
  • Intersect by other faces
  • Project edges
  1. For volumes:
  • Define cutting plane (by point and normal, 3 points or normal to edge)
  • Use datum plane
  • Extend face
  • Extrude/sweep edges
  • Use n-sided patch
  • Sketch planar partition

Altogether, they allow for quite advanced partitioning. Maybe some of them could be implemented in PrePoMax. I marked the most commonly used ones in each group.

2 Likes

Hello @FEAnalyst ,
I am currently trying to divide in FreeCad the sketch into different faces. Which workbench did you use to do this?
I would really appreciate a quick tip.
Thank you very much.

Select the sketch and the face and use this tool in the Part workbench: Part BooleanFragments - FreeCAD Documentation

I recently described partitioning for FEM in FreeCAD on this page: FEM Geometry Preparation and Meshing - FreeCAD Documentation

Very interesting tutorials, @FEAnalyst . I’ve been using datum planes and the boolean operation “slice to compound” for simple partitioning in the geometry.

Many thanks for the valuable tips. I already understand the boolean operations, but I can’t get it to work in my step files like in the tutorial example, which only has one surface with additional edges.

The model in Matej’s tutorial also has multiple faces but he uses the Surface angle selection to select them all at once.

I understand that and I can also understand the tutorial example.
For my problem I probably need a little support from the Freecad forum.

That’s indeed the best place for questions about FreeCAD.

If it doesn’t work as shown, would you upload the step file for testing?

Hello Everyone,

Enclosed are the two files as a step and as a Freecad to make it easier to understand.
Thank you very much to @FEAnalyst , @Gunnar

Workbench “Part” with BooleanFragments

Sketch002
image

Sketch003 (to add the neccessary edges)

https://1drv.ms/u/s!AsOI9D-fl1RggaJdqZjA316Kt8c9uQ?e=SHHy78

https://1drv.ms/u/s!AsOI9D-fl1RggaJeUfhfGeYsy2eghw?e=kPhdZf

It’s working as expected. But you need to revolve part for part in prepomax, it’s not working if you select more than one. Also you should make two additional splittings for a better mesh:

If you want a coincident mesh with sharing nodes, you need a compound part. But then you can not use the revolve mesh feature. In this case you need a volume splitting.