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 ...
随机推荐
- easyui合并多个单元格
$('#table-v2').datagrid({ url: './data/am/data1_table.json', pagination: true, //显示分页 fit: true, //d ...
- 字典树HihoCoder - 1014
输入的第一行为一个正整数n,表示词典的大小,其后n行,每一行一个单词(不保证是英文单词,也有可能是火星文单词哦),单词由不超过10个的小写英文字母组成,可能存在相同的单词,此时应将其视作不同的单词.接 ...
- C#线性表
线性表是线性结构的抽象 线性结构的特点是结构中的数据元素之间存在一对一的线性关系 一对一的关系指的是数据元素之间的位置关系 (1)除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素 ( ...
- nginx配置http和https共存
server { listen ; listen ssl; server_name localhost; #ssl on; ssl_certificate /usr/local/Tengine/ssl ...
- [转] getBoundingClientRect判断元素是否可见
getBoundingClientRect介绍 getBoundingClientRect获取元素位置 getBoundingClientRect用于获得页面中某个元素的左,上,右和下分别相对浏览器视 ...
- C# 多线程下 静态类字段异常
- HDU 1384 Intervals【差分约束-SPFA】
类型:给出一些形如a−b<=k的不等式(或a−b>=k或a−b<k或a−b>k等),问是否有解[是否有负环]或求差的极值[最短/长路径].例子:b−a<=k1,c−b&l ...
- scrapy中输出中文保存中文
1.json文件中文解码: #!/usr/bin/python #coding=utf-8 #author=dahu import json with open('huxiu.json','r') a ...
- python之多线程 threading.Lock() 和 threading.RLock()
0.目录 2. threading.Lock() 的必要性3.观察block4.threading.RLock() 的应用场景 1.参考 Thread Synchronization Mechanis ...
- python之集合set
1.测试 # python2和python3方法列表相同 ops23 = ['add', 'clear', 'copy', 'difference', 'difference_update', 'di ...