# Do not delete the following import lines from abaqus import * from odbAccess import * from abaqusConstants import * import __main__ import os, glob def Entire_Work_Flow(path_filename):
....
(filepath,filename) = os.path.split(path_filename) jobname = filename.split('.')[0] partname ='P%s'%(jobname) instancename = 'P%s-1'%(jobname) print "instance=%s"%instancename
....
myJob1.submit(consistencyChecking=OFF) myJob1.waitForCompletion()
def getvalues(odbname): odb=openOdb(odbname) lastFrame = odb.steps['Pulled'].frames[-1] fieldValues = lastFrame.fieldOutputs['RF'].values sum = 0.0 for v in fieldValues: #print v.data[2]#Z value sum = sum+v.data[2] #Von mises lastFrame = odb.steps['Pulled'].frames[-1] fieldValues = lastFrame.fieldOutputs['MISESMAX'].values max = -10000.0 for v in fieldValues: if(v.data>max): max = v.data values = [sum, max]#Sum of reaction forces and max von mises stress print values return values
def main(): reload(sys) sys.setdefaultencoding("utf-8") path = '.' files2match = "*.sat" outfile_csv = 'newlist.csv' fp_write = open(outfile_csv,'w'); for infile in glob.glob( os.path.join(path, files2match) ): (filepath,filename) = os.path.split(infile) filename_noext = filename.split('.')[0] odbname = filename.split('.')[0]+'.odb' print "file: " + odbname #The FEM operation created using macros Entire_Work_Flow(filename) values = getvalues(odbname) s = "%s,%0.3f,%0.3f\n"%(filename_noext,values[0],values[1]) fp_write.write(s); fp_write.close();
if __name__ == '__main__': main()