确定主应力空间的三个应力不变量,用应力不变量将Mises表达出来,之后用MATLAB绘制mises屈服面,屈服面
时间: 2023-12-16 10:06:32 浏览: 239
确定主应力空间的三个应力不变量:
1. J1 = σ1 + σ2 + σ3
2. J2 = (σ1 - σ2)^2 + (σ2 - σ3)^2 + (σ3 - σ1)^2
3. J3 = (σ1 - σ2)(σ2 - σ3)(σ3 - σ1)
其中,σ1、σ2、σ3为主应力。
用应力不变量将Mises表达出来:
Mises = √(3J2) = √[3((σ1 - σ2)^2 + (σ2 - σ3)^2 + (σ3 - σ1)^2)/2]
之后用MATLAB绘制Mises屈服面:
下面是MATLAB代码:
```matlab
% 定义Mises函数
function [M] = Mises(sigma)
s1 = sigma(1);
s2 = sigma(2);
s3 = sigma(3);
M = sqrt(3*((s1-s2)^2+(s2-s3)^2+(s3-s1)^2)/2);
end
% 绘制Mises屈服面
figure;
hold on;
axis equal;
view([45 30]);
xlabel('\sigma_1');
ylabel('\sigma_2');
zlabel('\sigma_3');
title('Mises屈服面');
xlim([-1,1]);
ylim([-1,1]);
zlim([-1,1]);
[X,Y,Z] = meshgrid(linspace(-1,1,50));
for i=1:50
for j=1:50
for k=1:50
sigma = [X(i,j,k), Y(i,j,k), Z(i,j,k)];
M = Mises(sigma);
if M <= 1
plot3(sigma(1), sigma(2), sigma(3), '.', 'color', [M,0,0]);
end
end
end
end
```
运行上述代码后,即可得到Mises屈服面的三维图像。
阅读全文