Rep:Mod:DMS3053-8
Appearance
from matplotlib import pylab as pl import numpy as np
def extract_data_c(file): data_array = np.loadtxt(file) temps = data_array[:,0] heat_cap_per_spin = data_array[:,5] return temps, heat_cap_per_spin
def extract_data(file): data_array = np.loadtxt(file) list = file.split("x") # Splits the file name to find the lattice size spin = int(list[0]) spins = spin*spin # Provided that the lattice in use is square temps = data_array[:,0] energies = data_array[:,1] squared_energies = data_array[:,2] variance = squared_energies - (energies*energies) heat_capacity = variance / (temps*temps) heat_cap_per_spin = heat_capacity / spins return temps, heat_cap_per_spin def plotdata(fileC, filePY): fileC_data = extract_data_c(fileC) filePY_data = extract_data(filePY) pl.ylabel("Heat Capacity") pl.xlabel("Temperature") pl.ylim([0.0, 2.0]) pl.plot(fileC_data[0], fileC_data[1], filePY_data[0], filePY_data[1]) pl.legend(['C++', 'Python'], loc='upper center', bbox_to_anchor=(0.5, 1.10), ncol=5) pl.show()