MATLAB Answers

0

How to export 3D spheres (3D plot) generated in Matlab to ANSYS or Abaqus. ?

Asked by Sadeep Thilakarathna on 5 Jul 2018
Latest activity Commented on by Biltu Mahato on 17 Oct 2018
I want to export 3D spheres generated in Matlab to ANSYS or Abaqus. 3D spheres are randomly generated and I want to mesh the 3D spheres and analyse those. Can anyone help me to export the 3D sphere plot to any meshing software like Gmsh or Ansys or Abaqus?

  2 Comments

The spheres in your image, are they represented by level-sets of an implicit function?
Hi..These spheres are randomly generated such that they do not overlap.ellipsoid function in Matlab is used.

Sign in to comment.

1 Answer

Answer by Anton Semechko on 6 Jul 2018
Edited by Anton Semechko on 6 Jul 2018

The builtin 'ellipsoid' and 'sphere' functions produce bad quality meshes (in terms of element shapes and connectivity of the vertices). You can get much better quality meshes using functions from here.
Here are is an example:
% Unit sphere based on subdivision of an icosahedron; triangular mesh
TRa=SubdivideSphericalMesh(IcosahedronMesh,4);
% Unit sphere based on subdivision of a cube; quadrilateral mesh
TRb=SubdivideSphericalMesh(QuadCubeMesh,4);
% Visualize
figure('color','w')
subplot(1,3,1)
h=trimesh(TRa);
set(h,'EdgeColor','k','FaceColor',[0.9 0.9 0.9],'EdgeAlpha',0.5);
axis equal off vis3d
view([30 30])
zoom(1.5)
avp=GetAxesViewProps(gca);
ha=subplot(1,3,2);
h=patch(TRb);
set(h,'EdgeColor','k','FaceColor',[0.9 0.9 0.9],'EdgeAlpha',0.5);
axis equal off vis3d
MatchAxesView(avp,ha)
% Plot sphere generated with built-in 'sphere' function for comparison
ha=subplot(1,3,3);
[X,Y,Z]=sphere(20);
h=surf(X,Y,Z);
set(h,'EdgeColor','k','FaceColor',[0.9 0.9 0.9],'EdgeAlpha',0.5);
axis equal off vis3d
MatchAxesView(avp,ha)
Functions 'GetAxesViewProps' and 'MatchAxesView' used in this example can be downloaded from here.
1) When exporting the meshes, do you want the program to recognize the individual spheres or would it be OK if the their face-vertex connectivity lists were merged (so you would have a single mesh containing multiple disconnected spheres)?
2) What type of meshes will you be generating after exporting the spheres; hexahedral or tetrahedral?

  8 Comments

I was under the assumption that you were going to be using surface meshes as input to generate volumetric tet meshes in the program of your choice. If you want, you can also generate tet meshes directly in Matlab using 'iso2mesh' toolbox. 's2m' is name of the function you want to be using. Description of this function can be found here .
Yes...I wanted to generate volumetric meshes in Abaqus. However, when the a surface mesh is imported in to software, it cannot be remeshed. There is a plugin to convert the mesh in to the geometric model again in Abaqus. However, when it is converted to the geometry it will become a surface and volumetric meshes cannot be applied to the model. Thank you very much for the solutions you gave me. I will try to use the iso2mesh as well.
How did you assign material properties to .stl file? Abaqus doesn't let me assign material properties in Abaqus for .stl file imported from Matlab.

Sign in to comment.