gmsh .m files, reading boundaries

34 views (last 30 days)
Divyaprakash
Divyaprakash on 7 May 2024
Commented: Divyaprakash on 19 May 2024
Is it possible to export the boundary information when exporting gmsh mesh. I want to apply forces to certain boundaries in the mesh. I read that one can identify domains in the mesh, but could not find any information regarding boundaries.

Accepted Answer

Jaynik
Jaynik on 16 May 2024
Hi Divyaprakash,
Assuming the variable 'msh' contains the mesh information from the Gmsh '.m' file. You can read the following answer to read the file in MATLAB: https://www.mathworks.com/matlabcentral/answers/483115-reading-msh-files-3d-in-matlab.
Once you have loaded the mesh information, you can use the findElements function to find mesh elements belonging to a specific region and the findNodes function to find the nodes that belong to a specific region from the Partial Differential Equation Toolbox.
You can directly use the properties of the 'msh' variable to create a triangulation object and use the freeBoundary function to find the outer surface of the mesh. Following is the code for the same:
nodes = msh.POS'; % Node coordinates
elements = msh.TETS(:, 1:4); % Element connectivity
T = triangulation(elements, nodes);
boundary_faces = freeBoundary(T);
Refer to the following documentation for more details about each function:
For a more detailed solution, it would be beneficial if you could provide additional details about your model.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!