Marc提供了PyMentatPyPost两个Python模块用以前后处理数据的获取和修改。

前者的执行依赖于Mentat界面,只能在Mentat界面中调用Python脚本,而后者可以完全独立于Mentat。

PyPost模块提供了一系列内置函数,用于读取Marc的后处理文件(*.t16),获取标量、向量、张量数据等。具体参考Marc帮助手册Python Manual卷。

准备工作(重要)

1.为了顺利使用PyPost模块,需要将模块文件py_post.pyd(\mentat2012\shlib\)复制到Python的库文件目录(\mentat2012\python\win64\Lib),
2.并且确保Python环境变量PYTHONPATH已经指向Python库文件目录。

这与使用其他Python模块是一样的,目的是让Python知道模块文件所在目录,然后才能用 from py_post import * 语句导入。

实例
从后处理文件中读取位移数据的基本思路为:

1.打开后处理文件
2.跳转到指定增量步
3.获取节点总数及每个节点的坐标和位移

# encoding: utf8
from py_post import *  # 导入PyPost模块# 读取后处理文件
fname = "test_job1.t16" # 当前目录下的Marc后处理文件,否则给出具体路径
p = post_open(fname)    # 打开后处理文件
p.moveto(26)            # 跳转到第26增量步# 节点数
num = p.nodes()data = []
k = 0
# 获取每个节点的位移值
while k < num:pk = p.node(k)  # 第k个节点对象,x,y,z属性分别为三个坐标值if pk.x>=-8 and pk.x<=27:  # 选择x坐标在[-8, 27]范围内的节点dx, dy, _ = p.node_displacement(k)  # 获取位移data.append([pk.x, pk.y, dx, dy])k += 1

上面的代码可以实现节点坐标、位移的获取,接下来即可进行云图的绘制。

绘制云图的contourf()函数接受的是网格化数据,而当前data列表中的是离散数据,所以需要先生成网格化的坐标数据,然后根据data中的数据插值得到指定节点上的位移数据,最后以新的数据绘制云图。

借助Python科学计算库Numpy和绘图库matplotlib,示例代码如下:

# 接前面代码import numpy as np
import matplotlib.pyplot as plt
from matplotlib.mlab import griddatadata = np.array(data)# 读取后处理文件得到的离散数据
xi = data[:,0] + 87.64
yi = data[:,1]
dzi = data[:,2]
dri = data[:,3]# 生成网格化的坐标
dx = np.linspace(np.min(xi), np.max(xi), 500)
dy = np.linspace(np.min(yi), np.max(yi), 250)
x, y = np.meshgrid(dx, dy)# 使用griddata插值得到节点上的位移值
dz = griddata(xi, yi, dzi, x, y)
dr = griddata(xi, yi, dri, x, y)# 根据模型几何结构显示数据
k = 0.075
t = (y>k*x) * (y>6.59)
dz[t] = np.nan
dr[t] = np.nan# 以轴向位移为例作云图
plt.figure()
c = plt.contourf(x, y, dz)
plt.colorbar(c)
plt.gca().set_aspect('equal')
plt.gca().set_axis_off()
plt.show()

最终效果如下:

使用python导出msc.marc后处理数据——PyPost介绍相关推荐

  1. python语言可以处理数据文件吗_Python语言读取Marc后处理文件基础知识.pdf

    Python语言读取Marc后处理文件基础知识 基于 python 的焊接后处理 知识要点:  Python 语言  Python 模块功能  PyPost 后处理模块  PyPost 模块函 ...

  2. Msc.Marc的python开发#2

    这里写目录标题 Msc.Marc的python开发#2 开发目的 流程图 整体结构 单元结构 应用实例 Msc.Marc的python开发#2 今天接着上一篇的文章介绍.上一篇说到,利用Msc.Mar ...

  3. msc.marc的Python开发,MscMarc,python,2

    文章目录 Msc.Marc的python开发#2 开发目的 流程图 整体结构 单元结构 应用实例 Msc.Marc的python开发#2 今天接着上一篇的文章介绍.上一篇说到,利用Msc.Marc的p ...

  4. Msc.Marc的python开发#1

    文章目录 Msc.Marc的python开发#1 前期配置 核心思想 核心交互函数及数据库函数 核心交互函数: 数据库函数: 应用实例 Msc.Marc的python开发#1 Msc.Marc 是一款 ...

  5. pythonmysql查询转list_使用Python将Mysql的查询数据导出到文件的方法

    mysql官方提供了很多种connector,其中包括python的connector. 下载地址在:http://dev.mysql.com/downloads/connector/python/ ...

  6. python 从同花顺获取数据导出,通达信PYTHON读取本地数据,如何使用python在文件中读取数据?...

    Q1:如何使用python在文件中读取数据? file = open('a','r').readlines()[1] Q2:python怎么将本地一个文件夹的所有文本读进内存中 列出文件,把各个文件打 ...

  7. Python导出Excel图表

    Python自动化办公的过程,部分涉及到导出Excel图表:本篇主要讲下使用python代码将excel中的图表导出为图片的开发过程: Python  版本: C:\Users>python P ...

  8. [转载] Python导出Excel图表

    参考链接: Python | 使用openpyxl模块在Excel工作表中绘制图表 1 Python自动化办公的过程,部分涉及到导出Excel图表:本篇主要讲下使用python代码将excel中的图表 ...

  9. python如何读取excel数据-使用Python读取电子表格中的数据

    Python 是最流行.功能最强大的编程语言之一.由于它是自由开源的,因此每个人都可以使用.大多数 Fedora 系统都已安装了该语言.Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数 ...

最新文章

  1. Type difference of character literals in C and C++
  2. 维基百科用php,在PHP中解析维基百科标记的最佳方法是什么?
  3. Java线程之守护线程(Daemon)
  4. Elasticsearch教程 elasticsearch Mapping的创建
  5. ebnf范式_使用Scala基于词法单元的解析器定制EBNF范式文法解析
  6. 华硕2020年显卡_送自己最好的新年游戏礼物,2020年新春显卡市场完全解析
  7. 如何在 Mac 上发布警报?
  8. 2022年信息安全工程师考试大纲
  9. 打地鼠java的实验报告_java实验报告18-“打地鼠”游戏程序设计.doc
  10. Wordpress限制游客访问权限(免插件) 实现禁止游客访问功能
  11. wifi动不动就断开_WIFI经常自动断网,大多数是因为此原因
  12. 开发者选项在哪?4.2及以上系统呼出教程
  13. Compose把Text组件玩出新高度
  14. pythoncad官网_Pycad: Python Extension for AutoCad
  15. 写学习心得,赢华为P30、漫步者音响!
  16. 【Python】PyQt5入门
  17. Android的历史
  18. python计算负数的平方根将产生_pow(x,0.5)能够计算x的平方根,计算负数的平方根将产生:_学小易找答案...
  19. Relation (mathematics)
  20. S7-1200 DB数据块

热门文章

  1. NVIDIA显卡,显卡驱动和CUDA版本之间的关系
  2. CUDA C++基本写法
  3. 服务器电池维修,服务器电池电量低判断方法
  4. 怎么用js改变html里面的图片大小,网页中图片属性固定宽度,如何用js改变大小...
  5. 【金字塔原理2】剖析金字塔的内部结构
  6. eclipse的outline窗口_【Eclipse】使用指南(5)快捷 Outline 视图
  7. Nodejs 中运行 JS 代码
  8. MySQL之索引,执行计划及SQL优化
  9. 写个数仓吧(15)品牌复购率——ADS层
  10. 网易云音乐再成功融资!2018年成数字音乐资本大年