def animate(t, create_image=False): global foldername, image_name ax1.clear() # get all exnode files sorted in that directory files = exnode_reader.get_exnode_files(foldername) if t >= len(files): return iron_filename = files[t] iron_data = exnode_reader.parse_file( foldername + iron_filename, [["Vm", 1]]) # extract field Vm, component 1 n = len(iron_data) nx = int(np.sqrt(n)) - 1 ny = int(np.sqrt(n)) - 1 print "t=", t, "/", len(files), ", n=", n, ", nx=", nx, ", ny=", ny X = range(nx + 1) Y = range(ny + 1) X, Y = np.meshgrid(X, Y) Z_iron = X.copy() for x in range(nx + 1): for y in range(ny + 1): try: Z_iron[x, y] = iron_data[x * (ny + 1) + y] except: # fails for nans Z_iron[x, y] = 0.0 ax1.plot_surface(X, Y, Z_iron, cmap=cm.coolwarm, linewidth=1, antialiased=False, rstride=1, cstride=1) ax1.set_zlim(-80, 30) plt.title("t = " + str(t * 0.005)) if t % 100 == 0 or create_image: filenamepng = image_name + "_t" + str(t) + ".png" filenameeps = image_name + "_t" + str(t) + ".eps" plt.savefig(filenamepng) print "Image saved to {}".format(filenamepng) os.system("convert " + filenamepng + " " + filenameeps)
foldername = "." if len(sys.argv) > 1: foldername = sys.argv[1] # append slash if necessary if foldername[-1] != "/": foldername = foldername + "/" print "foldername: ", foldername # creat image name imagenamepng = "{}".format(foldername) + "image.png" imagenameeps = "{}".format(foldername) + "image.eps" # get all exnode files (sorted) from the folder files = exnode_reader.get_exnode_files(foldername) #print 'exnode files',files n_timestep = len(files) - 1 #print "No. of time steps: ", n_timestep #get the number of data in each file x = exnode_reader.parse_file(foldername + files[0], [["Coordinate", 1]]) #field_name and component_no n_data = len(x) #print "No. of data point: ",n_data #print x # get the data Vm = [0.0 for i in range(n_timestep)] for i_time in range(n_timestep):