A full quadrilateral mesh generation method based on the Q-Morph algorithm

synt

CAD practitioner
it seems to be right, i accessed from the GUI and required to define point of coordinates (xi,yi,zi) and maxH locally. Another options can be use line based refinement, an arc or circle represent by many connected lines (polygonal).

Can you tell me what the contents of the file are?

it's available on official document of NetGen.

2023-08-22 16_18_54-ng4.pdf.png
 
Last edited:

calciffer

Active CAD practitioner
it seems to be right, i accessed from the GUI and required to define point of coordinates (xi,yi,zi) and maxH locally. Another options can be use line based refinement, an arc or circle represent by many connected lines (polygonal).



it's available on official document of NetGen.

View attachment 734


So, I can specify the location of the boundary node and the connection of the boundary edge through the ".msz" file, then let the netgen library fill the trigulation, right?
Can you show me a demo?
 

calciffer

Active CAD practitioner
it seems to be right, i accessed from the GUI and required to define point of coordinates (xi,yi,zi) and maxH locally. Another options can be use line based refinement, an arc or circle represent by many connected lines (polygonal).

Hi, synt
I have just tested the .msz file to control the boundary node of a geometry surface. It succeeded.
Thank you very much, I think I can generate a real full quad mesh by this way.

What I need to figure out now is the correspondence between topods_edge and boundary nodes.
Thank you again.
 

synt

CAD practitioner
I have just tested the .msz file to control the boundary node of a geometry surface. It succeeded.
Thank you very much, I think I can generate a real full quad mesh by this way.
good news, hopefully your great contribution be implemented in Analysis Situs.
 

calciffer

Active CAD practitioner
good news, hopefully your great contribution be implemented in Analysis Situs.

I'm not an staff member of Analysis Situs, and I'm not sure if he wants to add this functionality to Analysis Situs.
I'm willing to provide the code if he wants to.
 

Quaoar

Administrator
Staff member
I'm not an staff member of Analysis Situs, and I'm not sure if he wants to add this functionality to Analysis Situs.
I'm willing to provide the code if he wants to.
Do you by any chance have a public repo with your algorithm? I think that not many people would use Analysis Situs (it's very specific), but many would like to give your algorithm a try.
 

calciffer

Active CAD practitioner
Do you by any chance have a public repo with your algorithm?
here it is, https://gitlab.com/NagahashiKouta/gtm_qmorph

The following problems still exist in this code:
  1. Can't control the number of boundary nodes, so there will be at most one triangular element
  2. The quality of generated quadrilateral elements is not high enough, and new algorithms should be developed to improve the quality of quadrilateral elements
  3. The stability and robustness of the code need to be improved
 

synt

CAD practitioner
here it is, https://gitlab.com/NagahashiKouta/gtm_qmorph

The following problems still exist in this code:
  1. Can't control the number of boundary nodes, so there will be at most one triangular element
  2. The quality of generated quadrilateral elements is not high enough, and new algorithms should be developed to improve the quality of quadrilateral elements
  3. The stability and robustness of the code need to be improved

so many thanks for sharing, maybe i can introduce to another opensource CAE developer to be integrated. However, i need to test before, is this possible to provide binary executable of CLI with OpenMesh dependency only?

So the user only provide mesh *.vol files then execute to generate quadrilateral in OpenMesh format (back to NetGen format could be great). An example command below,

GTM_Qmorph.exe inputmesh.vol outputmesh
 
Last edited:

calciffer

Active CAD practitioner
is this possible to provide binary executable of CLI with OpenMesh dependency only?
Hi, synt

The OpenMesh library is a static library, it has been integrated into the exe file, you need to prepare the .dll files of netgen, opencascade, vtk, tcltk, ffmpeg and freeimage.

So far, this code is still just a prototype. It reads brep files and generates vtk files

If you want to read vol files, there's a bit more work to do, but I'm sure it can be done
 

calciffer

Active CAD practitioner
good news, hopefully your great contribution be implemented in Analysis Situs
Hi, synt

It finally works. Now, the GTM_Qmorph method can generate a real full quadrilateral mesh.
Thank you again.
 
Last edited:

synt

CAD practitioner
i'm curious to try, can you provide binary executable of GTM_Qmorph.exe and text list of any dll dependency?
 

calciffer

Active CAD practitioner
i'm curious to try, can you provide binary executable of GTM_Qmorph.exe and text list of any dll dependency?
Sorry for the late reply
Since I don't know the system you are using and the third-party library version, so the better way is that you can compile the third-party libraries and executables yourself.
 

synt

CAD practitioner
indeed, i guess it can be failed to run properly on my pc due to specific library.

but it's ok, maybe it will drive me to learn in deployment of a complex software with many library dependencies.
 
Top