42 lines
1.1 KiB
Fortran
42 lines
1.1 KiB
Fortran
SUBROUTINE DWNFR1(FR,FR0,ID,IZZ,DW1)
|
|
C ====================================
|
|
C
|
|
C dissolved fraction for frequency FR
|
|
C
|
|
INCLUDE 'PARAMS.FOR'
|
|
INCLUDE 'MODELP.FOR'
|
|
PARAMETER (UN=1.,TKN=3.01,CKN=5.33333333,CB=8.59d14)
|
|
PARAMETER (SQFRH=5.734152D7)
|
|
parameter (a0=0.529177e-8,wa0=-3.1415926538/6.*a0*a0*a0)
|
|
C
|
|
IF(FR.LT.FR0) THEN
|
|
XN=SQFRH*IZZ/SQRT(FR0-FR)
|
|
if(xn.le.tkn) then
|
|
xkn=un
|
|
else
|
|
xn1=un/(xn+un)
|
|
xkn=ckn*xn*xn1*xn1
|
|
end if
|
|
BETA=CB*Z3(IZZ)*XKN/(XN*XN*XN*XN)*ELEC23(ID)
|
|
beta=beta*bergfc
|
|
BETA3=BETA*BETA*BETA
|
|
BETA32=SQRT(BETA3)
|
|
F=(DWC1(IZZ,ID)*BETA3)/(UN+DWC2(ID)*BETA32)
|
|
c
|
|
c contribution from neutral particles
|
|
c
|
|
xn2=xn*xn+un
|
|
xnh=0.
|
|
xnhe1=0.
|
|
if(ielh.gt.0) xnh=popul(nfirst(ielh),id)
|
|
if(ielhe1.gt.0) xnhe1=popul(nfirst(ielhe1),id)
|
|
w0=exp(wa0*xn2*xn2*xn2*(xnh+xnhe1))
|
|
W0=1.
|
|
c
|
|
DW1=UN-F/(UN+F)*w0
|
|
ELSE
|
|
DW1=UN
|
|
END IF
|
|
RETURN
|
|
END
|