SpectraRust/tlusty/extracted/pfspec.f
2026-03-19 14:05:33 +08:00

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