Complex geomtry meshing problem
Complex geomtry meshing problemPosted by Roman Gášpár at March 10. 2013
I have a specific meshing problem. I have 2 parts (see pic). I connect them (create compound / build solid) and I want to create mesh as a single body but meshig module still try to create mesh separately. Do you have any idea how to fix that problem?
I need a hexahedral mesh.
Thx for your time.
If your 2 parts are solids, than you are to join them using Fuse or Partition.
I created these parts by extrusion of a surface (create solid) and cut. I created solid, right? So that' s the reason why I'm so surprised of meshing module.
I did it right?
1) Could you provide us with output of "Measures / What Is" command?
2) It's not clear from only one picture... Maybe Mesh module does not mesh 2 parts separately, and actually we see one "part" meshed because it's topology is OK for Quadrangle_2D algorithm and the other "part" not meshed because it's not suitable for meshing by Quadrangle_2D algorithm?
Now it's clear
Free meshers of SALOME can create hexahedral mesh only on solids that are logical boxes (have 6 faces). So in your case you are to split your model into "boxes" for example like I drawn in the attached picture. As a result you need to get a compound of solids.
Thank you, It's clear.
But one more question. I choosed this shape, because I tried to avoid small angle on the corners (hexas will very tilted - see pic), and as far as I know, very tilted hexas for computation are not very usefull. My first target was to avoid this problem. Originally I tried to generate similiar mesh as on picture. Is any possibilities in the mesh module (or geometry module) to define faces as I drew (L-R , T-B)? Which means convice mesh module, that the "Left" face Is just one face?
I don't believe that SALOME would ever be able to do automatically what you wish. I can suggest doing it semi-automatically.
My idea is to create the mesh like you drew in red in a Python script using Trans-Finite Interpolation (a I've got a script that needs adjustment for your geometry only), the rest (lateral) faces will be meshed by SALOME as well as the final hexahedral mesh.
Really? And can you send me that script? I'm not sure if I will understand the script philosophy, but I will try anyway if you will that kindly and you will send me it. Or you can just show me the right direction
Here is the script creating TFI mesh on one face of Solid_1.brep that you attached to one of previous messages. You are to
1) calculate mesh on lateral faces only (possibly using GUI)
2) make TFI mesh on the top and bottom faces using the script
3) create a new mesh by copying the just computed mesh in order to get a mesh w/o geometry.
4) assign Hexahedron algo and compute.
Not that you will face problems because there are coincident vertices in your solid. Try to create a shape w/o them. Alternatively you can just merge coincident nodes before computing hexahedral mesh.
Note also that TFI mesh does not lie on your faces. If it's unacceptable for you, you can attune the script to project nodes computed by TFI on your faces: i.e. find two projections of a node to two faces using geompy.MakeProjection() and then move the node to the closest projection point.