求顺度系数,需注意应变与剪切应变的2倍关系

求顺度系数,需注意应变与剪切应变的2倍关系

clear;
syms c11 c12 c44;
c11 = 10;c12 = 60;c44 = 20;
epsilon_11 = 0.1;epsilon_22=0.2;shear_strain_12 = 0.3;epsilon_12 = 1/2 * shear_strain_12;
e = [epsilon_11 epsilon_22 0 shear_strain_12 0 0]';%此处e(6)=0.3表示剪切应变xy,应变xy=1/2*剪切应变=0.15
e11 = epsilon_11; e22 =epsilon_22; e12 = epsilon_12;e33=0;%plant strain problem

Cijkl = [c11 c12 c12 0 0 0;
        c12 c11 c12 0 0 0;
        c12 c12 c11 0 0 0;
        0   0   0   c44 0  0;
        0   0   0   0 c44 0;
        0   0   0   0 0 c44];
Cijkl_inv = inv(Cijkl);
 s_origin = Cijkl * e;  %此处s12表示剪切应力
 e_origin = Cijkl \ s_origin;  % Cijkl^-1 * sigma 
    s11 = c11 * e11 + c12 * e22;
    s22 = c12 * e11 + c11 * e22;
    s33 = c12 * e11 + c12 * e22;
    s12 = 2 * c44 * e12;

    e11_byhand = (c11 + c12)/(c11^2 + c11*c12 - 2*c12^2) * s11 -c12/(c11^2 + c11*c12 - 2*c12^2) * (s22+s33);
    e22_byhand = (c11 + c12)/(c11^2 + c11*c12 - 2*c12^2) * s22 -c12/(c11^2 + c11*c12 - 2*c12^2) * (s11+s33);
    e33_byhand = -c12/(c11^2 + c11*c12 - 2*c12^2) * (s11+s22) + (c11 + c12)/(c11^2 + c11*c12 - 2*c12^2) * s33;
    e12_byhand =  1.0 / c44 * s12;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
由热传导方程和光吸收率可以得到岩石的温度场方程: $$ \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)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值