delay 发表于 2016-5-12 10:10

Abaqus利用region读取结果数据

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

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

  centerDisplacement = displacement.getSubset(region=center)

  centerValues = centerDisplacement.values

  for v in centerValues:

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


  示例二如下:

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

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

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

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

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

  field = stressField.getSubset(region=topCenter,

  position=INTEGRATION_POINT, elementType = 'CAX4')

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

  fieldValues = field.values

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

  for v in fieldValues:

  print 'Element label = ', v.elementLabel,

  if v.integrationPoint:

  print 'Integration Point = ', v.integrationPoint

  else:

  print

  # For each tensor component.

  for component in v.data:

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

  # print statement suppresses the carriage return.

  print '%-10.5f' % component,

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

  Print

  最终的输出结果:

  Element label = 1 Integration Point = 1

  S : 0.01230 -0.05658 0.00892 -0.00015

  Element label = 1 Integration Point = 2

  S : 0.01313 -0.05659 0.00892 -0.00106

  Element label = 1 Integration Point = 3

  S : 0.00619 -0.05642 0.00892 -0.00023

  Element label = 1 Integration Point = 4

  S : 0.00697 -0.05642 0.00892 -0.00108

  Element label = 11 Integration Point = 1

  S : 0.01281 -0.05660 0.00897 -0.00146

  Element label = 11 Integration Point = 2

  S : 0.01183 -0.05651 0.00897 -0.00257

  Element label = 11 Integration Point = 3 ...

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

  CENTROID !单元质心点


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

页: [1]
查看完整版本: Abaqus利用region读取结果数据