nucleation rates of ethanol and methanol using an equation ...aobeidat/to...
TRANSCRIPT
Nucleation rates of ethanol and Nucleation rates of ethanol and methanol using an equation of methanol using an equation of state.state.
NouraNoura AlAl--Zoubi Zoubi
Advisor:Advisor:Dr. Abdalla ObeidatDr. Abdalla Obeidat
CoCo--advisor:advisor:Dr. Maen GharaibehDr. Maen Gharaibeh
Out LinesOut Lines::
•• Introduction.Introduction.•• First order phase transition.First order phase transition.•• Classical nucleation theory (CNT).Classical nucleation theory (CNT).•• Gradient theory (GT).Gradient theory (GT).•• Computational methodology.Computational methodology.•• Results and conclusion.Results and conclusion.
DefinitionDefinition
•• Nucleation is the process which the formation of Nucleation is the process which the formation of new phases begins and is thus a widely spread new phases begins and is thus a widely spread phenomenon in both nature and technology.phenomenon in both nature and technology.
•• Nucleation refers to the kinetic processes involved Nucleation refers to the kinetic processes involved in the initiation of the first order phase transition in in the initiation of the first order phase transition in non equilibrium systems.non equilibrium systems.
•• Condensation and evaporation, crystal growth, Condensation and evaporation, crystal growth, deposition of thin films and overall crystallization are deposition of thin films and overall crystallization are only a few of the processes in which nucleation plays only a few of the processes in which nucleation plays a prominent role. a prominent role.
..
First Order Phase TransitionsFirst Order Phase Transitions
pressure pressure –– volume diagram for pure fluid volume diagram for pure fluid for different isotherms.for different isotherms.
dependence of the reduced pressure dependence of the reduced pressure and Gibbs energy on the reduced volume and Gibbs energy on the reduced volume using VDWusing VDW
Classical Nucleation TheoryClassical Nucleation TheorySurface and volume energies of formation a Surface and volume energies of formation a cluster versus cluster radius. The energy of cluster versus cluster radius. The energy of formation has a maximum at critical radius.formation has a maximum at critical radius.
In (CNT) , the work of formation In (CNT) , the work of formation have different formshave different forms
•• PP--form: form:
•• --form:form:
•• SS--form:form:
( )23 3/16 pWcl Δ= ∞πγ
( )232
316
μγπ
Δ= ∞l
clvW
( ) ve
v
blcl P
PSwhereSTk
W == ∞2
3
ln316
ρπγ
μ
Experimental data for methanol illustratingExperimental data for methanol illustratingthe inadequate temperature dependence the inadequate temperature dependence predicted by Spredicted by S--form.form.
2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3100000
1000000
1E7
1E8
1E9
1E10
1E11
272K
Expt S-form/1010
Methanol
257K
J (c
m3 s-1
)
S
Experimental data for ethanol illustrating the Experimental data for ethanol illustrating the inadequate temperature dependence inadequate temperature dependence predicted by Spredicted by S--form.form.
2.5 3.0100000
1E8
1E11
Ethanol
expt
S-form/107
J (c
m-3s-1
)
S
286K293K
Density functional theory and Density functional theory and the road to gradient theorythe road to gradient theoryDFTDFTAdvantagesAdvantages
•• Powerful technique Powerful technique that has been used to that has been used to explore varies systems.explore varies systems.
DisadvantagesDisadvantages
•• Require exact Require exact intermolecular intermolecular Potential. Potential.
GTGTAdvantagesAdvantages
•• Requires a Cubic Requires a Cubic EOSEOS
DisadvantagesDisadvantages
•• An approximation An approximation to DFTto DFT
•• The Helmholtz free energy density is given as:The Helmholtz free energy density is given as:
•• The density profile can be determined by The density profile can be determined by integrating the following equation:integrating the following equation:
•• The work of formation is given as:The work of formation is given as:
Gradient TheoryGradient Theory
( ) ( ) ( )20 2ρρρ ∇+=
cff
( )
ρμρρρ
ρ
−=−=Δ
⎥⎦⎤
⎢⎣⎡ ∇+Δ= ∫
0
2
)()()(2
fwandwwwwhere
dVcwW
b
( )02
2 12 μμρρ−=+
cdrd
rdrd
Experimental nucleation rates of Experimental nucleation rates of methanol compared to the predictionsmethanol compared to the predictionsof GT with the CPHB EOS.of GT with the CPHB EOS.
2.2 2.4 2.6 2.8 3.0 3.2105
106
107
108
109
JGT/107
Jexp
Methanol
T=272 KT=257 K
J (c
m-3s-1
)
S
Experimental nucleation rates of ethanol Experimental nucleation rates of ethanol compared to the predictions of GT with compared to the predictions of GT with the CPHB EOSthe CPHB EOS..
2.4 2.5 2.6 2.7 2.8 2.9 3.0
106
107
108
109
1010
JG T/104
Jexp
E thanol
T=286 K
T=293 K
J (c
m-3s-1
)
S
SAFTSAFT--EOSEOS•• Exact EOS for low TExact EOS for low T•• Cubic EOSCubic EOS
Computational MethodologyComputational Methodology•• Equilibrium Densities of liquid and vaporEquilibrium Densities of liquid and vapor
1. Conditions1. Conditions
2. Calculations using Newton2. Calculations using Newton--Raphson methodRaphson methoddodorow(1)=guess1row(1)=guess1row(2)=guess2row(2)=guess2k(1,1)=dp(row(1),t)k(1,1)=dp(row(1),t)k(1,2)=k(1,2)=--dp(row(2),t)dp(row(2),t)k(2,1)=dmew(row(1),t)k(2,1)=dmew(row(1),t)k(2,2)=k(2,2)=--dmew(row(2),t)dmew(row(2),t)f(1)=p(row(2),t)f(1)=p(row(2),t)--p(row(1),t) p(row(1),t) f(2)=mew(row(2),t)f(2)=mew(row(2),t)--mew(row(1),t)mew(row(1),t)z=k(2,1)/k(1,1)z=k(2,1)/k(1,1)k(2,1)=0.0d0k(2,1)=0.0d0f(2)=f(2)f(2)=f(2)--(z*f(1))(z*f(1))k(2,2)=k(2,2)k(2,2)=k(2,2)--(z*k(1,2))(z*k(1,2))u(2)=f(2)/k(2,2)u(2)=f(2)/k(2,2)u(1)=(f(1)u(1)=(f(1)--k(1,2)*u(2))/k(1,1)k(1,2)*u(2))/k(1,1)row=row+urow=row+uend doend do
)()()()(
leveleve
leveleve
orPorPPP
ρμρμμμρρ
====
Influence ParameterInfluence Parameter•• Experimental surface tensionExperimental surface tension
Surface=(23.88Surface=(23.88--0.08807*(T0.08807*(T--273))*10273))*10--77• GT surface tension
•• Equivalence between GT and experimental surface tensionsEquivalence between GT and experimental surface tensionsC=C=(Surface/integral)2 /2(Surface/integral)2 /2 where C: influence parameterwhere C: influence parameterIntegral=
•• Calculations using Composite Simpson method Calculations using Composite Simpson method step=4001step=4001h1=(row(1)h1=(row(1)--row(2))/steprow(2))/stepsum=0.d0sum=0.d0
sum1=0.d0sum1=0.d0do i=1,(step/2.d0)do i=1,(step/2.d0)--11x1=row(2)+2.d0*i*h1x1=row(2)+2.d0*i*h1x2=row(2)+(2.d0*ix2=row(2)+(2.d0*i--1)*h11)*h1sum=sum+(2.d0*h1/3.d0)*deltaW(x1,row(2),t)sum=sum+(2.d0*h1/3.d0)*deltaW(x1,row(2),t)sum1=sum1+(4.d0*h1/3.d0)*deltaW(x2,row(2),t)sum1=sum1+(4.d0*h1/3.d0)*deltaW(x2,row(2),t)end doend dointegral=(h1/3.d0)*(deltaW(row(2),row(2),t)+deltaW(row(1),row(2)integral=(h1/3.d0)*(deltaW(row(2),row(2),t)+deltaW(row(1),row(2),t))+,t))+sum+sum1sum+sum1
( ) ( )[ ] ρρργ dwwcle
ve
p
pve∫ −=∞ 2
ρρρρ
ρ
dwwle
ve
ve∫ − ))()((
Droplet Density Profile Droplet Density Profile •• Second order differential EquationSecond order differential Equation
wherewhere
•• Boundary conditionsBoundary conditions
as and as and asas
( )02
22 12 μμρρμρ −=+→Δ=∇
Cdrd
rdrdC
0→drd ρ 0→r bρρ→ ∞→r
hdrdand
hdrd iiiii
22 11
211
2
2−+++ −
=+−
=ρρρρρρρ
Tridiagonal MatrixTridiagonal Matrix
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
−−−)(1)(000000
)1()1(1)1(000000000000000)()(1)(00000...000000.)3()3(1)3(0000.0)2()2(1)2(000.00)1()1(1
NbNAaNCcNbNAa
iCcibiAa
CcbAaCcbAa
Ccb
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
−−
N
N
i
N
N
i
RRRR
RR
RRRRRR
1
3
2
1
1
3
2
1
.
.
.
.
ρρ
ρ
ρρρ
Tridiagonal MatrixTridiagonal Matrix
•• Construction of tridiagonal matrixConstruction of tridiagonal matrixdo do do i=2,stepsdo i=2,stepsAa(iAa(i)=i)=i--22B1(i)=B1(i)=--1*(i1*(i--1)*(2.d0+hv2*1)*(2.d0+hv2*dmew(U(i),t)/CValuedmew(U(i),t)/CValue))Cc(i)=iCc(i)=iRR(i)=(iRR(i)=(i--1)*hv2*1)*hv2*Gg(U(i),nb,t)/CValueGg(U(i),nb,t)/CValueend doend doAa(1)=0Aa(1)=0B1(1)=B1(1)=--(6.d0+hv2*dmew(U(1),t)/CValue)(6.d0+hv2*dmew(U(1),t)/CValue)Cc(1)=6.d0Cc(1)=6.d0Cc(steps)=0Cc(steps)=0RR(1)=hv2*Gg(U(1),nb,t)/CValueRR(1)=hv2*Gg(U(1),nb,t)/CValueRR(steps)=(stepsRR(steps)=(steps--1)*hv2*1)*hv2*Gg(U(steps),nb,t)/CValueGg(U(steps),nb,t)/CValue--(steps)*(steps)*nbnb
Flat Density ProfileFlat Density Profile•• Second order differential equationSecond order differential equation
•• First order First order differentioaldifferentioal EquationEquation
•• Calculations using Calculations using RungaRunga--KuttaKutta methodmethodx11=(row1+row2)/2.d0x11=(row1+row2)/2.d0o i=1.d0,500.d0o i=1.d0,500.d0dx1=((mew(x11,t)dx1=((mew(x11,t)--mew(row2,t))/dmew(x11,t))mew(row2,t))/dmew(x11,t))x11=x11x11=x11--dx1dx1if((dabs(dx1))<upsilon) exitif((dabs(dx1))<upsilon) exitend doend dointerval=35.dinterval=35.d--8/(step8/(step--1), mm=22.d1), mm=22.d--8/interval, 8/interval, ub(mmub(mm)= x11)= x11do i=(22.ddo i=(22.d--8/interval),1.d0,8/interval),1.d0,--1.d01.d0f11=interval*diff(Ub(i),row2,t), f12=interval*diff(Ub(i)+0.5d0*ff11=interval*diff(Ub(i),row2,t), f12=interval*diff(Ub(i)+0.5d0*f11,row2,t)11,row2,t)f13=interval*diff(ub(i)+0.5d0*f12,row2,t), f14=interval*diff(ub(f13=interval*diff(ub(i)+0.5d0*f12,row2,t), f14=interval*diff(ub(i)+f13,row2,t)i)+f13,row2,t)Ub(iUb(i) =Ub(i)+(f11+2.0d0*f12+2.0d0*f13+f14)/6.0d0 , ub(i) =Ub(i)+(f11+2.0d0*f12+2.0d0*f13+f14)/6.0d0 , ub(i--1)=1)=ub(iub(i))end doend doUb(mmUb(mm)=x11)=x11do i=(22.ddo i=(22.d--8/interval),step8/interval),stepf11=interval*diff(Ub(i),row2,t), f12=interval*diff(Ub(i)f11=interval*diff(Ub(i),row2,t), f12=interval*diff(Ub(i)--0.5d0*f11,row2,t) 0.5d0*f11,row2,t) f13=interval*diff(Ub(i)f13=interval*diff(Ub(i)--0.5d0*f12,row2,t), f14=interval*diff(Ub(i)0.5d0*f12,row2,t), f14=interval*diff(Ub(i)--f13,row2,t)f13,row2,t)Ub(iUb(i)=Ub(i))=Ub(i)--(f11+2.0d0*f12+2.0d0*f13+f14)/6.0d0 (f11+2.0d0*f12+2.0d0*f13+f14)/6.0d0 ub(i+1)=ub(i+1)=ub(iub(i))end doend do
⎟⎟⎠
⎞⎜⎜⎝
⎛ Δ−=
Cw
dxd 2ρ
( ) ( )02
2
02
2 112 μμρμμρρ−=→−=+
Cdxd
cdrd
rdrd
Flat density profileFlat density profile
0 1 2 3 4
0.000
0.005
0.010
0.015
ρ(m
ol/c
m3 )
r(nm)
Tridiagonal MatrixTridiagonal Matrix
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
−−−)(1)(000000
)1()1(1)1(000000000000000)()(1)(00000...000000.)3()3(1)3(0000.0)2()2(1)2(000.00)1()1(1
NbNAaNCcNbNAa
iCcibiAa
CcbAaCcbAa
Ccb
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
−−
N
N
i
N
N
i
RRRR
RR
RRRRRR
1
3
2
1
1
3
2
1
.
.
.
.
ρρ
ρ
ρρρ
Solution of Tridiagonal MatrixSolution of Tridiagonal Matrix
•• Lower Upper (LU) Decomposition methodLower Upper (LU) Decomposition methodn=stepsn=stepsbet=b1(1)bet=b1(1)u(1)=rr(1)/betu(1)=rr(1)/betdo j=2,ndo j=2,ngam(jgam(j)=cc(j)=cc(j--1)/bet1)/betbet=b1(j)bet=b1(j)--aa(j)*aa(j)*gam(jgam(j))u(j)=(u(j)=(rr(j)rr(j)--aa(jaa(j)*u(j)*u(j--1))/bet1))/betend doend dodo j=ndo j=n--1,1,1,1,--11u(j)=u(j)u(j)=u(j)--gam(j+1)*u(j+1)gam(j+1)*u(j+1)end do end do
The S value to start from!The S value to start from!
do i=1,stepsdo i=1,stepsU(i)=(U(i)=(U(i)U(i)--rhogrhog)*()*(nrefnref--nb)/(rholnb)/(rhol--rhog)+nbrhog)+nbend doend dodo do do i=2,stepsdo i=2,stepsAa(iAa(i)=i)=i--22B1(i)=B1(i)=--1*(i1*(i--1)*(2.d0+hv2*1)*(2.d0+hv2*dmew(U(i),t)/CValuedmew(U(i),t)/CValue))Cc(i)=iCc(i)=iRR(i)=(iRR(i)=(i--1)*hv2*1)*hv2*Gg(U(i),nb,t)/CValueGg(U(i),nb,t)/CValueend doend doAa(1)=0Aa(1)=0B1(1)=B1(1)=--(6.d0+hv2*dmew(U(1),t)/CValue)(6.d0+hv2*dmew(U(1),t)/CValue)Cc(1)=6.d0Cc(1)=6.d0Cc(steps)=0Cc(steps)=0RR(1)=hv2*Gg(U(1),nb,t)/CValueRR(1)=hv2*Gg(U(1),nb,t)/CValueRR(steps)=(stepsRR(steps)=(steps--1)*hv2*1)*hv2*Gg(U(steps),nb,t)/CValueGg(U(steps),nb,t)/CValue--(steps)*(steps)*nbnb
Comparison between flat density profile Comparison between flat density profile and density profile at S=1.65and density profile at S=1.65
0 1 2 3 4
0.000
0.005
0.010
0.015
Flat Density profile density profile at S=1.65
ρ(m
ol/c
m3 )
r(nm)
11
Density profiles from S=1.65 to S=6 at Density profiles from S=1.65 to S=6 at T=300KT=300K
filename1='Density_at_S_1_6_5_0.txt'filename1='Density_at_S_1_6_5_0.txt'do l1=1,6do l1=1,6do mm=0,9do mm=0,9do qq=0,8,9do qq=0,8,9do vv=0,8,9do vv=0,8,9sasa=l1+mm/10.0d0+qq/100.0d0 +vv/1000.0d0 , =l1+mm/10.0d0+qq/100.0d0 +vv/1000.0d0 , if(saif(sa<=1.650d0) cycle<=1.650d0) cyclenbnb==sasa**rhogrhogdo i=1,MAXdo i=1,MAXdnbdnb=(=(p(nb,t)p(nb,t)--sasa**p(rhog,t))/dp(nb,tp(rhog,t))/dp(nb,t), ), nbnb==nbnb--dnbdnb, , if((dabs(dnbif((dabs(dnb))<upsilon) exit))<upsilon) exitend doend doopen(13,file=filename1,status="old",action="open(13,file=filename1,status="old",action="read",iostatread",iostat==fstatfstat))do k=1,stepsdo k=1,stepsread(13,'(f18.16)') U(k)read(13,'(f18.16)') U(k)end doend dodo k=1,stepsdo k=1,stepsU(k)=U(k)+nbU(k)=U(k)+nb--nb1nb1end doend do
22
dododo i=1,stepsdo i=1,stepsAa(iAa(i)=i)=i--22B1(i)=B1(i)=--1.d0*(i1.d0*(i--1)*(2.d0+hv2*1)*(2.d0+hv2*dmew(U(i),t)/CValuedmew(U(i),t)/CValue))Cc(i)=iCc(i)=iRR(i)=(iRR(i)=(i--1)*hv2*1)*hv2*Gg(U(i),nb,t)/CValueGg(U(i),nb,t)/CValueend doend doAa(1)=0Aa(1)=0B1(1)=B1(1)=--(6.d0+hv2*dmew(U(1),t)/CValue)(6.d0+hv2*dmew(U(1),t)/CValue)Cc(1)=6.d0Cc(1)=6.d0Cc(steps)=0Cc(steps)=0RR(1)=hv2*Gg(U(1),nb,t)/CValueRR(1)=hv2*Gg(U(1),nb,t)/CValueRR(steps)=(stepsRR(steps)=(steps--1)*hv2*1)*hv2*Gg(U(steps),nb,t)/CValueGg(U(steps),nb,t)/CValue--(steps)*(steps)*nbnbend doend doend do end do end doend doend doend docall tridag_ser(aa,b1,cc,RR,X1,steps)call tridag_ser(aa,b1,cc,RR,X1,steps)error=0.d0 error=0.d0 do i=1,stepsdo i=1,stepserror=error+(X1(i)error=error+(X1(i)--U(i))**2U(i))**2end doend doerror=error=sqrt(dabs(errorsqrt(dabs(error))))U=X1U=X1if (error<Upsilon) exitif (error<Upsilon) exitend doend do
Results for density profiles with Results for density profiles with different supersaturation values.different supersaturation values.
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
0.000
0.005
0.010
0.015
0.020
S=1.65 S=2 S=2.65 S=3 S=3.65
ρ(m
ol/c
m3 )
r(nm)
T=300K
11
Density profiles from T=300K to T=230K Density profiles from T=300K to T=230K at S=6at S=6
filename1='Density_at_S_6_0_0_0.txtfilename1='Density_at_S_6_0_0_0.txt''
do T=300.d0,230.d0,do T=300.d0,230.d0,--1.d01.d0if(T==300.d0)cycleif(T==300.d0)cycledodorow(1)=guess1row(1)=guess1row(2)=guess2row(2)=guess2k(1,1)=dp(row(1),t)k(1,1)=dp(row(1),t)k(1,2)=k(1,2)=--dp(row(2),t)dp(row(2),t)k(2,1)=dmew(row(1),t)k(2,1)=dmew(row(1),t)k(2,2)=k(2,2)=--dmew(row(2),t)dmew(row(2),t)f(1)=p(row(2),t)f(1)=p(row(2),t)--p(row(1),t) p(row(1),t) f(2)=mew(row(2),t)f(2)=mew(row(2),t)--mew(row(1),t)mew(row(1),t)z=k(2,1)/k(1,1)z=k(2,1)/k(1,1)k(2,1)=0.0d0k(2,1)=0.0d0f(2)=f(2)f(2)=f(2)--(z*f(1))(z*f(1))k(2,2)=k(2,2)k(2,2)=k(2,2)--(z*k(1,2))(z*k(1,2))
u1(2)=f(2)/k(2,2)u1(2)=f(2)/k(2,2)u1(1)=(f(1)u1(1)=(f(1)--k(1,2)*u1(2))/k(1,1)k(1,2)*u1(2))/k(1,1)row=row+u1row=row+u1error1=0.0d0error1=0.0d0do i=1,2do i=1,2error1=error1+f(i)**2error1=error1+f(i)**2end doend doerror1=dsqrt(error1)error1=dsqrt(error1)if (error1<Upsilon) exitif (error1<Upsilon) exitguess1=row(1)guess1=row(1)guess2=row(2)guess2=row(2)end doend do
Ts=TTs=T--273.15d0273.15d0gamagama = (23.88d0= (23.88d0--.08807d0*Ts)*1.d.08807d0*Ts)*1.d--77row1=row(1)row1=row(1)row2=row(2)row2=row(2)steps=4001steps=4001h1=(row1h1=(row1--row2)/stepsrow2)/steps
22
do k1=1,stepsdo k1=1,stepsread(13,'(f18.16)') U(k1)read(13,'(f18.16)') U(k1)end doend doclose(13)close(13)do k1=1,stepsdo k1=1,stepsU(k1)=U(k1)+nbU(k1)=U(k1)+nb--nb1nb1end doend docounter=0 counter=0 do sum=0.d0do sum=0.d0sum1=0.d0sum1=0.d0do i=1,(steps/2.d0)do i=1,(steps/2.d0)--11x1=row2+2.d0*i*h1x1=row2+2.d0*i*h1x2=row2+(2.d0*ix2=row2+(2.d0*i--1)*h11)*h1sum=sum+(2.d0*h1/3.d0)*deltaW(x1,rowsum=sum+(2.d0*h1/3.d0)*deltaW(x1,row
2,t)2,t)sum1=sum1+(4.d0*h1/3.d0)*deltaW(x2,rsum1=sum1+(4.d0*h1/3.d0)*deltaW(x2,r
ow2,t)ow2,t)end doend dointegral=(h1/3.d0)*(deltaW(row2,row2,t)integral=(h1/3.d0)*(deltaW(row2,row2,t)
+deltaW(row1,row2,t))+sum+sum1+deltaW(row1,row2,t))+sum+sum1cvaluecvalue=(=(gamagama/integral)**2/2.d0/integral)**2/2.d0rhogrhog=row(2)=row(2)rholrhol=row(1)=row(1)sasa=6.d0=6.d0
nbnb==sasa**rhogrhogdo i=1,MAXdo i=1,MAXdnbdnb=(=(p(nb,t)p(nb,t)--sasa**p(rhog,t))/dp(nb,tp(rhog,t))/dp(nb,t))nbnb==nbnb--dnbdnbif((dabs(dnbif((dabs(dnb))<upsilon) exit))<upsilon) exitprint*,print*,i,dnbi,dnbend doend dohvhv=(35.d=(35.d--8/(steps8/(steps--1))1))hv2=hv2=hvhv**2**2nb1=nb1=nbnbopen(13,file=filename1,status="old",action="open(13,file=filename1,status="old",action="rere
ad",iostatad",iostat==fstatfstatread(13,'(I7)') stepsread(13,'(I7)') steps
counter=counter+1counter=counter+1do i=2,stepsdo i=2,stepsAa(iAa(i)=i)=i--22
B1(i)=B1(i)=--1.d0*(i1.d0*(i--1)*(2.d0+hv2*1)*(2.d0+hv2*dmew(U(i),t)/CValuedmew(U(i),t)/CValue))
Cc(i)=iCc(i)=iRR(i)=(iRR(i)=(i--1)*hv2*1)*hv2*Gg(U(i),nb,t)/CValueGg(U(i),nb,t)/CValue
33
end doend doAa(1)=0Aa(1)=0B1(1)=B1(1)=--(6.d0+hv2*dmew(U(1),t)/CValue)(6.d0+hv2*dmew(U(1),t)/CValue)Cc(1)=6.d0Cc(1)=6.d0Cc(steps)=0.d0Cc(steps)=0.d0RR(1)=hv2*Gg(U(1),nb,t)/CValueRR(1)=hv2*Gg(U(1),nb,t)/CValueRR(steps)=(stepsRR(steps)=(steps--1)*hv2*1)*hv2*Gg(U(steps),nb,t)/CValueGg(U(steps),nb,t)/CValue--(steps)*(steps)*nbnbcall tridag_ser(aa,b1,cc,RR,X11,steps)call tridag_ser(aa,b1,cc,RR,X11,steps)errors=0.d0 errors=0.d0 do i=1,stepsdo i=1,stepserror=error+(X11(i)error=error+(X11(i)--U(i))**2U(i))**2end doend doerror=error=sqrt(errorsqrt(error)/steps)/stepsU=X1U=X1if (errors<upsilon) exitif (errors<upsilon) exitend doend docount1=int((T+.1d0)/100.d0)count1=int((T+.1d0)/100.d0)count2=int((T+.1d0count2=int((T+.1d0--count1*100)/10)count1*100)/10)count3=int(T+.1d0count3=int(T+.1d0--count1*100count1*100--count2*10)count2*10)count4=int((Tcount4=int((T--int(T+.1dint(T+.1d--4))*10+.1d4))*10+.1d--2)2)count5=int((Tcount5=int((T--int(T+.1dint(T+.1d--4))*1004))*100--count4*10+.1dcount4*10+.1d--2)2)
filename2='Density_at_T_'//achar(count1+48)//achar(count2+48)//afilename2='Density_at_T_'//achar(count1+48)//achar(count2+48)//achar(count3+48)//achar(count4+48)//acchar(count3+48)//achar(count4+48)//achar(count5+48)//'.txt' har(count5+48)//'.txt'
open(12,file=filename2,status="replace",action="write",position=open(12,file=filename2,status="replace",action="write",position=""rewind",iostatrewind",iostat==gstatgstat))do k1=1,stepsdo k1=1,stepswrite(12,'(f18.16)') U(k1)write(12,'(f18.16)') U(k1)end doend do
close(12)close(12)end doend do
Results for density profiles with Results for density profiles with different temperatures.different temperatures.
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
0.000
0.005
0.010
0.015
0.020S=6
T=300 T=290 T=280 T=270
ρ(m
ol/c
m3 )
r(nm)
11
Density profiles from S=6 to S=2 at T=293KDensity profiles from S=6 to S=2 at T=293K
T=293.d0T=293.d0Ts=TTs=T--273.15d0273.15d0gamagama = (23.88d0= (23.88d0--.08807d0*Ts)*1.d.08807d0*Ts)*1.d--77cvaluecvalue=5.974465658636744d=5.974465658636744d--1010sasa=6.d0 =6.d0 rhogrhog=3.656930116927259d=3.656930116927259d--66rholrhol=1.711839175934329d=1.711839175934329d--22nbnb==sasa**rhogrhogdo i=1,MAXdo i=1,MAXdnbdnb=(=(p(nb,t)p(nb,t)--sasa**p(rhog,t))/dp(nb,tp(rhog,t))/dp(nb,t))nbnb==nbnb--dnbdnbif((dabs(dnbif((dabs(dnb))<upsilon) exit))<upsilon) exitend doend dohvhv=(35.d=(35.d--8/(steps8/(steps--1))1))hv2=hv2=hvhv**2**2nb1=nb1=nbnbfilename1='Density_at_T_2_9_3.txt'filename1='Density_at_T_2_9_3.txt'do do sasa=6.0d0,2.0d0,=6.0d0,2.0d0,--.01d0.01d0llll=int(sa/10.d0)=int(sa/10.d0)mm=int(sa+.001d0mm=int(sa+.001d0--ll*10.d0)ll*10.d0)qqqq=int((sa+.001d0=int((sa+.001d0--ll*10.d0ll*10.d0--mm)*10.d0)mm)*10.d0)vv=int((sa+.001d0vv=int((sa+.001d0--ll*10.d0ll*10.d0--mmmm--qq/10.d0)*100.d0)qq/10.d0)*100.d0)nbnb==sasa**rhogrhogdo i=1,MAXdo i=1,MAXdnbdnb=(=(p(nb,t)p(nb,t)--sasa**p(rhog,t))/dp(nb,tp(rhog,t))/dp(nb,t))nbnb==nbnb--dnbdnb
22
B1(1)=B1(1)=--(6.d0+hv2*dmew(U(1),t)/CValue)(6.d0+hv2*dmew(U(1),t)/CValue)Cc(1)=6.d0Cc(1)=6.d0Cc(steps)=0Cc(steps)=0RR(1)=hv2*Gg(U(1),nb,t)/CValueRR(1)=hv2*Gg(U(1),nb,t)/CValueRR(steps)=(stepsRR(steps)=(steps--
1)*hv2*1)*hv2*Gg(U(steps),nb,t)/CValueGg(U(steps),nb,t)/CValue--(steps)*(steps)*nbnb
call tridag_ser(aa,b1,cc,RR,X1,steps)call tridag_ser(aa,b1,cc,RR,X1,steps)error=0.d0 error=0.d0 do i=1,stepsdo i=1,stepserror=error+(X1(i)error=error+(X1(i)--U(i))**2U(i))**2end doend doerror=error=sqrt(errorsqrt(error))U=X1U=X1if (error<epsilon) exitif (error<epsilon) exitend doend doopen(13,file=filename2,status="replace",actiopen(13,file=filename2,status="replace",acti
on="write",position="on="write",position="rewind",iostatrewind",iostat==gstagstatt))
do k=1,stepsdo k=1,stepswrite(13,'(f18.16)') U(k)write(13,'(f18.16)') U(k)end doend doclose(13)close(13)filename1=filename2filename1=filename2nb1=nb1=nbnbend doend doif((dabs(dnbif((dabs(dnb))<upsilon) exit))<upsilon) exitend doend do
if(saif(sa<=1.99d0) cycle<=1.99d0) cycleif(saif(sa>=6.0d0) cycle>=6.0d0) cycleopen(12,file=filename1,status="old",actionopen(12,file=filename1,status="old",action
="="read",iostatread",iostat==fstatfstat))if(fstatif(fstat==0) print*,trim(filename1),' ==0) print*,trim(filename1),'
opened'opened'read(12,'(I7)') stepsread(12,'(I7)') stepsdo k=1,stepsdo k=1,stepsread(12,'(f18.16)') U(k)read(12,'(f18.16)') U(k)end doend doclose(12)close(12)
do k=1,stepsdo k=1,stepsU(k)=U(k)+nbU(k)=U(k)+nb--nb1nb1end doend docounter=0 counter=0 do do counter=counter+1counter=counter+1do i=1,stepsdo i=1,stepsAa(iAa(i)=i)=i--22
B1(i)=B1(i)=--1.d0*(i1.d0*(i--1)*(2.d0+hv2*1)*(2.d0+hv2*dmew(U(i),t)/CValuedmew(U(i),t)/CValue))
Cc(i)=iCc(i)=iRR(i)=(iRR(i)=(i--1)*hv2*1)*hv2*Gg(U(i),nb,t)/CValueGg(U(i),nb,t)/CValueend doend doAa(1)=0Aa(1)=0
Results for density profiles with Results for density profiles with different supersaturation values at different supersaturation values at T=293KT=293K
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
0.000
0.005
0.010
0.015
0.020T=293K
S=3 S=4 S=5 S=6
ρ(m
ol/c
m3 )
r(nm)
RESULTSRESULTS
Work of formationWork of formation•• Integral EquationIntegral Equation
•• CalculationsCalculationsresults1=0.0results1=0.0do i=4,stepsdo i=4,steps--33results1=results1+(w0(U(i),nb,t)results1=results1+(w0(U(i),nb,t)--w0(nb,nb,t))*hv2*((i1)**2)+w0(nb,nb,t))*hv2*((i1)**2)+((((cValuecValue*dabs((U(i+1)*dabs((U(i+1)--U(iU(i--1)))**2)/8.0d0)*((i1)))**2)/8.0d0)*((i--1)**2)1)**2)end doend doresults1=results1+bb*((w0(U(2),nb,t)results1=results1+bb*((w0(U(2),nb,t)--w0(nb,nb,t))*hv2*((2w0(nb,nb,t))*hv2*((2--1)**2)+1)**2)+((((cValuecValue*dabs((U(3)*dabs((U(3)--U(1)))**2)/8.0d0)*((2U(1)))**2)/8.0d0)*((2--1)**2))1)**2))results1=results1+cc*((w0(U(3),nb,t)results1=results1+cc*((w0(U(3),nb,t)--w0(nb,nb,t))*hv2*((3w0(nb,nb,t))*hv2*((3--1)**2)+1)**2)+((((cValuecValue*dabs((U(4)*dabs((U(4)--U(2)))**2)/8.0d0)*((3U(2)))**2)/8.0d0)*((3--1)**2))1)**2))results1=results1+aa*((w0(U(steps),nb,t)results1=results1+aa*((w0(U(steps),nb,t)--w0(nb,nb,t))*hv2*((stepsw0(nb,nb,t))*hv2*((steps--1)**2)+1)**2)+((((cValuecValue*dabs((nb*dabs((nb--U(stepsU(steps--1)))**2)/8.0d0)*((steps1)))**2)/8.0d0)*((steps--1)**2))1)**2))results1=results1+bb*((w0(U(stepsresults1=results1+bb*((w0(U(steps--1),nb,t)1),nb,t)--w0(nb,nb,t))*hv2*((stepsw0(nb,nb,t))*hv2*((steps--2)**2)+2)**2)+((((cValuecValue*dabs((U(steps)*dabs((U(steps)--U(stepsU(steps--2)))**2)/8.0d0)*((steps2)))**2)/8.0d0)*((steps--2)**2))2)**2))results1=results1+cc*((w0(U(stepsresults1=results1+cc*((w0(U(steps--2),nb,t)2),nb,t)--w0(nb,nb,t))*hv2*((stepsw0(nb,nb,t))*hv2*((steps--3)**2))+3)**2))+((((cValuecValue*dabs((U(steps*dabs((U(steps--1)1)--U(stepsU(steps--3)))**2)/8.0d0)*((steps3)))**2)/8.0d0)*((steps--3)**2))3)**2))GW1=4.d0*Pi*GW1=4.d0*Pi*hvhv*results1/(kb*T)*results1/(kb*T)
( ) dVcwW ∫ ⎥⎦⎤
⎢⎣⎡ ∇+Δ= 2
2ρ
Results for work of formationResults for work of formation
2.4 2.6 2.8
25
30
35
40
45
GT-form S-form P-form
W* /K
T
S
Ethanol
T=293
Nucleation RateNucleation Rate
•• EquationEquation
WhereWhere
•• CalculationCalculation
GJ1=dsqrt(2.d4*GJ1=dsqrt(2.d4*gamagama/(PI*ma))*(/(PI*ma))*(sasa**P(rhol,tP(rhol,t)/(kb*T))**2/rhom*)/(kb*T))**2/rhom*1.d0*dexp(1.d0*dexp(--GW1)GW1)
( )[ ]TKrWJJ B/*exp0 −=
( )20 //2 TkpvmJ Bvlπγ ∞=
Comparison of the experimental ratesComparison of the experimental rates(open circles) for methanol with two versions of (open circles) for methanol with two versions of CNT and GT based on the SAFT EOS.CNT and GT based on the SAFT EOS.
2.5 3.0 3.5100000
1000000
1E7
1E8
1E9
1E10
1E11
GT/106
P-form/107
S-form/1010
o Expt
J (c
m-3s-1
)
S
257K272K
Methanol
Comparison of the experimental rates Comparison of the experimental rates (open circles) for ethanol with two versions (open circles) for ethanol with two versions
of CNT, and GT based on the SAFT EOS.of CNT, and GT based on the SAFT EOS.
2.5 3.0100000
1E8
1E11
Ethanol
GT/104
P-form/106
S-form/107
expt
J (c
m-3s-1
)
S
286K293K
Number of molecules in critical nucleusNumber of molecules in critical nucleus
•• Integral EquationIntegral Equation
•• CalculationsCalculationshw=35.d0/(stepshw=35.d0/(steps--1)1)results3=0.0results3=0.0do i=4,stepsdo i=4,steps--33results3=results3+(U(i)results3=results3+(U(i)--nb)*(inb)*(i--1)**2*hw**21)**2*hw**2end doend doresults3=results3+bb*(U(2)results3=results3+bb*(U(2)--nb)*(2nb)*(2--1)**2*hw**21)**2*hw**2results3=results3+cc*(U(3)results3=results3+cc*(U(3)--nb)*(3nb)*(3--1)**2*hw**21)**2*hw**2results3=results3+aa*(results3=results3+aa*(U(steps)U(steps)--nbnb)*(steps)*(steps--1)**2*hw**21)**2*hw**2results3=results3+cc*(U(stepsresults3=results3+cc*(U(steps--1)1)--nb)*(stepsnb)*(steps--2)**2*hw**22)**2*hw**2results3=results3+bb*(U(stepsresults3=results3+bb*(U(steps--2)2)--nb)*(stepsnb)*(steps--3)**2*hw**23)**2*hw**2
ngtngt=4*pi*results3*hw=4*pi*results3*hw
( ) ( )[ ] drrrrn b2
0
* 4 ∫∞
−= ρρπ
The number of methanol molecules in the The number of methanol molecules in the critical nucleus.critical nucleus.
20 30 40 50 60 7020
30
40
50
60
70
Expt P GT Gibbs
n*
n* Gibbs-Thomson
The number of ethanol molecules in The number of ethanol molecules in the critical nucleusthe critical nucleus
30 40 50 60 7030
35
40
45
50
55
60
65
70
Ethanol
Gibbs Expt P GT
n*
n* Gibbs-Thomson
ConclusionsConclusions::
•• GT improved temperature dependence of GT improved temperature dependence of nucleation rates for both ethanol and nucleation rates for both ethanol and methanol.methanol.
•• GT improved supersaturation dependence GT improved supersaturation dependence of nucleation rates exactly for methanol, of nucleation rates exactly for methanol, but for ethanol, GT couldnbut for ethanol, GT couldn’’t improve thet improve thesupersaturation dependence of nucleation supersaturation dependence of nucleation rates. rates.
Thank youThank you