利用特征值与特征向量求解弹性力学中的主应力与主平面问题
利用特征值与特征向量求解弹性力学中的主应力与主平面问题前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言已知物体在任意一点的六个应力分量提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimpor
利用特征值与特征向量求解弹性力学中的主应力与主平面问题
前言
已知物体在任意一点的六个应力分量 ( σ x , σ y , σ z , τ y z , τ z x , τ x y ) (\sigma_x,\sigma_y,\sigma_z,\tau_{yz},\tau_{zx},\tau_{xy}) (σx,σy,σz,τyz,τzx,τxy),求解该点的主应力与主平面方向一直是力学研究领域的热点话题。目前一些常见的方法为 代 数 法 、 莫 尔 圆 法 \color{#F00}{代数法、莫尔圆法} 代数法、莫尔圆法,前者结果直观但需经过严密的数学推导,后者不失为一种简单快捷的方法。考虑到平衡方程以及几何关系的特殊性,我们可以对平衡方程进行取行列式求解得到相应的特征值与特征向量, 该 特 征 值 与 特 征 值 所 对 应 特 征 向 量 分 别 为 该 点 处 的 主 应 力 及 其 主 平 面 \color{#00F}{该特征值与特征值所对应特征向量分别为该点处的主应力及其主平面} 该特征值与特征值所对应特征向量分别为该点处的主应力及其主平面。
一、二向应力状态
如下图所示,在受力构件中取出一点的单元体,其为二向应力状态的一般情况,由于是平面应力状态,可简化成右图所示,其中
σ
x
,
σ
y
,
τ
x
y
\sigma_x,\sigma_y,\tau_{xy}
σx,σy,τxy 为已知。
对该平面微元体,先假设任意斜截面,其法线与
x
x
x轴夹角为
α
\alpha
α。规定由
x
x
x轴逆时针转向
n
n
n为正。设微元体为单位厚度,斜截面的面积为
d
A
dA
dA。
下面对微元体建立水平方向和竖直方向上平衡方程,令
c
o
s
α
=
l
,
s
i
n
α
=
m
cos\alpha=l,sin\alpha=m
cosα=l,sinα=m得:
l
σ
x
+
m
τ
x
y
=
p
x
(1)
l\sigma _{x}+m\tau _{xy}=p_{x}\tag 1
lσx+mτxy=px(1)
m
σ
y
+
l
τ
x
y
=
p
y
(2)
m\sigma _{y}+l\tau _{xy}=p_{y}\tag {2}
mσy+lτxy=py(2)
其中:
p
x
=
σ
N
l
+
τ
N
m
(3)
p_{x}=\sigma _{N}l+\tau _{N}m \tag 3
px=σNl+τNm(3)
p
y
=
σ
N
m
+
τ
N
l
(4)
p_{y}=\sigma _{N}m+\tau _{N}l \tag 4
py=σNm+τNl(4).
通过这四个方程,我们理论上可以解出任意角度斜截面上的正应力与切应力分布,为:
σ α = σ x + σ y 2 + σ x − σ y 2 ( 2 l 2 − 1 ) − 2 τ x y m l (5) \color{#00F}{\sigma _{\alpha }=\frac{\sigma_{x}+\sigma _{y}}{2}+\frac{\sigma_{x}-\sigma _{y}}{2}(2l^{2}-1)-2\tau _{xy}ml}\tag 5 σα=2σx+σy+2σx−σy(2l2−1)−2τxyml(5)
τ α = ( σ x − σ y ) l m + τ x y ( 2 l 2 − 1 ) (6) \color{#00F}{\tau _\alpha=(\sigma_{x}-\sigma _{y})lm+\tau _{xy}(2l^{2}-1)}\tag 6 τα=(σx−σy)lm+τxy(2l2−1)(6)
但这些并不是我们所想要的,我们需要的是建立主应力与3个已知应力分量得关系式。
现在我们先交代一下主应力概念:
设经过任意一点
P
P
P的某一斜面上的切应力等于零,则该斜面上的正应力成为
P
P
P点的一个主应力,该斜面称为在
P
P
P的一个应力主面,该斜面的法线方向称为在
P
P
P点的一个应力主向。
简单地,当这种主应力存在时,
τ
N
=
0
\tau _{N}=0
τN=0,即该斜面上应力在坐标轴上的投影变为:
p
x
=
σ
N
l
(7)
p_{x}=\sigma _{N}l\tag 7
px=σNl(7)
p
y
=
σ
N
m
(8)
p_{y}=\sigma _{N}m\tag 8
py=σNm(8).
将以上两个式子带入
(
1
)
、
(
2
)
(1)、(2)
(1)、(2)得:
l
σ
x
+
m
τ
x
y
=
σ
N
l
(9)
l\sigma _{x}+m\tau _{xy}=\sigma _{N}l\tag 9
lσx+mτxy=σNl(9)
m
σ
y
+
l
τ
x
y
=
σ
N
m
(10)
m\sigma _{y}+l\tau _{xy}=\sigma _{N}m\tag {10}
mσy+lτxy=σNm(10)
整理
(
9
)
、
(
10
)
(9)、(10)
(9)、(10)得:
(
σ
x
−
σ
N
)
l
+
τ
x
y
m
=
0
(11)
(\sigma _{x}-\sigma _{N})l+\tau _{xy}m=0\tag {11}
(σx−σN)l+τxym=0(11)
τ
x
y
l
+
(
σ
y
−
σ
N
)
m
=
0
(12)
\tau _{xy}l+(\sigma _{y}-\sigma _{N})m=0\tag {12}
τxyl+(σy−σN)m=0(12)
注意到:
l
2
+
m
2
=
1
l^{2}+m^{2}=1
l2+m2=1,将
(
11
)
、
(
12
)
(11)、(12)
(11)、(12)方程组看作是以
l
、
m
l、m
l、m为未知量,于是该方程组有非零解
则:
问题进行到这一步,先回顾一下线性代数中特征值与特征向量的概念:
几乎所有的向量在乘以矩阵
A
\color{#00F}{A}
A后都会改变方向,某些特殊的向量
x
\color{#00F}{x}
x和
A
x
\color{#00F}{Ax}
Ax位于同一个方向,它们称之为特征向量。
A x = λ x \color{#00F}{Ax=\lambda x} Ax=λx
数字 λ \color{#00F}{\lambda} λ称为特征值。它告诉我们在乘以 A \color{#00F}{A} A后,向量是怎么被拉伸、缩小、反转或者不变的。 λ = 0 \color{#00F}{\lambda =0} λ=0意味着特征向量存在于矩阵的零空间中。任意向量都是单位矩阵的特征向量,因为 I x = 1 \color{#00F}{Ix=1} Ix=1,其特征值为 1。
要计算特征值的话,我们只需要知道
A
−
λ
I
\color{#00F}{A-\lambda I}
A−λI即可。
将所求的
λ
\color{#00F}{\lambda }
λ带回
A
x
=
λ
x
\color{#00F}{Ax=\lambda x}
Ax=λx中将求得特征向量
x
\color{#00F}{ x}
x。
分析可知,
A
=
[
σ
x
τ
x
y
τ
x
y
σ
y
]
A=\begin{bmatrix} \sigma _{x} &\tau _{xy} \\ \tau _{xy} & \sigma _{y} \end{bmatrix}
A=[σxτxyτxyσy],
求
σ
N
的
过
程
就
是
求
A
特
征
值
的
过
程
。
\color{#F00}{ 求\sigma _{N}的过程就是求A特征值的过程。}
求σN的过程就是求A特征值的过程。
计算机较普遍的求特征值的算法为QR分解以及Jacobi旋转,在此我将附上QR分解的VB程序。jacobi旋转法参见jacobi旋转法的VB实现。
由于
A
为
2
×
2
阶
A为2\times2阶
A为2×2阶,故所求的特征值为2重。
例:已知单元体
σ
x
=
80
M
P
a
,
σ
y
=
−
40
M
P
a
,
τ
x
y
=
−
60
M
P
a
\sigma _{x}=80MPa,\sigma _{y}=-40MPa,\tau_{xy}=-60MPa
σx=80MPa,σy=−40MPa,τxy=−60MPa,试求主应力,并确定主平面方向。
1. 莫尔圆图解法
在此,为复习之前的莫尔圆,我将先采用应力图解法求解:
根据
(
σ
α
−
σ
x
+
σ
y
2
)
2
+
τ
α
2
=
(
σ
x
−
σ
y
2
)
2
+
τ
x
y
2
\left ( \sigma _{\alpha } -\frac{\sigma _{x}+\sigma _{y}}{2}\right )^{2}+\tau _{\alpha }^{2}=\left ( \frac{\sigma _{x}-\sigma _{y}}{2}\right )^{2}+\tau _{xy}^{2}
(σα−2σx+σy)2+τα2=(2σx−σy)2+τxy2可知若以
σ
、
τ
\sigma 、\tau
σ、τ为横纵坐标,则圆心的坐标为
(
σ
x
+
σ
y
2
,
0
)
\left ( \frac{\sigma _{x}+\sigma _{y}}{2} ,0\right )
(2σx+σy,0),圆周半径为
(
σ
x
−
σ
y
2
)
2
+
τ
x
y
2
\sqrt{\left ( \frac{\sigma _{x}-\sigma _{y}}{2}\right )^{2}+\tau _{xy}^{2}}
(2σx−σy)2+τxy2
根据应力圆与微元体角度的2倍关系,在单元体上从 x 轴 以 逆 时 针 方 向 量 取 α 2 = 22.5 ° , A 、 B 对 应 的 横 坐 标 值 分 别 为 该 单 元 体 的 最 大 主 应 力 和 最 小 主 应 力 。 x轴以逆时针方向量取\frac{\alpha }{2}=22.5°,\color{#00F}{A、B对应的横坐标值分别为该单元体的最大主应力和最小主应力。} x轴以逆时针方向量取2α=22.5°,A、B对应的横坐标值分别为该单元体的最大主应力和最小主应力。
2. 特征值与特征向量解法
建立矩阵
A
=
[
σ
x
τ
x
y
τ
x
y
σ
y
]
=
[
80
60
60
−
40
]
A=\begin{bmatrix} \sigma _{x} &\tau _{xy} \\ \tau _{xy} & \sigma _{y} \end{bmatrix}=\begin{bmatrix} 80 &60 \\ 60& -40 \end{bmatrix}
A=[σxτxyτxyσy]=[806060−40]
这里我们采用MATLAB进行矩阵特征值及其特征根的计算:
[
V
,
D
]
=
e
i
g
(
A
)
[V,D] = eig(A)
[V,D]=eig(A)
返回特征值的对角矩阵
D
D
D 和矩阵
V
V
V,其列是对应的右特征向量,使得
A
∗
V
=
V
∗
D
A*V = V*D
A∗V=V∗D。
计算结果:
λ
1
=
−
64.8528
,
λ
2
=
104.8528
\color{#00F}{\lambda 1=-64.8528,\lambda 2=104.8528}
λ1=−64.8528,λ2=104.8528,即
σ
1
=
104.8528
M
P
a
,
σ
2
=
−
64.8528
M
P
a
\sigma _{1 }=104.8528MPa,\sigma _{2}=-64.8528MPa
σ1=104.8528MPa,σ2=−64.8528MPa
对应特征向量:
m
1
=
[
0.3827
−
0.9239
]
,
m
2
=
[
−
0.9239
−
0.3827
]
m1=\begin{bmatrix} 0.3827\\ -0.9239\end{bmatrix},m2=\begin{bmatrix} -0.9239\\ -0.3827\end{bmatrix}
m1=[0.3827−0.9239],m2=[−0.9239−0.3827]分别对应两个主平面的方向余弦。
同样地道理,当我们需要求解最大切应力和最小切应力时(即该法平面内只存在切应力
τ
N
,
无
正
应
力
σ
N
)
\tau _{N},无正应力\sigma _{N})
τN,无正应力σN)这里将有部分证明过程 ,我们可将
p
x
=
σ
N
l
(7)
p_{x}=\sigma _{N}l\tag 7
px=σNl(7)
p
y
=
σ
N
m
(8)
p_{y}=\sigma _{N}m\tag 8
py=σNm(8).中的
m
和
n
置
换
m和n置换
m和n置换得到最大切应力及其方向,这里将不再重复。结论:在应力圆上,从主平面A点逆时针最(顺时针)转圆心角90°到C(D)点,在单元体上从
σ
1
\sigma _{1}
σ1逆时针(顺时针)转45°可得最大(最小)切应力。
二、三向应力状态
推广一个更一般的情况,从空间中任意一点取出的单元体如下:
可见,微元体三个方向上均不同程度地作用着应力,当这种应力状态变成主应力状态时,三个主应力均不为0。
依据张量分析(将会在另一篇博客里面做一些分析),我们可以较为快捷的得出任意斜截面三棱锥的应力分布,列写三个方向上的平衡方程:
l
σ
x
+
m
τ
x
y
+
n
τ
z
x
=
l
σ
N
(13)
l\sigma _{x}+m\tau _{xy}+n\tau_{zx}=l\sigma _{N}\tag {13}
lσx+mτxy+nτzx=lσN(13)
m
σ
y
+
n
τ
z
y
+
l
τ
x
y
=
m
σ
N
(14)
m\sigma _{y}+n\tau_{zy}+l\tau _{xy}=m\sigma _{N}\tag {14}
mσy+nτzy+lτxy=mσN(14)
n
σ
z
+
l
τ
x
z
+
m
τ
y
z
=
n
σ
N
(15)
n\sigma _{z}+l\tau_{xz}+m\tau _{yz}=n\sigma _{N}\tag {15}
nσz+lτxz+mτyz=nσN(15)
列出的实对称阵为:
A
=
[
σ
x
τ
y
x
τ
z
x
τ
x
y
σ
y
τ
z
y
τ
x
z
τ
y
z
σ
z
]
{\color{Blue} A=\begin{bmatrix} \sigma _{x}&\tau _{yx} &\tau _{zx} \\ \tau _{xy} & \sigma _{y} & \tau _{zy}\\ \tau _{xz} &\tau _{yz} & \sigma _{z} \end{bmatrix}}
A=⎣⎡σxτxyτxzτyxσyτyzτzxτzyσz⎦⎤
于是,对应3重主应力为:
σ = [ σ 1 σ 2 σ 3 ] = [ λ 1 λ 2 λ 3 ] {\color{Red} \sigma =\begin{bmatrix} \sigma _{1} &\sigma _{2} & \sigma _{3} \end{bmatrix}=\begin{bmatrix} \lambda _{1} & \lambda _{2} & \lambda _{3} \end{bmatrix}} σ=[σ1σ2σ3]=[λ1λ2λ3]
对应3重主方向为:
x = [ l 1 l 2 l 3 m 1 m 2 m 3 n 1 n 2 n 3 ] {\color{Magenta} x=\begin{bmatrix} l_{1} &l_{2} & l_{3} \\ m_{1} & m_{2} & m_{3}\\ n_{1} & n_{2}& n_{3} \end{bmatrix}} x=⎣⎡l1m1n1l2m2n2l3m3n3⎦⎤
求解如图三向应力状态的主应力:
采用计算机求解特征值与特征向量:
A=[70 50 0;50 0 0;0 0 60];
>> [x,y]=eig(A)
>x =
0.4618 0 -0.8870
-0.8870 0 -0.4618
0 1.0000 0
y =
-26.0328 0 0
0 60.0000 0
0 0 96.0328
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)