Defining "complex" geometry for hand drawn mesh

41 views
Skip to first unread message

phillip mobley

unread,
Jul 31, 2017, 1:54:26 PM7/31/17
to deal.II User Group
Hello all,

after going dark for sometime, I ma slowly coming back to dealii! I have made quite a bit of progress with this simulator that I am creating. The UI is now fully fleshed out. There was this crazy dev cycle where it took a long time (that and I was learning a new C++ library)

I am currently working on a method to save my data structures and using the boost::serialization class.

But that is besides the point.

I am gearing up to create an algorithm to take an arbitrary geometry and create a mesh from it. I am only sticking to 2D! But since this is going to be used by other users, I can guarantee what the geometry is going to look like. All that I know for sure is that the geometry will be strictly 2D. In this geometry, there will be sections that are marked for the mesh resolution. I am currently considering 2 different options. The first would be to simply utilize the code that is available through gmsh and customize this code with what I have for my own data structures. the other option is to use dealii internal functions for creating a mesh. However, going through the FAQ, it is saying that the geometry needs to be simple. More complex geometry would require a mesh generator. Using the internal mesh generation would simplify some aspects of the programming.

My question(s) is this:

1) Based on this post, do you think that I should attempt to use dealli internal mesh generation or would it be better to utilize gmsh source code and intergrate it into my code? (As a side note, I am not sure yet if the program is better off using structured or unstructured quads or both! More details later. But, if there is a perfered option when dealing with FEA, please let me know.)

2) In the FAQ when talking about creating the grid manually using the Triangulation::create_triagulation. I am wondering what it means for the geometry to be simple? Is the simple geometry mainly for 3D? Are all 2D geomtries simple? Is there every a case when 2D geometry can be complex? 

Bruno Turcksin

unread,
Jul 31, 2017, 3:10:03 PM7/31/17
to deal.II User Group
Philip,


On Monday, July 31, 2017 at 1:54:26 PM UTC-4, phillip mobley wrote:
1) Based on this post, do you think that I should attempt to use dealli internal mesh generation or would it be better to utilize gmsh source code and intergrate it into my code? (As a side note, I am not sure yet if the program is better off using structured or unstructured quads or both! More details later. But, if there is a perfered option when dealing with FEA, please let me know.)
 

2) In the FAQ when talking about creating the grid manually using the Triangulation::create_triagulation. I am wondering what it means for the geometry to be simple? Is the simple geometry mainly for 3D? Are all 2D geomtries simple? Is there every a case when 2D geometry can be complex? 
If you don't know what the mesh will look like, I would use gmsh. You can create a complex mesh with deal.II own functions but you will have to write a lot of code. I have been working on python wrappers to help generate the mesh (see https://github.com/dealii/dealii/blob/master/contrib/python-bindings/tests/triangulation_wrapper.py) but there are not complete yet. I hope to merge a lot more grid generators soon but if the mesh is totally arbitrary I would still go with gmsh. There is no definition of simple geometry but if you need to merge more than five or six triangulations, it will probably easier to use gmsh.

Best,

Bruno

Jean-Paul Pelteret

unread,
Aug 1, 2017, 12:29:20 AM8/1/17
to deal.II User Group
I agree completely with Bruno. Generating quadrilateral meshes for arbitrary geometries is not a trivial task (for every complex mesh that you envision, someone could likely dream up of a more challenging scenario). When you add the constraint that the mesh has to be of good quality, and have other user-defined characteristics (e.g. refinement zones) then I would say that it is a very hard task indeed. If its available and suitable for your purposes, then why would you not use a provably robust, specialised tool for a specialised job? 

J-P
Reply all
Reply to author
Forward
0 new messages