问题

已知某应力张量的分量为

\[\sigma_{11}=3,\quad\sigma_{12} = \sigma_{13} = 1, \quad \sigma_{22} = \sigma_{33} = 0, \quad\sigma_{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模块

    from sympy import *
    init_printing(use_unicode=True)

    Matrix对象表示应力矩阵

    sigma = Matrix([[3, 1, 1], [1, 0, 2], [1, 2, 0]])
    sigma

    \[\left[\begin{matrix}3 & 1 & 1\\1 & 0 & 2\\1 & 2 & 0\end{matrix}\right]
    \]

    1、求全部主应力

    求特征值

    • 调用 Matrix 对象的 eigenvals 方法
    sigma.eigenvals()

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

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

    求特征矢量

    • 调用 Matrix 对象的 eigenvects 方法
    sigma.eigenvects()

    \[\left [ \left ( -2, \quad 1, \quad \left [ \left[\begin{matrix}0\\-1\\1\end{matrix}\right]\right ]\right ), \quad \left ( 1, \quad 1, \quad \left [ \left[\begin{matrix}-1\\1\\1\end{matrix}\right]\right ]\right ), \quad \left ( 4, \quad 1, \quad \left [ \left[\begin{matrix}2\\1\\1\end{matrix}\right]\right ]\right )\right ]
    \]

    2、求最大主应力对应的主方向

    最大主应力

    \[\sigma_1 = 4
    \]

    最大主应力对应的主方向

    \[\dfrac{1}{\sqrt{6}}\left(2, 1, 1\right)
    \]

    3、求斜面上的正应力 \(\sigma_n\) 和剪应力 \(\tau_n\)

    方向矢量

    \[\boldsymbol{n} = \left(0, \dfrac{1}{\sqrt{2}}, \dfrac{1}{\sqrt{2}}\right)
    \]

    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}\cdot\boldsymbol{n}\)

    T = sigma*n
    T

    \[\left[\begin{matrix}\sqrt{2}\\\sqrt{2}\\\sqrt{2}\end{matrix}\right]
    \]

    正应力 \(\sigma_n = \boldsymbol{T}\cdot\boldsymbol{n}\)

    sigma_n = T.T*n
    sigma_n

    \[\left[\begin{matrix}2\end{matrix}\right]
    \]

    剪应力

    \[\tau_n = \sqrt{T^2 - \sigma_n^2}
    \]

    tau_n =sqrt(T.T*T - sigma_n**2)
    tau_n

    \[\left(\left[\begin{matrix}2\end{matrix}\right]\right)^{\frac{1}{2}}
    \]

    参考

    Python3之弹性力学——应力张量2的更多相关文章

    1. Python3之弹性力学——应力张量1

      题目 已知某点的应力张量为: \[ \left[ \begin{array}{ccc} \sigma_{x} &\tau_{xy} &\tau_{xz}\\ \tau_{yx} &am ...

    2. python3  threading初体验

      python3中thread模块已被废弃,不能在使用thread模块,为了兼容性,python3将thread命名为_thread.python3中我们可以使用threading进行代替. threa ...

    3. Python3中的字符串函数学习总结

      这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

    4. Mac-OSX的Python3.5虚拟环境下安装Opencv

      Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2   概述 本文是一篇 环境搭建 的基础 ...

    5. Ubuntu部署python3.5的开发和运行环境

      Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...

    6. Python3 登陆网页并保持cookie

      网页登陆 网页登陆的原理都是,保持一个sessionid在cookie然后,根据sessionid在服务端找到cookie进行用户识别 python实现 由于python的简单以及丰富的类库是开发网络 ...

    7. 阿里云 SDK python3支持

      最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见h ...

    8. python3爬取1024图片

      这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章.各种开源软件.各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作 ...

    9. CentOS7中安装Python3.5

      1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. 安装相关依赖 yum install gcc ope ...

    随机推荐

    1. Nginx详解十四:Nginx场景实践篇之代理服务

      代理的作用 Nginx代理 正向代理 反向代理 正向代理和反向代理的区别:代理的对象不一样 正向代理代理的对象是客户端,反向代理代理的对象是服务端 反向代理: 配置语法:proxy_pass URL; ...

    2. Java int类型与String类型互转

      String类型转换为int类型 参考:https://blog.csdn.net/qq_35995940/article/details/78433404?locationNum=5&fps ...

    3. go包之logrus显示日志文件与行号

      前言: logrus是go中比较好的一个log模块.github上的很多开源项目都在使用这个模块, 我在写这个博文时, github上的logrus的stars数已经有8214了.最近在用这个模块时, ...

    4. 外部引入的js 判断js脚本加载是否完成,完成后执行 相应的动作(以引入百度地图js为例)

      可以使用JQuery的 $.getScript(url,function(){});方法 $.getScript("http://api.map.baidu.com/getscript?v= ...

    5. vue Bus总线

      有时候两个组件也需要通信(非父子关系).当然Vue2.0提供了Vuex,但在简单的场景下,可以使用一个空的Vue实例作为中央事件总线. 参考:http://blog.csdn.net/u0130340 ...

    6. Android之Error: 'L' is not a valid file-based resource name character解决办法

      1.问题 Error:Execution failed for task ':mergeBYODReleaseResources'.> /home/chenyu/Android_dev/sang ...

    7. javascript数组(五)

      一.创建数组.数组操作 数组是指的有序集合.每个值叫做元素,每个元素,每个元素在数组中都有梳子位置编号,也就是索引.JS中数组是弱类型的,数组中可以含有不同类型的元素.数组元素甚至可以是对象或其它数组 ...

    8. Pytorch学习笔记

      非线性回归问题的参数求解,反向求导基本流程.Variable 计算时, 它在后台一步步默默地搭建着一个庞大的系统, 叫做计算图, computational graph. 这个图将所有的计算步骤 (节 ...

    9. 跳跃表Skip List的原理

      1.二分查找和AVL树查找 二分查找要求元素可以随机访问,所以决定了需要把元素存储在连续内存.这样查找确实很快,但是插入和删除元素的时候,为了保证元素的有序性,就需要大量的移动元素了.如果需要的是一个 ...

    10. 【回顾】html链接、头部

      1.HTML 链接 HTML 使用超级链接与网络上的另一个文档相连.几乎可以在所有的网页中找到链接.点击链接可以从一张页面跳转到另一张页面. HTML 超链接(链接) HTML使用标签 <a&g ...