Figure 1 Unstructured Mesh
Triangular meshs can also be structured triangular with triangulation in some particular direction as shown in figure 2 and figure 3.
The Unstructured mesh shown in Figure 1 is basically made by randomly perturbing the nodes of a unifrom triangular mesh and it look very much like a delaunay mesh. Figure 4 shows a unstructured triangular delaunay mesh.
Now comming to How to generate shuch kind of meshes. I will here give a simple example of generating regular structured triangular mesh.
The code below is used to create the above triangular structured mesh
x=[0:1/(numx):1];
y=[0:1/(numy):1]; %Matlab's meshgrid is used to create 2D grid from specified divisons above
[X,Y] = meshgrid(x,y);
X1=reshape(X',length(x)*length(y),1);
Y1=reshape(Y',length(x)*length(y),1); %Coordinates of the node
node=[X1 Y1]; % Node
tri = triangulate(X1,Y1,element); % element connectivity
nele = size(tri,1);
Z= zeros(length(y)-2,length(x)-2);
nn = tri; % nodes in a long list
xx = X1(nn); yy = Y1(nn); % coordinates corresponding to nodes
xplot = reshape(xx,size(tri));
yplot = reshape(yy,size(tri));figure(1);
clf;
fill(xplot',yplot','w');
title(['Triangular Mesh ', num2str(length(nn)),' elements'])
%%%%%%Subfunction % triangulate
function tri = triangulate(xnod,ynod,nodes)
%
% tri = triangulate(xnod,ynod,nodes)
%
% triangulate the quadrilateral mesh
%
nele = size(nodes,1);
tri = zeros(3,2*nele)';
iv = [];
ii1 = [2 3 1];
jj1 = [4 1 3];
ii2 = [1 2 4];
jj2 = [2 3 4];
nrtri = 0;
for iel = 1:nele
iv = nodes(iel,:);
d1 = norm([xnod(iv(1))-xnod(iv(3));ynod(iv(1))-ynod(iv(3))]);
d2 = norm([xnod(iv(2))-xnod(iv(4));ynod(iv(2))-ynod(iv(4))]);
if d1 <= d2
nrtri = nrtri+1;
tri(nrtri,:) = iv(ii1);
nrtri = nrtri+1;
tri(nrtri,:) = iv(jj1);
else
nrtri = nrtri+1;
tri(nrtri,:) = iv(ii2);
nrtri = nrtri+1;
tri(nrtri,:) = iv(jj2);
end
end
This code will enable any one to generate a regular triangular mesh and different changes can be made to this code to get other kind of Triangular meshes as shown in figure 1 -4
15 comments:
Very nice grid generation blog
-Siamak
http://www.pitchup.com
Are you folks still active? I'm looking for a simple mesh generation software that will convert a drawing into a mesh. Please advise if it needs to be developed. Thanks.
do u guys have any codes for grid generation in fortran..can u upload them if u have..it wud be very helpful
Hi...
please upload a source code with Fortran or visual compaq. 2D unstructured grid gen.
very pleased to see this blog...
ali.mhj@gmail.com
Hi, fine blog!
But i have a problem with the line
tri = triangulate(X1,Y1,element); % element connectivity
...
Where do i get the element connectivity and what is it ?
Maybe could someone help me ?
HI!
I liked your site!
Can you help me to get what I want?
I would like to know how to create a 3D pyramid with the mesh command...
Can you help me?
thanks
My mail box
o_criativo@yahoo.com.br
I wonder if anybody got this code working. Appreciate if somebody can explain me the way to run it also.
Hi!
Could someone help me? I'm not understanding this:
tri = triangulate(X1,Y1,element); % element connectivity
Thanks:)
Hi Margarida, this is very easy :
X1 is the vector which contain the x coordinates of your nodes in the mesh you create. The position (line number) in this vector of each coordinate will be the number of the node.
Y1 is the same but for the y coordinates
element is the finite element connectivity table, which is a matrix of 3 vectors, so each line contains 3 numbers, which are the number of the nodes of the triangle.
Hope I was clear,
Regards
Dear Chady,
I have not understood yet how mus I do to fill "element"
Could you please give me an example to fill "element"...
thanks before..
Great post. I have been wondering about the mesh generation. Do you happen to have any recommendations? Please let me know, thanks.
Check GMSH, it is a free mesh generation software and the best I have seen, however the interface is not very user friendly. If you want to read something search for Delaunay mesh.
Welcome
please tell me how to recall that function in above given code and if u have it please post that function file
harshbwagh@gmail.com
Post a Comment