Python3之弹性力学——应力张量1
题目
已知某点的应力张量为:
\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}
0 &1 &2\\
1 & \sigma_{y} & 1\\
2 &1 &0
\end{array}
\right]
\]
并已知经过该点的某一平面上的应力矢量为零矢量,求 \(\sigma_y\) 和主应力?
分析
由题意,存在某个微分面(单位法向量为 \(\boldsymbol{n}\)),其上的应力矢量 \(\boldsymbol{T}=\boldsymbol{0}\),即
\left[\begin{array}{ccc}
0 & 1 & 2\\
1 & \sigma_{y} & 1\\
2 & 1 & 0
\end{array}
\right]
\left[
\begin{array}{c}
n_1\\
n_2\\
n_3
\end{array}
\right]
=
\left[
\begin{array}{c}
0\\
0\\
0
\end{array}
\right]
\]
行列式必须为零
线性方程组存在非零解,必然行列式为零,即
0 & 1 & 2\\
1 & \sigma_{y} & 1\\
2 & 1 & 0
\end{array}
\right|
= 0 + 2 + 2 -4\sigma_y - 0 - 0
= 0
\]
求得 \(\sigma_y = 1\)。
应力张量
于是,应力张量为
\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}
0 & 1 & 2\\
1 & 1 & 1\\
2 & 1 & 0
\end{array}
\right]
\]
特征值问题
求主应力,即为求应力张量的特征值。
\]
或
\begin{array}{ccc}
-\sigma & 1 & 2\\
1 & 1-\sigma & 1\\
2 & 1 & -\sigma
\end{array}
\right|
=
(1-\sigma)\sigma^2 + 2 + 2 - 4(1-\sigma) + \sigma + \sigma = 0
\]
整理得
\]
主应力
得到三个主应力分别为
\begin{array}{rcr}
\sigma_1 & = & 3\\
\sigma_2 & = & 0\\
\sigma_3 & = & -2
\end{array}
\right.
\]
Python3代码求解
符号运算求特征值
- 调用 Python 下的 sympy 模块
from sympy import init_printing, Matrix
init_printing(use_unicode=True)
Matrix对象表示应力矩阵
# 生成矩阵对象
sigma = Matrix([[0, 1, 2], [1, 1, 1], [2, 1, 0]])
sigma
\]
求特征值
- 前已求得三个主应力分别为
\begin{array}{rcr}
\sigma_1 & = & 3\\
\sigma_2 & = & 0\\
\sigma_3 & = & -2
\end{array}
\right.
\]
- 调用 Matrix 对象的 eigenvals 方法
sigma.eigenvals() # 求特征值
\]
- 冒号后的数字表示一重特征值
求特征矢量
- 调用 Matrix 对象的 eigenvects 方法
sigma.eigenvects()
\]
参考
Python3之弹性力学——应力张量1的更多相关文章
- Python3之弹性力学——应力张量2
问题 已知某应力张量的分量为 \[ \sigma_{11}=3,\quad\sigma_{12} = \sigma_{13} = 1, \quad \sigma_{22} = \sigma_{33} ...
- python3 threading初体验
python3中thread模块已被废弃,不能在使用thread模块,为了兼容性,python3将thread命名为_thread.python3中我们可以使用threading进行代替. threa ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- Mac-OSX的Python3.5虚拟环境下安装Opencv
Mac-OSX的Python3.5虚拟环境下安装Opencv 1 关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2 概述 本文是一篇 环境搭建 的基础 ...
- Ubuntu部署python3.5的开发和运行环境
Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...
- Python3 登陆网页并保持cookie
网页登陆 网页登陆的原理都是,保持一个sessionid在cookie然后,根据sessionid在服务端找到cookie进行用户识别 python实现 由于python的简单以及丰富的类库是开发网络 ...
- 阿里云 SDK python3支持
最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见h ...
- python3爬取1024图片
这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章.各种开源软件.各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作 ...
- CentOS7中安装Python3.5
1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. 安装相关依赖 yum install gcc ope ...
随机推荐
- vsftpd中的local_umask和anon_umask
umask是在linux中常见的一个东西,它其实是一个掩码.当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义.该 定义为: 假设umask为022,则对于一个文件夹的话,它的默认 ...
- jQuery绑定或删除绑定事件
<!DOCTYPE html><html lang="en" class="loading"><head> <meta ...
- CHENGDU1-Python编程语言和PEP8规范
CHENGDU1-Python编程语言和PEP8规范 PEP8规范6条? 答:PEP8规范说白了就是一种规范,可以遵守,也可以不遵守,遵守PEP8可以让代码的可读性更高. 代码编排:---缩进,4个空 ...
- 论文阅读笔记二十三:Learning to Segment Instances in Videos with Spatial Propagation Network(CVPR2017)
论文源址:https://arxiv.org/abs/1709.04609 摘要 该文提出了基于深度学习的实例分割框架,主要分为三步,(1)训练一个基于ResNet-101的通用模型,用于分割图像中的 ...
- settings.py常见配置项
settings.py常见配置项 1. 配置Django_Admin依照中文界面显示 LANGUAGE_CODE = 'zh-hans' 2. 数据库配置(默认使用sqlite3) 1 .默认使用的s ...
- error: each element of 'ext_modules' option must be an Extension instance or 2-tuple
在编译cython扩展时出现. 解决办法: 必须先import setup再import extension,否则报错 from setuptools import setup from distut ...
- linux服务器性能——CPU、内存、流量、磁盘使用率的监控
https://blog.csdn.net/u012859748/article/details/72731080
- [转] 对express中next函数的一些理解
最近公司在使用node做前后端分离,采用的web框架是express,所以对express框架进行了深入的了解,前段时间写了篇关于express路由的文章,但是在那篇文章中貌似少了一个很重要的内容,就 ...
- Flink的流处理--KeyBy
逻辑上将一个流分成不相交的分区,每个分区包含相同键的元素.在内部,这是通过散列分区来实现的 object Keyby { def main(args: Array[String]): Unit = { ...
- 清除DNS缓存(解决能上QQ但是无法上网页问题)
ipconfig/displaydnsipconfig/flushdns