用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得到的结果是一样的节点信息输出正确