from odbAccess import * from abaqusConstants import * import part jobname = 'Job-1' stepname = 'Acoustic_Load' resultfile_name = 'Pressure' # file to be written in odb_file = jobname + '.odb' inp_file = jobname + '.inp' odb = openOdb(odb_file,readOnly=True) number_freq = len(odb.steps[stepname].frames) assembly = odb.rootAssembly file_Coord = open('Coordinates.txt','w+') for i in xrange(number_freq): # for all frequencies calculated in step f=odb.steps[stepname].frames[i].frequency if f>0: result_file = resultfile_name + '_' + str(f) + '.txt' file_results = open(result_file,'w+') set_node_number = session.odbs ['Job-1.odb']. rootAssembly.nodeSets ['FRA Set']. nodes [0] number_nodes = len(set_node_number) lastFrame = odb.steps[odb.steps.keys()[i]].frames[i] pressure = lastFrame.fieldOutputs['POR'] center = odb.rootAssembly.nodeSets['FRA Set'] data_i = pressure.getSubset(region=center) for k in range(number_nodes): part=data_i.values[k].instance.name nodeID=data_i.values[k].nodeLabel if i==1: Coord=assembly.instances[part].nodes[k].coordinates file_Coord.write('%10i %13E %13E %13E\n' % (nodeID,Coord[0],Coord[1],Coord[2])) u=data_i.values[k].data ui=data_i.values[k].conjugateData file_results.write('%10i %13E %13E\n' % (nodeID,u,ui))