Esempio n. 1
0
def residual_enthalpy_and_PVT(p,Data_Enthalpy_H,Data_Enthalpy_PkPa,Data_Enthalpy_T,Data_Enthalpy_x_h2,Data_Enthalpy_x_h2o,Data_pXT_P,Data_pXT_T,Data_pXT_density,Data_pXT_x_h2,Data_pXT_x_h2o,Data_B_B_vals,Data_B_T_vals,Data_B_x_h2_vals,Data_B_x_h2o_vals,Data_C_vals):
        from residual_enthalpy_data import residual_enthalpy_data
        from residual_pXT_data import residual_pXT_data
        from residual_B_data import residual_B_data
        from residual_C_data import residual_C_data
        from numpy import zeros,shape
        err1=residual_pXT_data(p,Data_pXT_P,Data_pXT_T,Data_pXT_density,Data_pXT_x_h2,Data_pXT_x_h2o)
        err2=residual_enthalpy_data(p,Data_Enthalpy_H,Data_Enthalpy_PkPa,Data_Enthalpy_T,Data_Enthalpy_x_h2,Data_Enthalpy_x_h2o)
        err3=residual_B_data(p,Data_B_B_vals,Data_B_T_vals,Data_B_x_h2_vals,Data_B_x_h2o_vals)
        err4=residual_C_data(p,Data_C_vals,Data_B_T_vals,Data_B_x_h2_vals,Data_B_x_h2o_vals)
        [m1]=shape(err1)
        [m2]=shape(err2)
        [m3]=shape(err3)
        [m4]=shape(err4)
        err_total=zeros(int(m1+m2+m3+m4))
        #print m1,m2
        #print shape(err1)
        #print shape(Data_Enthalpy_H)
        #print shape(err_total[0:m1])
        err2[len(err2)-1]=err2[len(err2)-1]*10
        err2[len(err2)-6]=err2[len(err2)-6]*10
        err2[len(err2)-4]=err2[len(err2)-4]*10
        err2[len(err2)-9]=err2[len(err2)-9]*10
        err_total[0:m1]=100.0*(err1/Data_pXT_P)
        err_total[m1:m1+m2]=100.0*(err2/Data_Enthalpy_H)
        err_total[m1+m2:m1+m2+m3]=100.0*(err3/Data_B_B_vals)
        err_total[m1+m2+m3:m1+m2+m3+m4]=100.0*(err4/Data_C_vals)
        print 'error', err_total
        print 'params',p
        return err_total
Esempio n. 2
0
Data_pXT_density[22]=(18.663980319129138*h2_M_amu+1.126616830674388*h2o_M_amu)/32.328408091385590#g/L equivalent to kg/m^3
Data_pXT_density[23]=(74.965164072252165*h2_M_amu+1.126616830674388*h2o_M_amu)/32.337938041626330#g/L equivalent to kg/m^3
Data_pXT_density[24]=(74.965164072252165*h2_M_amu+1.126616830674388*h2o_M_amu)/32.413598694129391#g/L equivalent to kg/m^3


print Data_pXT_density
print Data_pXT_x_h2o
print Data_pXT_x_h2

#[optimized_params,message]=leastsq(residual_enthalpy_data,p[:],args=(Data_Enthalpy_h_with_correct_units,Data_Enthalpy_P,Data_Enthalpy_T,Data_Enthalpy_x_h2,Data_Enthalpy_x_h2o))
#print optimized_params,message
#from_equation=enthalpy_h2_h2o_mixture(Data_Enthalpy_T,Data_Enthalpy_P,Data_Enthalpy_x_h2,Data_Enthalpy_x_h2o,F_ij,beta_ij,phi_ij,sigma_ij,xi_ij)
#[optimized_params,message]=leastsq(residual_pXT_data,p[:],maxfev=100000000,args=(Data_pXT_P,Data_pXT_T,Data_pXT_density,Data_pXT_x_h2,Data_pXT_x_h2o))
#print optimized_params
optimized_params=p
residual=residual_pXT_data(optimized_params,Data_pXT_P,Data_pXT_T,Data_pXT_density,Data_pXT_x_h2,Data_pXT_x_h2o)
print 100*(residual/Data_pXT_P)
figure(1)
plot(Data_pXT_T,residual,'kx')
savefig('terr.pdf')
figure(2)
plot(Data_pXT_density,residual,'kx')
savefig('rhoerr.pdf')

figure(3)
plot(Data_pXT_T,Data_pXT_P,'kx')
savefig('TP.pdf')
figure(4)
plot(Data_pXT_density,Data_pXT_P,'kx')
savefig('rhoP.pdf')
print Data_pXT_P