how to plot deformation on a cracked plate?
Show older comments
I am trying to plot the displacement of a square plate under bending?
the length and width of plate is 0.4 m. I can plot displacement of perfect plate (without crack) with below code, but I don't know how can I plot a crack with two tips in positions:
start point:(x,y)=(0.2,0.25)
mid point (x,y)=(0.15,0.2)
and end point (x,y)=(0.1,0.15)
Then the middle point of the crack has two z values (one equal to -4.5 and another equal -5.649) to open the crack opening.
The figure I would like to draw is similar to the figure attached (46.jpg)
Please note that as shown in the attached figure, there should be a discontinuity at the place of the crack in the drawn figure
x=0:0.05:0.4;
y=0:0.05:0.4;
[X,Y]=meshgrid(x,y);
Z=[ 0 0 0 0 0 0 0 0 0;...
0 -0.9763 -1.7583 -2.2513 -2.4188 -2.2513 -1.7583 -0.9763 0;...
0 -1.7583 -3.1801 -4.0824 -4.3899 -4.0824 -3.1801 -1.7583 0;...
0 -2.2513 -4.0824 -5.2505 -5.6495 -5.2505 -4.0824 -2.2513 0;...
0 -2.4188 -4.3899 -5.6495 -6.0801 -5.6495 -4.3899 -2.4188 0;...
0 -2.2513 -4.0824 -5.2505 -5.6495 -5.2505 -4.0824 -2.2513 0;...
0 -1.7583 -3.1801 -4.0824 -4.3899 -4.0824 -3.1801 -1.7583 0;...
0 -0.9763 -1.7583 -2.2513 -2.4188 -2.2513 -1.7583 -0.9763 0;...
0 0 0 0 0 0 0 0 0;...
];
surf(X,Y,Z)
2 Comments
x=0:0.05:0.4;
y=0:0.05:0.4;
[X,Y]=meshgrid(x,y);
Z=[ 0 0 0 0 0 0 0 0 0;...
0 -0.9763 -1.7583 -2.2513 -2.4188 -2.2513 -1.7583 -0.9763 0;...
0 -1.7583 -3.1801 -4.0824 -4.3899 -4.0824 -3.1801 -1.7583 0;...
0 -2.2513 -4.0824 -5.2505 -5.6495 -5.2505 -4.0824 -2.2513 0;...
0 -2.4188 -4.3899 -5.6495 -6.0801 -5.6495 -4.3899 -2.4188 0;...
0 -2.2513 -4.0824 -5.2505 -5.6495 -5.2505 -4.0824 -2.2513 0;...
0 -1.7583 -3.1801 -4.0824 -4.3899 -4.0824 -3.1801 -1.7583 0;...
0 -0.9763 -1.7583 -2.2513 -2.4188 -2.2513 -1.7583 -0.9763 0;...
0 0 0 0 0 0 0 0 0;...
];
surf(X,Y,Z)
xlabel('X'), ylabel('Y')
P=[0.2,0.25; 0.15,0.2; 0.1,0.15];
hold on
ix=flip(find(ismembertol(x,P(:,1)))).';
iy=flip(find(ismembertol(y,P(:,2)))).';
pz=cell2mat(arrayfun(@(i,j)Z(i,j),ix,iy,'uni',0));
plot3(P(:,1),P(:,2),pz,'r-','linewidth',3)
lets you put the line for the crack on the figure; the orientation here is such can't see much of it.
In order to have two different Z values at the same X,Y locations you'll have to introduce another pair of X,Y coordinates at the same location but with a different Z value; that will let you draw two lines of different height at the same location. But, the surface won't be distorted to reflect that displacement; you would need to know the displacemnt of the base plate up to the crack location in order to adjust those heights appropriately.
pooya azizi
on 19 Sep 2023
Accepted Answer
More Answers (0)
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


