Esempio n. 1
0
    """
    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)
Esempio n. 2
0
#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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)