This tool consists of a few functions, like, im2Bounds (image to polygonal boundaries), getCtrlPnts (mark intersecting vertex between polygons, serving as fixed point for polygon simplification and meshing), simplifyBounds (simplify polygon), poly2mesh (polygon to triangular meshes), getInterf (search nodes at interface), printInp (export as Inp file). The Inp file can be imported into software Abaqus.
This tool was originally written in March 2018 for particle material with air void. The code was rewritten in 2019 so it can work for multi-phase materials. Exactly reserve the contact detail between different phases.
Note: To make this code run (especially for poly2mesh), you need to download MESH2D from https://www.mathworks.com/matlabcentral/fileexchange/25555-mesh2d-delaunay-based-unstructured-mesh-generation, and add the folder (mesh2d-master) to your path. After that, you can start with demo() in im2mesh, and try to vary the parameter - tolerance to see its effects on the result. Check the images in the folder (im2mesh\examples\...).
If you have any questions or suggestions, feel free to send me an email.
email@example.com, July 2019.
Jiexian Ma (2019). Im2mesh (2D image to triangular meshes) (https://www.mathworks.com/matlabcentral/fileexchange/71772-im2mesh-2d-image-to-triangular-meshes), MATLAB Central File Exchange. Retrieved .
I tried the code by running the "demo.m" file. There is an Abaqus input file, "test.inp", generated. However, when I import the inp file to ABAQUS CAE or Hypermesh, both of them complain about errors. Would you please double check the formatting of the inp file?
new image for cover
revise getCtrlPnts() for time efficiency