コード例 #1
0
ファイル: plot3d.py プロジェクト: maierbn/iron-tests
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)
コード例 #2
0
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):