""" C = np.zeros_like(T) for i in range(len(T)): boltz_arg = S - E / T[i] P = np.exp(boltz_arg - boltz_arg.max()) P = P / P.sum() U = (E * P).sum() C[i] = ((E - U)**2 * P).sum() / T[i]**2 return C T = np.arange(1.5, 5, 0.01) # Compute the reference energy, entropy, and heat capacity once. try: eref, lndosref, Nrt_ref = readnew.e_lndos_ps(ref) except: eref, lndosref = readnew.e_lndos(ref) #cvref = heat_capacity(T, eref, lndosref) cvref = heat_capacity(T, eref[0:Emin - Emax + 1], lndosref[0:Emin - Emax + 1]) # form a dictionary to place into a pandas dataframe. mydictionary = { 'Temperature': T, 'cvref': cvref, } df = pd.DataFrame(mydictionary) for f in filename: name = '%s.yaml' % (f)
#print(data['bins']['lnw']) moves = data['moves'] data['movies']['entropy'] = np.array(data['movies']['entropy']) lndos = data['movies']['entropy'] N_save_times = len(data['movies']['entropy']) ref = reference if ref[:len('data/')] != 'data/': ref = 'data/' + ref maxref = Smax #int(readnew.max_entropy_state(ref)) minref = Smin # int(readnew.min_important_energy(ref)) n_energies = int(minref - maxref+1) print maxref, minref try: eref, lndosref, Nrt_ref = readnew.e_lndos_ps(ref) except: eref, lndosref = readnew.e_lndos(ref) errorinentropy = np.zeros(N_save_times) maxerror = np.zeros(N_save_times) for i in range(0,N_save_times): # below just set average S equal between lndos and lndosref if yamlRef: norm_factor = np.mean(lndos[i][maxyaml:minyaml+1]) - np.mean(lndosref[0:len(lndosref)]) doserror = lndos[i][maxyaml:minyaml+1][::-1] - lndosref[0:len(lndosref)] - norm_factor else: norm_factor = np.mean(lndos[i][maxyaml:minyaml+1]) - np.mean(lndosref[maxref:minref+1]) doserror = lndos[i][maxyaml:minyaml+1][::-1] - lndosref[maxref:minref+1] - norm_factor errorinentropy[i] = np.sum(abs(doserror))/len(doserror)
energy = [] lndos = [] ps = [] hist = [] fref = 'data/lv/ww%.2f-ff%.2f-%gx%g-tmi3-dos.dat' % (ww, ff, lenx, lenyz) energy_ref, lndos_ref = readnew.e_lndos(fref) max_entropy_state = readnew.max_entropy_state(fref) for method in all_methods: try: fbase = 'data/lv/ww%.2f-ff%.2f-%gx%g%s-movie/%s' % ( ww, ff, lenx, lenyz, method, number) myT, myu, mycv, mys, myminT = readnew.T_u_cv_s_minT(fbase) myenergy, mylndos, myps = readnew.e_lndos_ps(fbase) _, myhist = readnew.e_hist(fbase) except: continue energy.append(myenergy[:len(lndos_ref)]) lndos.append(mylndos[:len(lndos_ref)]) ps.append(myps[:len(lndos_ref)]) newhist = np.zeros_like(lndos_ref) newhist[:len(myhist)] = myhist hist.append(newhist) methods.append(method) prettymethods.append(method[1:]) T.append(myT) u.append(myu)
u = [] energy = [] lndos = [] ps = [] hist = [] fref = 'data/lv/ww%.2f-ff%.2f-%gx%g-tmi3-dos.dat' % (ww,ff,lenx,lenyz) energy_ref,lndos_ref = readnew.e_lndos(fref) max_entropy_state = readnew.max_entropy_state(fref) for method in all_methods: try: fbase = 'data/lv/ww%.2f-ff%.2f-%gx%g%s-movie/%s' % (ww,ff,lenx,lenyz,method,number) myT,myu,mycv,mys,myminT = readnew.T_u_cv_s_minT(fbase) myenergy,mylndos,myps = readnew.e_lndos_ps(fbase) _, myhist = readnew.e_hist(fbase) except: continue energy.append(myenergy[:len(lndos_ref)]) lndos.append(mylndos[:len(lndos_ref)]) ps.append(myps[:len(lndos_ref)]) newhist = np.zeros_like(lndos_ref) newhist[:len(myhist)] = myhist hist.append(newhist) methods.append(method) prettymethods.append(method[1:]) T.append(myT) u.append(myu)