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()