声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1756|回复: 0

Abaqus利用region读取结果数据

[复制链接]
发表于 2016-5-12 10:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  Abaqus计算完成后,为输出某部分模型的结果数据,需要用到region,并且配套使用的是getSubset函数。

  示例一创建一个变量center,将一个叫做PUNCH的节点set赋值给这个变量,通过整个模型的位移场displacement得到该节点set的输出数据,代码如下:
  1.   center = odb.rootAssembly.instances['PART-1-1'].nodeSets['PUNCH']

  2.   centerDisplacement = displacement.getSubset(region=center)

  3.   centerValues = centerDisplacement.values

  4.   for v in centerValues:

  5.   print v.nodeLabel, v.data
复制代码
  其中的displacement是已经创建好的位移场数据,centerDisplacement变量得到该节点集的所有数据,centerValues变量得到该节点集的数值数据,通过循环输出节点号和当前数据。


  示例二如下:

  1.   #创建变量topCenter,得到单元集CENT

  2.   topCenter =odb.rootAssembly.instances['PART-1-1'].elementSets['CENT']

  3.   #创建变量stressField,得到位移场数据

  4.   stressField = odb.steps['Step-2'].frames[3].fieldOutputs['S']

  5.   #创建变量field,得到该单元集的积分点的数据

  6.   field = stressField.getSubset(region=topCenter,

  7.   position=INTEGRATION_POINT, elementType = 'CAX4')

  8.   #创建变量fieldValues,得到field的数值数据

  9.   fieldValues = field.values

  10.   #循环输出单元号,单元上的积分点号以及积分点的应力分量

  11.   for v in fieldValues:

  12.   print 'Element label = ', v.elementLabel,

  13.   if v.integrationPoint:

  14.   print 'Integration Point = ', v.integrationPoint

  15.   else:

  16.   print

  17.   # For each tensor component.

  18.   for component in v.data:

  19.   # Print using a format. The comma at the end of the

  20.   # print statement suppresses the carriage return.

  21.   print '%-10.5f' % component,

  22.   # After each tuple has printed, print a carriage return.

  23.   Print
复制代码

  最终的输出结果:

  1.   Element label = 1 Integration Point = 1

  2.   S : 0.01230 -0.05658 0.00892 -0.00015

  3.   Element label = 1 Integration Point = 2

  4.   S : 0.01313 -0.05659 0.00892 -0.00106

  5.   Element label = 1 Integration Point = 3

  6.   S : 0.00619 -0.05642 0.00892 -0.00023

  7.   Element label = 1 Integration Point = 4

  8.   S : 0.00697 -0.05642 0.00892 -0.00108

  9.   Element label = 11 Integration Point = 1

  10.   S : 0.01281 -0.05660 0.00897 -0.00146

  11.   Element label = 11 Integration Point = 2

  12.   S : 0.01183 -0.05651 0.00897 -0.00257

  13.   Element label = 11 Integration Point = 3 ...
复制代码

  另:对于getSubset的position有以下几个可选:
  INTEGRATION_POINT !积分点
  NODAL !节点(平均)
  ELEMENT_NODAL !单元节点(未平均)

  CENTROID !单元质心点


转自:http://blog.sina.com.cn/s/blog_6465f2ed0102x4eg.html

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-30 01:24 , Processed in 0.087646 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表