用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=my odb.rootAssembly.nodeSets[‘nodeset’]
#nodeset为3步骤的节点集合,同时odb中的该节点集合信息赋予给Noderegion 5>>> REACTIONRF= my odb.steps[‘Step-1’].frame s[1] .fieldOutputs[‘RF’]
#将odb文件中step-1中frame=1时的RF(节点反力)赋予REACTIONRF 6>>>NODESETRF= REACTIONRF.getSubset(region= Noderegion).values
#节点集合的反力数值赋予到NODESETR中
#5,6两部可以合并为:
NODESETRF = my odb.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
内容为1、5
得到的结果和用探针probe values得到的结果是一样的节点信息输出正确