Mesh for cracks
Hi, everyone!
I am employing Gmsh 4.8.4 to generate mesh for adaptive crack propagation analysis.
I tried two methods to insert cracks in Gmsh: 1. Crack plugin and 2. Boolean Difference (Cut). I got some problems for both methods. If there are other methods, please tell me.
1. For Crack plugin, it is good for generating mesh for embedded cracks, but I get troubles for edge cracks.
If the crack line touch the boundary of the geometry, some element will degenerated into a line. See attachment edge_crack.geo and edge_crack.jpg for example, where the element 25 and 27 degenerated into a line. edge_crack.geo
I then tried to extend the crack line outside the boundary, no degenerated elements are found but the node at the intersection of the crack line and boundary is not separated (node 10 in edge_crack1_1.jpg), see edge_crack1.geo, edge_crack1_1.jpg and edge_crack1_2.jpg for example. edge_crack1_2.jpg is the deformed configurations after loading in the vertical direction. edge_crack1.geo
2. For Boolean Difference, it is applicable for both embedded and edge cracks. However, when the a geometry is cut by another geometry, the tags of entities change and physical groups defined previously can no longer refer to its entities. Is it possible to reserve those tags of entities which are not influenced by the boolean difference operation? Or can the physical groups track their entities after cut?
Temporarily, I use python API to record down the bounding box and bounds of the parametrization coordinates for entities in the physical group by "getBoundingBox" and "getParametrizationBounds" commands respectively. After cutting, I recover each entity in the physical group by firstly get entities within the target bounding box by "getEntitiesInBoundingBox". If only one entity is found, it is regarded as the entity I need. If multiple entities are found, their bounds of parametrization coordinates are compared with the target entity. The method now works for my simple examples, but I wonder if it is robust for other cases? Any better solution?
3. To analyse the crack in FEM, generally a focused mesh is used at the crack tip with collapsed quadrilateral (2D) or hexahedral (3D) elements to model the singularity. Can Gmsh realize this function? Or will the function be added to the crack plugin in the future?
Temporarily I leave the crack tip region empty and insert meshes by additional post-processing.
4. Besides mesh for cracks, is it possible to record down all operations in the GUI to the script?
Great thanks!