本节内容参考自书籍《Python语言在Abaqus中的应用》,注意:以下代码为伪代码,仅供参考

1、导入必要的模块,加载后处理odb文件

from abaqus import *
from abaqusConstants import *
from odbAccess import*
import os
odb=openOdb(path='job-1.odb')

2、常用获取模型数据的api

#输出所有部件实例名称,在cae界面能看到结果,该部分代码只能在abaqus command环境下运行
for instanceName in odb.rootAssembly.instances.keys():
print instanceName #调用部件实例所有节点集名
print 'Node set=',odb.rootAssembly.instances['PART-1-1'].nodeSets.keys() #所有单元集名
print 'Element set=',odb.rootAssembly.instances['PART-1-1'].elementSets.keys() #输出所有材料的名称
allMaterials=odb.materials
for materialName in allMaterials.keys():
print 'Material Name:',materialName #输出分析步的关键字
for stepName in odb.steps.keys():
print stepName #帧赋值
lastFrame=odb.steps['Step-1'].frames[-1] #读取场输出数据,列出分析步最后一帧的所有变量
for fieldName in lastFrame.fieldOutputs.keys():
print fieldName
#输出最后一帧场输出的变量名、描述和成员类型
for f in lastFrame.fieldOutputs.values():
print f.name,':',f.description
print 'Type:',f.type
#对于每个计算值,输出其位置
for loc in f.locations:
print 'Position:',loc.position
print

3、输出odb文件中的位移信息

#获取WALL部分位移---节点集合
wall=odb.rootAssembly.instances['PART-1-1'].nodeSets['WALL']
print(odb.steps['water5'])
lastFrame=odb.steps['water5'].frames[1]
displacement=lastFrame.fieldOutputs['U']
wall_Disp=displacement.getSubset(region=wall)
wall_U=wall_Disp.values
print(len(wall_U)) #位移输出为txt文件
full_path='D:\\abaqus1\\'+'1111111111111.txt'
f=open(full_path,'a+')
for i in [400,800,1200]:
f.write('%7.4f %7.4f %7.4f ' % (wall_U[i].data[0],wall_U[i].data[1],wall_U[i].data[2]))
f.write('\n')
f.close()

4、输出odb文件中的应力信息

#获取防渗墙wall部分的节点集合,输出应力值
#获取防渗墙的单元集合
wall_1=odb.rootAssembly.instances['PART-1-1'].elementSets['HMPROP_WALL1']
stress=lastFrame.fieldOutputs['S']
wall_Stress=stress.getSubset(region=wall_1)
wall_S=wall_Stress.values
print('wall_S number:',len(wall_S)) # 输出应力
full_path='C:\\abaqus2\\'+'wall_S.txt'
f=open(full_path,'w+')
for i in wall_S:
f.write('%d %7.4f %7.4f %7.4f \n' % (i.elementLabel,i.mises,i.maxPrincipal,i.minPrincipal))
else:
f.close()

Python编写abaqus后处理脚本(学习笔记)的更多相关文章

  1. python编写文件统计脚本

    python编写文件统计脚本 思路:用os模块中的一些函数(os.listdir().os.path.isdir().os.path.join().os.path.abspath()等) 实现功能:显 ...

  2. Python 日期时间处理模块学习笔记

    来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...

  3. 《Think Python》第17章学习笔记

    目录 <Think Python>第17章学习笔记 17.1 面向对象的特性(Object-oriented features) 17.2 打印对象(Printing objects) 1 ...

  4. 《Think Python》第16章学习笔记

    目录 <Think Python>第16章学习笔记 16.1 Time 16.2 纯函数(Pure functions) 16.3 修改器(Modifiers) 16.4 原型 vs. 方 ...

  5. 《Think Python》第15章学习笔记

    目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...

  6. python编写DDoS攻击脚本

    python编写DDoS攻击脚本 一.什么是DDoS攻击 DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的, ...

  7. Python 图片转字符画 学习笔记

    Python 图片转字符画 学习笔记 标签(空格分隔): Python 声明:此文章和所有代码是学习笔记,非原创,原文教程地址:https://www.shiyanlou.com/courses/37 ...

  8. 从零开始构建并编写神经网络---Keras【学习笔记】[1/2]

    Keras简介:   Keras是由纯python编写的基于theano/tensorflow的深度学习框架.   Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结果, ...

  9. python cookbook第三版学习笔记十:类和对象(一)

    类和对象: 我们经常会对打印一个对象来得到对象的某些信息. class pair:     def __init__(self,x,y):         self.x=x         self. ...

随机推荐

  1. 【Linux学习笔记0】-虚拟机运行CentOS(VMware12+CentOS)

    目录 一,资源 二,VMware12安装 记录自己学习linux的过程.这将会是一个系列,本文是该系列的第一部分,主要记录虚拟机(VMware12)及对应操作系统(CentOS)的安装过程. 虚拟机( ...

  2. python3表格数据处理

    技术背景 数据处理是一个当下非常热门的研究方向,通过对于大型实际场景中的数据进行建模,可以用于预测下一阶段可能出现的情况.比如我们有过去的2002年-2018年的黄金价格的数据: 该数据来源于Gite ...

  3. 第13 章 : Kubernetes 网络概念及策略控制

    Kubernetes 网络概念及策略控制 本文将主要分享以下 5 方面的内容: Kubernetes 基本网络模型: Netns 探秘: 主流网络方案简介: Network Policy 的用处: 思 ...

  4. Leedcode算法专题训练(数学)

    204. 计数质数 难度简单523 统计所有小于非负整数 n 的质数的数量. class Solution { public int countPrimes(int n) { boolean[] is ...

  5. 「SpringBoot2.4新特性」jar自动瘦身

    自动分析瘦身 Spring Boot 项目最终构建处理 JAR 包大小一直是个诟病,需要把所有依赖包内置最终输出可运行的 jar. 当然可以使用其他的插件扩展 实现依赖 JAR 和 可运行 jar 分 ...

  6. 为什么 Spring Boot 2.3.0 放弃Maven最终拥抱Gradle

    在 2.3.0 中对 Spring Boot 进行了相当重大的更改,这是使用 Gradle 而非 Maven 构建的项目的第一个版本. Spring 的每个项目都独立的项目组在开发运营,在用户最常使用 ...

  7. Day14_81_反射机制获取Class属性

    反射机制获取Class属性 获取属性 方法一: Class对象 . getFields();只能用来获取公开的属性,不能获取有私有的或者受保护的属性 获取属性 方法二: Class对象 . getDe ...

  8. k8s ingress-nginx

    转载自https://blog.csdn.net/bjwf125/article/details/104663542/ Kubernetes系列之Kubernetes使用ingress-nginx作为 ...

  9. 带你温习一下webpack配置

    前言 你知道node.webpack和npm之间的关系吗? 首先来介绍一下node.webpack和npm的有什么样的关系. 我们知道webpack是对我们所开发的html.css.js等模块化开发的 ...

  10. Spring Boot 轻量替代框架 Solon 1.3.29 发布

    Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Soc ...