! Minimize Gibbs Free Energy to Determine Combustion Products ! Source: ! Lwin, Y., Chemical Equilibrium by Gibbs Energy Minimization on Spreadsheets, ! Int. J. Engng Ed. Vol. 16, No. 4, pp. 335-339, 2000. ! URL: http://www.ijee.dit.ie/articles/Vol16-4/Ijee1157.pdf ! To use the built-in thermo database, declare compounds here !Compounds ! CH4 ! H2O ! CO ! CO2 ! H2 !End Compounds ! The built-in thermo database has some of the properties referenced ! Currently commented out - user specifies t_crit (critical temp), ! p_crit (critical pressure), and omega_i (acentric factor). !Objects ! t_crit As thermo_tc ! p_crit As thermo_pc ! omega_i As thermo_af !End Objects Model gibbs Parameters T = 1000 P = 2 End Parameters Variables x[1:5] = 0.0001, >= 1e-4 ! compressibility factor z = 1.000023, >= 0.1 ! mole fractions y[1:5] End Variables Intermediates T_crit[1] = 190.55 T_crit[2] = 647.15 T_crit[3] = 132.8 T_crit[4] = 303.95 T_crit[5] = 33.3 P_crit[1] = 45.8 P_crit[2] = 218.4 P_crit[3] = 35 P_crit[4] = 73 P_crit[5] = 12.8 omega_i[1] = 0.012 omega_i[2] = 0.345 omega_i[3] = 0.048 omega_i[4] = 0.224 omega_i[5] = -0.216 delta_G[1] = 19.40135 delta_G[2] = -192.809 delta_G[3] = -200.235 delta_G[4] = -396.217 delta_G[5] = 0 carbon[1] = 1 carbon[2] = 0 carbon[3] = 1 carbon[4] = 1 carbon[5] = 0 hydrogen[1] = 4 hydrogen[2] = 2 hydrogen[3] = 0 hydrogen[4] = 0 hydrogen[5] = 2 oxygen[1] = 0 oxygen[2] = 1 oxygen[3] = 1 oxygen[4] = 2 oxygen[5] = 0 ! binary_interaction: ! CH4 H2O CO CO2 H2 ! CH4 0 0 0.03 0.09 0 ! H2O 0 0 0 0 0 ! CO 0.03 0 0 0.3 0 ! CO2 0.09 0 0.3 0 0 ! H2 0 0 0 0 0 a[1][1] = 0 a[1][2] = 0 a[1][3] = 0.03 a[1][4] = 0.09 a[1][5] = 0 a[2][1] = 0 a[2][2] = 0 a[2][3] = 0 a[2][4] = 0 a[2][5] = 0 a[3][1] = 0.03 a[3][2] = 0 a[3][3] = 0 a[3][4] = 0.3 a[3][5] = 0 a[4][1] = 0.09 a[4][2] = 0 a[4][3] = 0.3 a[4][4] = 0 a[4][5] = 0 a[5][1] = 0 a[5][2] = 0 a[5][3] = 0 a[5][4] = 0 a[5][5] = 0 r = 0.00831 r_t = 0.00831*T yi[1:5] = x[1:5]/(x[1]+x[2]+x[3]+x[4]+x[5]) a_i[1:5] = ( 0.4247*r^2 * (T_crit[1:5]*T_crit[1:5]) ) / P_crit[1:5] b_i[1:5] = (0.08664*r*T_crit[1:5])/P_crit[1:5] tot_b = yi[1]*b_i[1] + yi[2]*b_i[2] + yi[3]*b_i[3] + yi[4]*b_i[4] + yi[5]*b_i[5] kappa_i[1:5] = 0.48 + (1.574*omega_i[1:5]) - (0.176*omega_i[1:5]^2) alpha_i[1:5] = (1 + (kappa_i[1:5]*(1-((T/T_crit[1:5])^0.5))))^2 a_alpha_i[1:5] = a_i[1:5] * alpha_i[1:5] B2_i[1:5] = (b_i[1:5]*P) / r_t a_alpha_ij[1:5][1] = (1 - a[1:5][1]) * ((a_alpha_i[1:5])^0.5)*(a_alpha_i[1]^0.5) a_alpha_ij[1:5][2] = (1 - a[1:5][1]) * ((a_alpha_i[1:5])^0.5)*(a_alpha_i[2]^0.5) a_alpha_ij[1:5][3] = (1 - a[1:5][1]) * ((a_alpha_i[1:5])^0.5)*(a_alpha_i[3]^0.5) a_alpha_ij[1:5][4] = (1 - a[1:5][1]) * ((a_alpha_i[1:5])^0.5)*(a_alpha_i[4]^0.5) a_alpha_ij[1:5][5] = (1 - a[1:5][1]) * ((a_alpha_i[1:5])^0.5)*(a_alpha_i[5]^0.5) sum_yj_aalpha_ij[1:5] = yi[1]*a_alpha_ij[1][1:5] & + yi[2]*a_alpha_ij[2][1:5] & + yi[3]*a_alpha_ij[3][1:5] & + yi[4]*a_alpha_ij[4][1:5] & + yi[5]*a_alpha_ij[5][1:5] yi_times_sum_yj_aalpha_ij[1:5] = yi[1:5]*sum_yj_aalpha_ij[1:5] tot_y = yi_times_sum_yj_aalpha_ij[1] & + yi_times_sum_yj_aalpha_ij[2] & + yi_times_sum_yj_aalpha_ij[3] & + yi_times_sum_yj_aalpha_ij[4] & + yi_times_sum_yj_aalpha_ij[5] A = (tot_y*P)/((r_t)^2) B = (tot_b*P)/(r_t) ln_phi[1:5] = (B2_i[1:5]/B)* (z-1) - log(z - B) + (((A/B) *( (B2_i[1:5]/B) - ((2*sum_yj_aalpha_ij[1:5])/tot_y)) * log(1+(B/z)))) sum_G = delta_G[1]*x[1] + delta_G[2]*x[2] + delta_G[3]*x[3] + delta_G[4]*x[4] + delta_G[5]*x[5] sum_x = x[1] + x[2] + x[3] + x[4] + x[5] sum_P = sum_x * r_t * log(P) sum_yi = (x[1]*log(yi[1]) + x[2]*log(yi[2]) + x[3]*log(yi[3]) + x[4]*log(yi[4]) + x[5]*log(yi[5])) * r_t sum_phi = (x[1]*ln_phi[1] + x[2]*ln_phi[2] + x[3]*ln_phi[3] + x[4]*ln_phi[4] + x[5]*ln_phi[5]) * r_t End Intermediates Equations carbon[1]*x[1] + carbon[2]*x[2] + carbon[3]*x[3] + carbon[4]*x[4] + carbon[5]*x[5] = 2 hydrogen[1]*x[1] + hydrogen[2]*x[2] + hydrogen[3]*x[3] + hydrogen[4]*x[4] + hydrogen[5]*x[5] = 14 oxygen[1]*x[1] + oxygen[2]*x[2] + oxygen[3]*x[3] + oxygen[4]*x[4] + oxygen[5]*x[5] = 3 z^3 - z^2 - (A - B - B^2)*z - A*B = 0 ! mole fractions y[1:5] = yi[1:5] ! minimize Gibbs Free Energy minimize sum_G + sum_P + sum_yi + sum_phi End Equations End Model