节点是没有应力应变的,只有积分点才有,所以直接在odb文件里面用FieldOutput是整不出来的(结果是个空列表),只能用session这种让abaqus自己帮你处理。具体的代码需要根据自己操作的时候abaqus.rpy这个文件中代码的变化来更改
import numpy
from abaqus import *
from abaqusConstants import *
from caeModules import *
import visualization
from driverUtils import executeOnCaeStartup
import numpy as np
from driverUtils import executeOnCaeStartup
from odbAccess import *
import numpy as np
job_name = "v1100-2"
o1 = session.openOdb(name='https://www.gofarlic.com/Abaqus/file/'+job_name+'.odb')
odb = session.odbs['https://www.gofarlic.com/Abaqus/file/'+job_name+'.odb']
# F
session.xyDataListFromField(odb=odb, outputPosition=NODAL, variable=(('CF',
NODAL, ((COMPONENT, 'CF1'), (COMPONENT, 'CF2'),
(COMPONENT, 'CF3'),)),),
nodeSets=("RP_F",))
# c0 = session.Curve(xyData=xy0)
xy1 = session.XYDataFromHistory(name='RF2 PI: rootAssembly N: 1 NSET RP_F-1',
odb=odb,
outputVariableName='Reaction force: RF2 PI: rootAssembly Node 1 in NSET RP_F',
steps=('Step-1',), __linkedVpName__='Viewport: 1')
# c1 = session.Curve(xyData=xy1)
xy2 = session.XYDataFromHistory(name='RF3 PI: rootAssembly N: 1 NSET RP_F-1',
odb=odb,
outputVariableName='Reaction force: RF3 PI: rootAssembly Node 1 in NSET RP_F',
steps=('Step-1',), __linkedVpName__='Viewport: 1')
# c1
session.xyDataListFromField(odb=odb, outputPosition=NODAL,
variable=(('LE', INTEGRATION_POINT, ((COMPONENT, 'LE22'),)),),
nodeSets=("C1_LE22_P8",))
xy1 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 575']
xy2 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2501']
xy3 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2506']
xy4 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2511']
xy5 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2516']
xy6 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2521']
xy7 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2526']
xy8 = session.xyDataObjects['LE:LE22 (Avg: 75%) PI: V11-1 N: 2531']
xy9 = sum(xy1, xy2, xy3, xy4, xy5, xy6, xy7, xy8) /
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删