用Python提取ABAQUS中节点集合的反力

  • 格式:pdf
  • 大小:240.87 KB
  • 文档页数:2

廖 冬 (ABAQUS学习) 用Python提取ABAQUS中节点集合的反力

注:节点反力可以通过PATH路径来提取!!!(还是较为方便) 1>>>from odbAccess import *

2>>> myodb=openOdb('Job-1.odb') #该ODB文件用myodb表示

此处的job-1:表示第一个作业名称。

上图则job-1的位置就应该用beam-1来代替

3>>> print myodb.rootAssembly.nodeSets.keys() #查看全部的节点集合

4>>> Noderegion=myodb.rootAssembly.nodeSets[‘nodeset’]

#nodeset为3步骤的节点集合,同时odb中的该节点集合信息赋予给Noderegion 5>>> REACTIONRF= myodb.steps[‘Step-1’].frames[1] .fieldOutputs[‘RF’]

#将odb文件中step-1中frame=1时的RF(节点反力)赋予REACTIONRF 6>>>NODESETRF= REACTIONRF.getSubset(region= Noderegion).values

#节点集合的反力数值赋予到NODESETR中

#5,6两部可以合并为: NODESETRF = myodb.steps[‘Step-1’].frame[1] .fieldOutputs[‘RF’]. getSubset(region= Noderegion).values #如果将4,5,6三步合并到一个步骤里面为: val=myodb.steps['Step-1'].frames[1].fieldOutputs['RF'].getSubset(region=myodb.rootAsse

mbly.nodeSets['SET-2']).values

7>>>map(lambda x:[x.nodeLabel, x.data[0],x.data[1],x.data[2]], val)

#用map函数进行输出全部的节点值:x.nodeLabel:表示节点编号,x.data[0]:节点x

方向的反力[1],[2]表示y,z方向的反力。Val,也可以是6步骤中的NODESETRF 廖 冬 (ABAQUS学习)

内容为: >>>val=myodb.steps['Step-1'].frames[1].fieldOutputs['RF'].getSubset(region=myodb.root

Assembly.nodeSets['LOADSET']).values

>>>map(lambda x:[x.nodeLabel, x.data[0],x.data[1],x.data[2]], val)

内容为1、5、309、613、617等等节点的反力信息

得到的结果和用探针probe values得到的结果是一样的节点信息输出正确