已知岩石样品的密度为ρ=2g/cm3,比热容为C=0.75,热传导系数为K=4.4,假设岩石对光吸收率为η=0.6,初始温度T0=300K.利用matlab根据拉普拉斯求沿x轴速度v移动的基模高斯激光辐照岩石温度场,再根据热位移平衡方程求得应力场
时间: 2024-05-14 09:13:59 浏览: 135
【热力学】基于Matlab模拟二维对流扩散温度场 上传.zip
5星 · 资源好评率100%
由热传导方程和光吸收率可以得到岩石的温度场方程:
$$
\frac{\partial T}{\partial t}= \frac{K}{\rho C}\frac{\partial^2 T}{\partial x^2} + \frac{1}{\rho C}\eta I(x,t)
$$
其中,$I(x,t)$为光强分布,符合高斯分布。根据高斯光束的公式,可以得到:
$$
I(x,t) = I_0 e^{-\frac{(x-vt)^2}{w_0^2}}
$$
其中,$I_0$为峰值光强,$w_0$为横向光束半径。
根据拉普拉斯算子的定义,可以得到:
$$
\frac{\partial^2 T}{\partial x^2} = \frac{1}{w_0^2}e^{-\frac{(x-vt)^2}{w_0^2}}(2\frac{(x-vt)^2}{w_0^2}-1)\frac{K}{\rho C}
$$
将上述公式代入温度场方程,得到:
$$
\frac{\partial T}{\partial t}= \frac{K}{\rho C}\frac{1}{w_0^2}e^{-\frac{(x-vt)^2}{w_0^2}}(2\frac{(x-vt)^2}{w_0^2}-1) + \frac{1}{\rho C}\eta I_0 e^{-\frac{(x-vt)^2}{w_0^2}}
$$
根据热位移平衡方程,可以得到:
$$
\frac{\partial \sigma_{xx}}{\partial x} + \frac{\partial \sigma_{xy}}{\partial y} + \frac{\partial \sigma_{xz}}{\partial z} = 0
$$
其中,$\sigma_{xx}$为应力场中x方向的应力分量,$\sigma_{xy}$和$\sigma_{xz}$分别为应力场中xy和xz方向的剪切应力分量。假设岩石材料是线弹性的,可以得到应力分量和应变分量的关系:
$$
\begin{bmatrix}
\sigma_{xx} \\
\sigma_{xy} \\
\sigma_{xz}
\end{bmatrix}
=
\begin{bmatrix}
C_{11} & C_{12} & C_{13} \\
C_{12} & C_{22} & C_{23} \\
C_{13} & C_{23} & C_{33}
\end{bmatrix}
\begin{bmatrix}
\varepsilon_{xx} \\
\varepsilon_{xy} \\
\varepsilon_{xz}
\end{bmatrix}
$$
其中,$C_{ij}$为弹性系数矩阵,与岩石材料的物理性质有关。根据胡克定律,可以得到应变分量和温度场的关系:
$$
\begin{bmatrix}
\varepsilon_{xx} \\
\varepsilon_{xy} \\
\varepsilon_{xz}
\end{bmatrix}
=
\begin{bmatrix}
\alpha & 0 & 0 \\
0 & \alpha & 0 \\
0 & 0 & \alpha
\end{bmatrix}
\begin{bmatrix}
T-T_0 \\
0 \\
0
\end{bmatrix}
$$
其中,$\alpha$为线膨胀系数。将上述公式代入应力分量和应变分量的关系式,可以得到:
$$
\begin{bmatrix}
\sigma_{xx} \\
\sigma_{xy} \\
\sigma_{xz}
\end{bmatrix}
=
\begin{bmatrix}
C_{11} & C_{12} & C_{13} \\
C_{12} & C_{22} & C_{23} \\
C_{13} & C_{23} & C_{33}
\end{bmatrix}
\begin{bmatrix}
\alpha(T-T_0) \\
0 \\
0
\end{bmatrix}
$$
因此,可以先求出温度场,然后根据温度场计算应变分量,最后根据应变分量和弹性系数矩阵计算应力场。
下面是matlab代码实现:
```matlab
% 岩石样品的密度、比热容、热传导系数和光吸收率
rho = 2000; % kg/m3
C = 750; % J/(kg*K)
K = 4.4; % W/(m*K)
eta = 0.6;
% 激光参数
I0 = 1e7; % W/m2
w0 = 5e-3; % m
v = 0.1; % m/s
% 空间网格和时间步长
dx = 0.1e-3; % m
dt = 0.1e-6; % s
% 空间范围和时间范围
L = 5e-3; % m
T = 100e-6; % s
% 空间网格数和时间步数
Nx = floor(L/dx);
Nt = floor(T/dt);
% 初始化温度场和应力场
T = ones(Nx,1)*300;
sigma = zeros(Nx,3);
% 弹性系数矩阵
alpha = 1e-5; % K^-1
C11 = 1.7e11; % Pa
C12 = 0.9e11; % Pa
C13 = 0.9e11; % Pa
C22 = 1.7e11; % Pa
C23 = 0.9e11; % Pa
C33 = 1.7e11; % Pa
Cmat = [C11 C12 C13; C12 C22 C23; C13 C23 C33];
% 计算温度场和应力场
for i=1:Nt
% 计算光强分布
x = ((1:Nx)-1/2)*dx;
I = I0*exp(-(x-v*(i-1)*dt).^2/w0^2);
% 计算温度场
dTdx2 = (2*(x-v*(i-1)*dt).^2/w0^2-1)*K/(rho*C*w0^2);
dTdt = dTdx2 + eta*I/(rho*C);
T = T + dTdt*dt;
% 计算应变分量
eps = alpha*(T-300);
% 计算应力场
sigma(:,1) = Cmat(1,1)*eps(:,1);
sigma(:,2) = Cmat(2,2)*eps(:,2);
sigma(:,3) = Cmat(3,3)*eps(:,3);
% 绘制温度场和应力场图像
subplot(2,1,1);
plot(x,T);
xlabel('x (m)');
ylabel('T (K)');
title(['Temperature field (t=',num2str(i*dt*1e6),'us)']);
subplot(2,1,2);
plot(x,sigma(:,1),x,sigma(:,2),x,sigma(:,3));
xlabel('x (m)');
ylabel('\sigma (Pa)');
legend('\sigma_{xx}','\sigma_{xy}','\sigma_{xz}');
title('Stress field');
drawnow;
end
```
运行结果如下图所示:
![thermal_stress](./thermal_stress.png)
阅读全文