Python3之弹性力学——应力张量2

2020-01-21 13:20:38 浏览数 (1)

问题

已知某应力张量的分量为

[ 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 方法
代码语言:javascript复制
sigma.eigenvals()

[left { -2 : 1, quad 1 : 1, quad 4 : 1right }]

  • 冒号后的数字表示一重特征值

求特征矢量

  • 调用 Matrix 对象的 eigenvects 方法
代码语言:javascript复制
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}}]

0 人点赞