45 lines
1.0 KiB
Fortran
45 lines
1.0 KiB
Fortran
SUBROUTINE PFSPEC(IAT,IZI,T,ANE,U,DUT,DUN)
|
|
C ==========================================
|
|
|
|
C Non-standard evaluation of the partition function
|
|
C user supplied procedure
|
|
C
|
|
C Input:
|
|
C IAT - atomic number
|
|
C IZI - ionic charge (=1 for neutrals, =1 for once ionized, etc)
|
|
C T - temperature
|
|
C ANE - electron density
|
|
C XMAX - principal quantum number of the last bound level
|
|
C
|
|
C Output:
|
|
C U - partition function
|
|
C DUT - derivative dU/dT
|
|
C DUN - derivative dU/d(ANE)
|
|
C
|
|
INCLUDE 'IMPLIC.FOR'
|
|
C
|
|
U=0.
|
|
DUT=0.
|
|
DUN=0.
|
|
T1=T
|
|
A1=ANE
|
|
IF(IAT.EQ.10) THEN
|
|
IF(IZI.EQ.5) U=9.
|
|
IF(IZI.EQ.6) U=6.
|
|
IF(IZI.EQ.7) U=12.
|
|
IF(IZI.EQ.8) U=8.
|
|
IF(IZI.EQ.9) U=1.
|
|
RETURN
|
|
END IF
|
|
IF(IAT.EQ.16) THEN
|
|
IF(IZI.EQ.5) U=1.
|
|
IF(IZI.EQ.6) U=2.
|
|
IF(IZI.EQ.7) U=1.
|
|
IF(IZI.EQ.8) U=6.
|
|
IF(IZI.EQ.9) U=9.
|
|
RETURN
|
|
END IF
|
|
|
|
RETURN
|
|
END
|