Abaqus的Python后处理详解-kxh

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Abaqus中Python后处理详解

By NUAA

Ph.D Kong Xianghong

2013/04/23

下图是Abaqus ODB

文件的数据结构,后处理操作主要对以下两步分进行操作:

1) 对场变量的读取路径:

odb.setps[].frames[].fieldOutputs[]

2) 对历史变量的读取路径:

odb.setps[].historyRegions[].historyOutputs[]

1 Abaqus ODB 文件数据结构

2.1 创建3D实体Part

创建截面为

10×10mm,长度

为20mm的拉伸

体部件。

2.2 对3D实体Part划分单元

模型建得比较小,划分单元也比较少,这样得到的odb文件也比较小,有助于更方便地了解odb文件的数据结构。

2.3 创建材料及截面

2.4 给Part赋材料属性及创建装配实例

2.5 创建分析步

为了输出HistoryOutput,所以分析步的增了步设置了多步(10步)。

2.6 编辑场输出变量

2.7 为历史输出变量创建Node Set

2.8 编辑历史输出变量

2.9 创建边界条件

施加边界条件的Region为Set-1。

2.10 施加载荷

2.11 创建Job

在Job编辑对话框的Parallelization

标签页中也可定义

并行计算的核数。

2.12 在Abaqus/CAE中查看分析结果

3.1 打开关闭odb文件的方法

方法一:

from odbAccess import *

myodb=openOdb('D:/.../Job-1.odb')

myodb.close()

方法二:

import odbAccess

myodb=session.openOdb('D:/.../Job-1.odb')

myodb.close()

方法三:

import visualization

myodb=visualization.openOdb('D:/.../Job-1.odb')

myodb.close()

3.2 使用prettyPrint()方法查看odb 数据结构(1)在Abaqus 命令行借口中输入如下四行Python 程序:>>> from odbAccess import *

>>> from textRepr import *>>> myodb=openOdb('Job-1.odb')

>>> prettyPrint(myodb,1) 程序运行结果如右图所示,prettyPrint()的第2个参数表示打印odb

文件数据的级数,可以

逐渐调大该参数,观察

打印结果。

注:当odb 文件在Abaqus

的工作路径下时,使用

openOdb()打开odb 文件时

可以不用写路径。

3.2 使用prettyPrint()方法查看odb数据结构(1)

prettyPrint()

的第2个参数设

为2时的打印结

果,可以只关注

steps下的数据。

3.3 使用getIndentedRepr()方法查看odb数据结构(1)

在Abaqus/CAE命令行中输入以下Python程序,可以将odb文件数据打印到指定的文本文件中。

>>>from odbAccess import *

>>>from textRepr import *

>>>f1=open('D:/Report2.txt','w')

>>>myodb=openOdb('Job-1.odb')

>>>r=getIndentedRepr(myodb,2)

>>>f1.write(r)

>>>f1.close()

>>>myodb.close()

右图是将

getIndentedRepr()方法

第二个参数设为4时,

打印到Report4.txt 文件

中是odb 文件数据。仔

细观察文本文件中的

数据结构,有助于更

好的理解odb 文件的数

据结构。

3.3 使用getIndentedRepr()方法查看odb 数据结构

(2)

3.4 在命令行接口中查看odb文件数据(1) >>> from odbAccess import * # 导入odbAccess模块>>> myodb=openOdb('Job-1.odb') # 打开odb文件

>>> mystep=myodb.steps # odb.steps

>>> mystep.keys() # 查看steps

['Step-1']

>>> step1=mystep['Step-1'] # 读取Step-1

>>> step1.__members__ # 查看Step-1中的数据['acousticMass', 'acousticMassCenter', 'description', 'domain', 'eliminatedNodalDofs', 'frames', 'historyRegions',

'inertiaAboutCenter', 'inertiaAboutOrigin', 'loadCases', 'mass', 'massCenter', 'name', 'nlgeom', 'number', 'previousStepName', 'procedure', 'retainedEigenModes', 'retainedNodalDofs',

'timePeriod', 'totalTime']

相关文档
最新文档