27.07.2013 Views

Design og modellering af metanolanlæg til VEnzin-visionen Bilag

Design og modellering af metanolanlæg til VEnzin-visionen Bilag

Design og modellering af metanolanlæg til VEnzin-visionen Bilag

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

methanol.for<br />

d:/DTU/Eksamensprojekt/bilag/<br />

$ sigma,vv)<br />

call sub_alpha_id(alpha_id,tau,omega,f_i,g_i)<br />

s=R*(tau*(dalpha_id_dtau+dalpha_dtau_omega)−alpha−l<strong>og</strong>(omega/<br />

$ omega_a)−alpha_id)<br />

endif<br />

return<br />

end<br />

subroutine calculate_x(x,tau,omega,omega_g,omega_l)<br />

integer IMAX<br />

double precision x,tau,omega,T,rho,rho_l,rho_g,omega_g,omega_l,Z<br />

$ ,P_g,EPSV,R,P_c,T_c,T_ref,rho_ref,rho_star,M,T_0C<br />

l<strong>og</strong>ical fiters,iterate_rho_l<br />

common/constants/EPSV,R,P_c,T_c,T_ref,rho_ref,rho_star,M,T_0C,IMAX<br />

$ ,fiters<br />

common/switches/iterate_rho_l<br />

T=T_ref/tau<br />

rho=omega*rho_ref<br />

if (T.lt.T_c) then<br />

call rho_l__rho_g(tau,omega_l,omega_g)<br />

rho_l=rho_ref*omega_l<br />

rho_g=rho_ref*omega_g<br />

if ((rho.gt.rho_l*.99).and.(rho.lt.rho_l*1.01).and<br />

$ .iterate_rho_l)then<br />

call calculate_Z(Z,tau,omega_g)<br />

P_g=Z*R*T/(1/rho_g*1.d−6)<br />

call iterer_omega_l(P_g,tau,omega_l)<br />

rho_l=omega_l*rho_ref<br />

endif<br />

if ((rho.gt.rho_g).and.(rho.lt.rho_l)) then<br />

x=rho_g*((rho_l/rho)−1)/(rho_l−rho_g)<br />

elseif (rho.lt.rho_g) then<br />

x=1.0+rho_g−rho<br />

elseif (rho.gt.rho_l) then<br />

x=rho_l−rho*10<br />

else<br />

x=rho_g*((rho_l/rho)−1)/(rho_l−rho_g)<br />

endif<br />

if (x.eq.0) x=1.d−12<br />

else<br />

x=10*T/T_c+1<br />

endif<br />

return<br />

end<br />

subroutine calculate_u(u,tau,omega)<br />

integer r_i(44),s_i(44),k_i(44),j_i(44),b_i(44),IMAX<br />

double precision u,tau,omega,T,dalpha_id_dtau,N_i(44),omega_a,<br />

$ c_i(44),f_i(10),g_i(10),sigma,vv,dalpha_dtau_omega,x,omega_g<br />

$ ,omega_l,u_g,u_l,EPSV,R,P_c,T_c,T_ref,rho_ref,rho_star,M,T_0C<br />

l<strong>og</strong>ical fiters,iterate_rho_l<br />

common/constants/EPSV,R,P_c,T_c,T_ref,rho_ref,rho_star,M,T_0C,IMAX<br />

$ ,fiters<br />

common/switches/iterate_rho_l<br />

common/constants2/sigma,vv,omega_a<br />

iterate_rho_l=.false.<br />

T=T_ref/tau<br />

call IUPAC_constants(N_i,r_i,s_i,k_i,j_i,b_i,c_i,f_i,g_i)<br />

call calculate_x(x,tau,omega,omega_g,omega_l)<br />

if ((x.gt.0).and.(x.lt.1)) then<br />

call sub_dalpha_id_dtau(dalpha_id_dtau,tau,omega_l,f_i,g_i)<br />

call sub_dalpha_dtau_omega(dalpha_dtau_omega,tau,omega_l,N_i<br />

$ ,r_i,s_i,k_i,j_i,b_i,c_i,sigma,vv)<br />

u_l=R*T*tau*(dalpha_id_dtau+dalpha_dtau_omega)<br />

call sub_dalpha_id_dtau(dalpha_id_dtau,tau,omega_g,f_i,g_i)<br />

call sub_dalpha_dtau_omega(dalpha_dtau_omega,tau,omega_g,N_i<br />

$ ,r_i,s_i,k_i,j_i,b_i,c_i,sigma,vv)<br />

u_g=R*T*tau*(dalpha_id_dtau+dalpha_dtau_omega)<br />

u=u_g*x+(1−x)*u_l<br />

else<br />

call sub_dalpha_id_dtau(dalpha_id_dtau,tau,omega,f_i,g_i)<br />

call sub_dalpha_dtau_omega(dalpha_dtau_omega,tau,omega,N_i,r_i<br />

$ ,s_i,k_i,j_i,b_i,c_i,sigma,vv)<br />

13/19<br />

19−03−2007

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!