当前位置: 首页 > news >正文

Python处理Abaqus(ODB文件)的结果

前置准备(运行环境)

   应用python脚本读取Abaqus的结果文件odb时,需要对应的运行环境。通常在Abaqus CAE界面中直接运行python脚本,如下图所示:

AbaqusPythonScript01 AbaqusPythonScript02

  

Python代码

  • 导入相关的依赖包
from odbAccess import *
from abaqusConstants import *
#导入需要参与计算的依赖包
  •  读取Abaqus的ODB结果
odb = openOdb(path='TestElementS4.odb')
  •  获取ODB中载荷步的信息
# 获取odb中的载荷步的数量与名称
for stepName in odb.steps.keys():print(stepName)
#获取某个载荷步最后一帧的结果
lastFrame = odb.steps['Step-1'].frames[-1]
  •  获取场输出中设置的输出内容,例如U(位移),S(应力),PEEQ(塑性应变)
for fieldName in lastFrame.fieldOutputs.keys():print(fieldName)
  •  获取指定Set集的结果
#Instance中的名称主要是Part instances中名称,elementSets的变量为自定义设置Set集
topCenter = odb.rootAssembly.instances['PART-1-1'].elementSets['TEST01']

 其中instance的名称在Abaqus CAE后处理视图(visualization)可获得,同理elementSet可在该视图中获取,如下图所示:

AbaqusPythonScript03 AbaqusPythonScript04
  • 获取ODB中的目标结果,该方法中获取的数据结果类型为Dict
#获取目标结果的整体输出
stressField = odb.steps['Step-1'].frames[-1].fieldOutputs["S"]
#输出指定区域和类型结果,region为自定义的区域结果,position为应力结果类型,elementType设置单元类型
field = stressField.getSubset(region=topCenter,position=CENTROID, elementType = 'S4')

 其中需要注意的是getSubset中,可选的参数有INTEGRATION_POINTNODALELEMENT_NODALCENTROID

  • 输出ODB结果中的目标结果值
#输入目标结果值
filedValues = field.values
for v in filedValues:print("Element label:" + str(v.elementLabel))print("Von Mises:"+ str(v.mises))
  • 运行python脚本输出的部分结果
    AbaqusPythonScript05

完整代码

from odbAccess import *
from abaqusConstants import *odb = openOdb(path='TestElementS4.odb')
Reading load step nameprint(stepName)
#Get the last frame result in the current step
lastFrame = odb.steps['Step-1'].frames[-1]
for fieldName in lastFrame.fieldOutputs.keys():print(fieldName)    
topCenter = odb.rootAssembly.instances['PART-1-1'].elementSets['TEST01']
stressField = odb.steps['Step-1'].frames[-1].fieldOutputs["S"]
field = stressField.getSubset(region=topCenter,position=CENTROID, elementType = 'S4')
filedValues = field.values
for v in filedValues:print("Element label:" + str(v.elementLabel))print("Von Mises:"+ str(v.mises))

参考信息

通过python脚本读取Abaqus计算的ODB结果,主要参考了abaqus的文档Abaqus Scripting User's Guide,如有兴趣请查看该文档。

http://www.rkmt.cn/news/176426.html

相关文章:

  • BERT微调中文分类任务:PyTorch-CUDA-v2.7实战教程
  • DiskInfo监控SSD寿命:保障GPU服务器长期稳定运行
  • PyTorch-CUDA-v2.7镜像是否支持ROCm?AMD显卡用户必看
  • Pin memory加速数据传输:PyTorch-CUDA-v2.7训练提速秘诀
  • MAE自监督预训练:PyTorch-CUDA-v2.7大规模实验
  • 为什么国外开源项目作者一般都能拿到可观的收入,作为全职做也超过上班收入,在国内完全不行
  • 26届人工智能专业最新选题推荐(功能点+创新点+难度评估分类)
  • EGUOO产品好不好? - 黑马榜单
  • 旧版本安全维护期说明:何时必须升级到新镜像?
  • 探索MATLAB下阶梯式碳交易与电制氢的综合能源系统热电优化
  • Qt - QDataStream 详细介绍
  • PyTorch-CUDA-v2.7镜像内置哪些库?一文看懂预装组件清单
  • 值得收藏!ChatGPT核心RLHF技术详解与LLaMA2改进版实现
  • 屹晶微 EG2181 600V耐压、2.5A驱动、内置死区的高性价比半桥栅极驱动器技术解析
  • DiskInfo监控GPU磁盘IO:配合PyTorch训练进行资源调度
  • NCCL多机通信优化:PyTorch-CUDA-v2.7分布式训练调参建议
  • 后端转大模型开发必看!这份保姆级路线图,建议直接收藏
  • Docker镜像源优化建议:加速拉取PyTorch-CUDA-v2.7镜像
  • Persistent workers技巧:避免每次epoch重建worker进程
  • DiskInfo下载官网替代方案:监控GPU服务器状态的完整工具链
  • 开源模型部署成本压缩秘籍:PyTorch-CUDA-v2.7镜像实战案例
  • 第三课:Open3D点云数据处理:点云格式转换
  • C语言随堂笔记-8
  • Leetcode 56.合并区间 JavaScript (Day 6)
  • 如何定制自己的PyTorch-CUDA镜像?基于v2.7二次开发指南
  • Anaconda配置PyTorch环境太麻烦?试试PyTorch-CUDA-v2.7镜像
  • PyTorch安装教程GPU版:基于CUDA-v2.7镜像的高效配置方案
  • Jupyter魔法命令大全:提升PyTorch开发效率的%和!!操作
  • 防爆烘箱品牌怎么选?关键指标与推荐 - 品牌排行榜
  • 云交互:重塑数字体验的未来