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