搜档网
当前位置:搜档网 › 用Python提取ABAQUS中节点集合的反力

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

用Python提取ABAQUS中节点集合的反力
用Python提取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=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得到的结果是一样的节点信息输出正确

相关主题