问题
已知某应力张量的分量为
[ sigma_{11}=3,quadsigma_{12} = sigma_{13} = 1, quad sigma_{22} = sigma_{33} = 0, quadsigma_{23} = 2 ] 求
- 1、全部主应力
- 2、最大主应力对应的主方向
- 3、求方向矢量为 $boldsymbol{n} = left(0, dfrac{1}{sqrt{2}}, dfrac{1}{sqrt{2}}right)$ 的斜面上的正应力 $sigma_n$ 和剪应力 $tau_n$。
应力张量
已知应力张量有如下形式
[ left[ begin{array}{ccc} sigma_{x} & tau_{xy} & tau_{xz}\ tau_{yx} & sigma_{y} & tau_{yz}\ tau_{zx} & tau_{zy} & sigma_{z} end{array} right] = left[ begin{array}{ccc} 3 & 1 & 1\ 1 & 0 & 2\ 1 & 2 & 0 end{array} right] ]
求解
导入sympy模块
代码语言:javascript复制from sympy import *
init_printing(use_unicode=True)
Matrix对象表示应力矩阵
代码语言:javascript复制sigma = Matrix([[3, 1, 1], [1, 0, 2], [1, 2, 0]])
sigma
[left[begin{matrix}3 & 1 & 1\1 & 0 & 2\1 & 2 & 0end{matrix}right]]
1、求全部主应力
求特征值
- 调用 Matrix 对象的 eigenvals 方法
sigma.eigenvals()
[left { -2 : 1, quad 1 : 1, quad 4 : 1right }]
- 冒号后的数字表示一重特征值
求特征矢量
- 调用 Matrix 对象的 eigenvects 方法
sigma.eigenvects()
[left [ left ( -2, quad 1, quad left [ left[begin{matrix}0\-1\1end{matrix}right]right ]right ), quad left ( 1, quad 1, quad left [ left[begin{matrix}-1\1\1end{matrix}right]right ]right ), quad left ( 4, quad 1, quad left [ left[begin{matrix}2\1\1end{matrix}right]right ]right )right ]]
2、求最大主应力对应的主方向
最大主应力
[sigma_1 = 4]
最大主应力对应的主方向
[dfrac{1}{sqrt{6}}left(2, 1, 1right)]
3、求斜面上的正应力 (sigma_n) 和剪应力 (tau_n)
方向矢量
[boldsymbol{n} = left(0, dfrac{1}{sqrt{2}}, dfrac{1}{sqrt{2}}right)]
代码语言:javascript复制n = Matrix([[0], [1], [1]])/sqrt(2)
n
[left[begin{matrix}0\frac{sqrt{2}}{2}\frac{sqrt{2}}{2}end{matrix}right]]
应力矢量 (boldsymbol{T} = boldsymbol{sigma}cdotboldsymbol{n})
代码语言:javascript复制T = sigma*n
T
[left[begin{matrix}sqrt{2}\sqrt{2}\sqrt{2}end{matrix}right]]
正应力 (sigma_n = boldsymbol{T}cdotboldsymbol{n})
代码语言:javascript复制sigma_n = T.T*n
sigma_n
[left[begin{matrix}2end{matrix}right]]
剪应力 [tau_n = sqrt{T^2 - sigma_n^2}]
代码语言:javascript复制tau_n =sqrt(T.T*T - sigma_n**2)
tau_n
[left(left[begin{matrix}2end{matrix}right]right)^{frac{1}{2}}]