How to plot plate mode shape with thickness

I want to plot rectangular plate mode shapes in free vibration. I am able to surface plot the mode shape with (x, y) meshgrid and deflection (w) matrix. My problem is i can not show all the displacements (i.e. u, v and w) which will be shown as a 3D deformed plate (showing thickess, as shown in the reffered fig below). The exact kind of plot which i want can be found in page-7 of paper titled "Three-dimensional free and transient vibration analysis of composite laminated and sandwich rectangular parallelepipeds: Beams, plates and solids". Link for the paper is: http://www.sciencedirect.com/science/article/pii/S1359836814006118 I am also attaching the images from page 7 here:
Important: side surfaces must show deformations (either u or v) except for clamped BC case where those must be straight. Can anybody help me please

1 Comment

Gagarin
Gagarin on 30 Nov 2024
Edited: Gagarin on 30 Nov 2024
Hi susanta sir, can you share your code to plot the modeshape of plate in MATLAB ?

Sign in to comment.

Answers (1)

Here's a simple example that might get you started:
thickness = .2;
[x,y] = meshgrid(linspace(-3,3,40));
% replace this with your deformation
z = cos(x).*cos(y) / 5;
c = z;
% top & bottom faces
surface(x,y,z+thickness,c)
surface(x,y,z-thickness,c)
% Now the 4 sides
surface([x(1,:); x(1,:)],[y(1,:); y(1,:)], ...
[z(1,:)+thickness; z(1,:)-thickness],[c(1,:); c(1,:)])
surface([x(end,:); x(end,:)],[y(end,:); y(end,:)], ...
[z(end,:)+thickness; z(end,:)-thickness],[c(end,:); c(end,:)])
surface([x(:,1), x(:,1)],[y(:,1), y(:,1)], ...
[z(:,1)+thickness, z(:,1)-thickness],[c(:,1), c(:,1)])
surface([x(:,end), x(:,end)],[y(:,end), y(:,end)], ...
[z(:,end)+thickness, z(:,end)-thickness],[c(:,end), c(:,end)])
view(3)
axis equal

3 Comments

Sir I have modified your code with my data to get the mode shape as given below. My concern is that i can only give z(W0 file) deformation to the (x,y) grid, but could not give deformation in x and y direction(see the U0 and V0 dat file). Please suggest if there is a way to do that. Here I have uploaded the data files with codes: thickness = .1;
[x,y] = meshgrid(X,Y);
% replace this with your deformation
W=transpose(W0);
z = W;
c = z;
% top & bottom faces
surface(x,y,z+thickness,c)
surface(x,y,z-thickness,c)
% Now the 4 sides
surface([x(1,:); x(1,:)],[y(1,:); y(1,:)], ... [z(1,:)+thickness; z(1,:)-thickness],[c(1,:); c(1,:)]) surface([x(end,:); x(end,:)],[y(end,:); y(end,:)], ... [z(end,:)+thickness; z(end,:)-thickness],[c(end,:); c(end,:)]) surface([x(:,1), x(:,1)],[y(:,1), y(:,1)], ... [z(:,1)+thickness, z(:,1)-thickness],[c(:,1), c(:,1)]) surface([x(:,end), x(:,end)],[y(:,end), y(:,end)], ... [z(:,end)+thickness, z(:,end)-thickness],[c(:,end), c(:,end)])
view(3)
xlabel('x') % x-axis label
ylabel('y') % y-axis label
zlabel('z') % z-axis label
%axis equal
P.S. The side surfaces must show deformation instead of being plane (ex. the front x-z face shoud also show the deformation instead of being a plane parallel to x-z plane). The same mode shape in FE is as shown below.
The technique for drawing it would be the same, although you might want to add more vertices to the side panels.
The difference is that you're going to need to compute the deformation for all of the additional points rather than just connecting two copies of the deformed plane.
If your deformation is a 2D array, then you're going to need to do some computation to figure out where points which are a distance from the centerline are going to move to.
How could we add a patch of any material at the position where there is maximum deflection if we do have the dimensions of the patch?

Sign in to comment.

Asked:

on 12 Feb 2016

Edited:

on 30 Nov 2024

Community Treasure Hunt

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

Start Hunting!