Editing FORTRAN code for the Kolafa and Nezbeda equation of state
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
The following | {{Source}} | ||
The following is the FORTRAN source code for the [[Lennard-Jones_equation_of_state#Kolafa and Nezbeda equation of state | Kolafa and Nezbeda equation of state]] for the [[Lennard-Jones model]] | |||
c=================================================================== | c=================================================================== | ||
Line 18: | Line 19: | ||
eta = PI/6.*rho * (dC(T))**3 | eta = PI/6.*rho * (dC(T))**3 | ||
ALJ = (dlog(rho)+betaAHS(eta) | ALJ = (dlog(rho)+betaAHS(eta) | ||
+ +rho*BC(T)/exp(gammaBH(T)*rho**2))*T | |||
+ +DALJ(T,rho) | |||
RETURN | RETURN | ||
END | END | ||
Line 28: | Line 29: | ||
eta = PI/6. *rho*(dC(T))**3 | eta = PI/6. *rho*(dC(T))**3 | ||
ALJres = (betaAHS(eta) | ALJres = (betaAHS(eta) | ||
+ +rho*BC(T)/exp(gammaBH(T)*Sqrt(rho)))*T | |||
+ +DALJ(T,rho) | |||
RETURN | RETURN | ||
END | END | ||
Line 38: | Line 39: | ||
eta=PI/6. *rho*(dC(T))**3 | eta=PI/6. *rho*(dC(T))**3 | ||
sum=((2.01546797*2+rho*( | sum=((2.01546797*2+rho*( | ||
+ (-28.17881636)*3+rho*( | |||
+ 28.28313847*4+rho* | |||
+ (-10.42402873)*5))) | |||
+ +(-19.58371655*2+rho*( | |||
+ +75.62340289*3+rho*( | |||
+ (-120.70586598)*4+rho*( | |||
+ +93.92740328*5+rho* | |||
+ (-27.37737354)*6))))/dsqrt(T) | |||
+ + ((29.34470520*2+rho*( | |||
+ (-112.35356937)*3+rho*( | |||
+ +170.64908980*4+rho*( | |||
+ (-123.06669187)*5+rho* | |||
+ 34.42288969*6))))+ | |||
+ ((-13.37031968)*2+rho*( | |||
+ 65.38059570*3+rho*( | |||
+ (-115.09233113)*4+rho*( | |||
+ 88.91973082*5+rho* | |||
+ (-25.62099890)*6))))/T)/T)*rho**2 | |||
PLJ = ((zHS(eta) | PLJ = ((zHS(eta) | ||
+ + BC(T)/exp(gammaBH(T)*rho**2) | |||
+ *rho*(1-2*gammaBH(T)*rho**2))*T | |||
+ +sum )*rho | |||
RETURN | RETURN | ||
END | END | ||
C/* internal energy */ | C/* internal energy */ | ||
DOUBLE PRECISION FUNCTION ULJ( T, rho) | DOUBLE PRECISION FUNCTION ULJ( T, rho) | ||
Line 71: | Line 73: | ||
eta=PI/6. *rho*d**3 | eta=PI/6. *rho*d**3 | ||
sum= ((2.01546797+rho*( | sum= ((2.01546797+rho*( | ||
+ (-28.17881636)+rho*( | |||
+ +28.28313847+rho* | |||
+ (-10.42402873)))) | |||
+ + (-19.58371655*1.5+rho*( | |||
+ 75.62340289*1.5+rho*( | |||
+ (-120.70586598)*1.5+rho*( | |||
+ 93.92740328*1.5+rho* | |||
+ (-27.37737354)*1.5))))/dsqrt(T) | |||
+ + ((29.34470520*2+rho*( | |||
+ -112.35356937*2+rho*( | |||
+ 170.64908980*2+rho*( | |||
+ -123.06669187*2+rho* | |||
+ 34.42288969*2)))) + | |||
+ (-13.37031968*3+rho*( | |||
+ 65.38059570*3+rho*( | |||
+ -115.09233113*3+rho*( | |||
+ 88.91973082*3+rho* | |||
+ (-25.62099890)*3))))/T)/T) *rho*rho | |||
ULJ = 3*(zHS(eta)-1)*dBHdT/d | |||
+ +rho*dB2BHdT/exp(gammaBH(T)*rho**2) +sum | |||
RETURN | |||
END | |||
DOUBLE PRECISION FUNCTION zHS(eta) | DOUBLE PRECISION FUNCTION zHS(eta) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
Line 98: | Line 102: | ||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION betaAHS( eta ) | DOUBLE PRECISION FUNCTION betaAHS( eta ) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
betaAHS = dlog(1-eta)/0.6 | betaAHS = dlog(1-eta)/0.6 | ||
+ + eta*( (4.0/6*eta-33.0/6)*eta+34.0/6 ) /(1.-eta)**2 | |||
RETURN | RETURN | ||
END | END | ||
C /* hBH diameter */ | C /* hBH diameter */ | ||
DOUBLE PRECISION FUNCTION dLJ(T) | DOUBLE PRECISION FUNCTION dLJ(T) | ||
Line 110: | Line 116: | ||
isT=1/dsqrt(T) | isT=1/dsqrt(T) | ||
dLJ = ((( 0.011117524191338 *isT-0.076383859168060) | dLJ = ((( 0.011117524191338 *isT-0.076383859168060) | ||
+ *isT)*isT+0.000693129033539)/isT+1.080142247540047 | |||
+ +0.127841935018828*dlog(isT) | |||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION dC(T) | DOUBLE PRECISION FUNCTION dC(T) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
sT=dsqrt(T) | sT=dsqrt(T) | ||
dC = -0.063920968*dlog(T)+0.011117524/T | dC = -0.063920968*dlog(T)+0.011117524/T | ||
+ -0.076383859/sT+1.080142248+0.000693129*sT | |||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION dCdT( T) | DOUBLE PRECISION FUNCTION dCdT( T) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
sT=dsqrt(T) | sT=dsqrt(T) | ||
dCdT = 0.063920968*T+0.011117524+(-0.5*0.076383859 | dCdT = 0.063920968*T+0.011117524+(-0.5*0.076383859 | ||
+ -0.5*0.000693129*T)*sT | |||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION BC( T) | DOUBLE PRECISION FUNCTION BC( T) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
Line 133: | Line 146: | ||
isT=1/dsqrt(T) | isT=1/dsqrt(T) | ||
BC = (((((-0.58544978*isT+0.43102052)*isT | BC = (((((-0.58544978*isT+0.43102052)*isT | ||
+ +.87361369)*isT-4.13749995)*isT+2.90616279)*isT | |||
+ -7.02181962)/T+0.02459877 | |||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION BCdT( T) | DOUBLE PRECISION FUNCTION BCdT( T) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
Line 142: | Line 157: | ||
isT=1/dsqrt(T) | isT=1/dsqrt(T) | ||
BCdT = ((((-0.58544978*3.5*isT+0.43102052*3)*isT | BCdT = ((((-0.58544978*3.5*isT+0.43102052*3)*isT | ||
+ +0.87361369*2.5)*isT-4.13749995*2)*isT | |||
+ +2.90616279*1.5)*isT-7.02181962 | |||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION gammaBH(X) | DOUBLE PRECISION FUNCTION gammaBH(X) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
Line 151: | Line 167: | ||
RETURN | RETURN | ||
END | END | ||
DOUBLE PRECISION FUNCTION DALJ(T,rho) | DOUBLE PRECISION FUNCTION DALJ(T,rho) | ||
implicit double precision (a-h,o-z) | implicit double precision (a-h,o-z) | ||
DALJ = ((+2.01546797+rho*(-28.17881636 | DALJ = ((+2.01546797+rho*(-28.17881636 | ||
+ +rho*(+28.28313847+rho*(-10.42402873)))) | |||
+ +(-19.58371655+rho*(75.62340289+rho*((-120.70586598) | |||
+ +rho*(93.92740328+rho*(-27.37737354)))))/dsqrt(T) | |||
+ + ( (29.34470520+rho*((-112.35356937) | |||
+ +rho*(+170.64908980+rho*((-123.06669187) | |||
+ +rho*34.42288969)))) | |||
+ +(-13.37031968+rho*(65.38059570+ | |||
+ rho*((-115.09233113)+rho*(88.91973082 | |||
+ +rho* (-25.62099890)))))/T)/T) *rho*rho | |||
RETURN | RETURN | ||
END | END | ||
Line 169: | Line 187: | ||
==Reference== | ==Reference== | ||
*[http://dx.doi.org/10.1016/0378-3812(94)80001-4 Jirí Kolafa, Ivo Nezbeda "The Lennard-Jones fluid: an accurate analytic and theoretically-based equation of state", Fluid Phase Equilibria '''100''' pp. 1-34 (1994)] | *[http://dx.doi.org/10.1016/0378-3812(94)80001-4 Jirí Kolafa, Ivo Nezbeda "The Lennard-Jones fluid: an accurate analytic and theoretically-based equation of state", Fluid Phase Equilibria '''100''' pp. 1-34 (1994)] | ||
{{numeric}} | {{numeric}} |