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

## 16 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.

IS VERY GOOD..............................

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