以下Python代码是否有误
# -*- coding: utf-8 -*-
from odbAccess import *
from abaqusConstants import *
import sys #导入系统模块
import string #导入字符串处理模块
print 'begin abaqus python'
print 'this code is for obd process'
odb = openOdb (path='random.odb') #open the odb file
myAssembly = odb.rootAssembly
s = sys.argv[2]
f = open (s,'w') #open the output file
f.write ('TITLE=output RMS for radom response analysis')
f.write ('VARIABLES = "element","Mises" \n')
FrameLen = len(odb.steps['Step-2'].frames)
destframe=int (sys.argv[1]) #录入需要提取频率的frame数目
i=destframe
l=1
while i<destframe +1 : #当i=所需要帧时候,处理该帧下的数据
Frame = odb.steps['Step-2'].frames[1]
RootMeanStress=Frame.fieldOutputs['RS']
RSValues = RootMeanStress.values
count = len (RSValues) # print count
mises=range (0,count);
EleLab=range (0,count); #print len(EleLab),len(mises)
for l in range(0,count):
val = RSValues [1];
data = val.data
dataLen=len (data)
s11=data[0]
s22=data[1]
s33=data[2]
s12=data[3]
mises2=s11*s11+s22*s22+s33*s33-1.0/3.0*(s11+s22+s33)*(s11+s22+s33) #RMS mises stress
ises[l-1] =sqrt(mises2)
EleLab[l-1] =val.elementLabel
#print "S:",val.elementLabel,sqrt(mises2)
# f.write("hi\n")
sel=str(val.elementLabel)
smi=str(sqrt(mises2))
f.write(sel)
f.write('\t')
f.write('\t')
f.write(smi)
f.write('\t')
f.write('\n')
i=i+1
# f.write('end of process')
f.close()
不知道所问的是否有误是说代码有误,还是功能有误
不过,就你所发代码来看,
for l in range(0,count):
这句下面的缩进存在问题。