47 lines
1.4 KiB
Fortran
47 lines
1.4 KiB
Fortran
SUBROUTINE RAYLEIGH(MODE,IJ,ID,SCR)
|
|
C ===================================
|
|
C
|
|
INCLUDE 'IMPLIC.FOR'
|
|
INCLUDE 'BASICS.FOR'
|
|
INCLUDE 'ATOMIC.FOR'
|
|
INCLUDE 'MODELQ.FOR'
|
|
PARAMETER (FRRAY = 2.463D15,
|
|
* FRAYHe = 5.150E15,
|
|
* FRAYH2 = 2.922E15,
|
|
* C18 = 2.997925D18,
|
|
* CR0 = 5.799D-13,
|
|
* CR1 = 1.422D-6,
|
|
* CR2 = 2.784D0)
|
|
COMMON/RAYSCT/RCS(MFREQ),RCHE(MFREQ),RCH2(MFREQ)
|
|
common/eospar/anmol(600,mdepth),
|
|
* anato(100,mdepth),
|
|
* anion(100,mdepth)
|
|
C
|
|
IF(MODE.EQ.0) THEN
|
|
DO IK=1,NFREQ
|
|
FRM=MIN(FREQ(IK),FRRAY)
|
|
x=UN/(C18/FRM)**2
|
|
RCS(IK)=(CR0+(CR1+CR2*X)*X)*X*X
|
|
END DO
|
|
IF(IRSCHE.NE.0) THEN
|
|
DO IK=1,NFREQ
|
|
X=(C18/MIN(FR,FRAYHe))**2
|
|
RCHE(IK)=5.484E-14/X/X*(1.+(2.44E5+5.94E10/
|
|
* (X-2.90E5))/X)**2
|
|
END DO
|
|
END IF
|
|
IF(IRSCH2.NE.0.AND.IFMOL.GT.0) THEN
|
|
DO IK=1,NFREQ
|
|
X=(C18/MIN(FR,FRAYH2))**2
|
|
X2=1./X/X
|
|
RCH2(IK)=(8.14E-13+1.28E-6/X+1.61*X2)*X2
|
|
END DO
|
|
END IF
|
|
ELSE
|
|
SCR=RCS(IJ)*anato(1,id)
|
|
IF(IRSCHE.NE.0) SCR=SCR+RCHE(IJ)*ANATO(2,ID)
|
|
IF(IRSCH2.NE.0.AND.IFMOL.GT.0) SCR=SCR+RCH2(IJ)*ANMOL(2,ID)
|
|
END IF
|
|
RETURN
|
|
END
|