221 lines
8.3 KiB
Fortran
221 lines
8.3 KiB
Fortran
MODULE atomic_module
|
||
!==============================================================================
|
||
! TLUSTY 原子数据模块
|
||
! 原始文件:ATOMIC.FOR
|
||
!
|
||
! 包含原子、离子、能级和跃迁相关的参数和数据
|
||
!==============================================================================
|
||
|
||
USE impli_module
|
||
USE basics_module
|
||
IMPLICIT NONE
|
||
|
||
!==========================================================================
|
||
! 辅助参数
|
||
!==========================================================================
|
||
INTEGER, PARAMETER :: MPAG = MLEVEL/6+1
|
||
|
||
!==========================================================================
|
||
! 字符类型数组
|
||
!==========================================================================
|
||
CHARACTER*40 :: FIDATA(MION),FIODF1(MION),FIODF2(MION),FIBFCS(MION)
|
||
CHARACTER*10 :: TYPLEV(MLEVEL)
|
||
CHARACTER*4 :: TYPION(MION)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 原子参数 (ATOPAR)
|
||
!==========================================================================
|
||
REAL(dp) :: AMASS(MATOM)
|
||
REAL(dp) :: ABUND(MATOM,MDEPTH)
|
||
INTEGER :: NUMAT(MATOM)
|
||
INTEGER :: N0A(MATOM)
|
||
INTEGER :: NKA(MATOM)
|
||
INTEGER :: nref(matom)
|
||
INTEGER :: iatex(matom)
|
||
INTEGER :: nrefs(matom,mdepth)
|
||
INTEGER :: iadop(matom)
|
||
INTEGER :: iifix(matom)
|
||
INTEGER :: iatref
|
||
INTEGER :: modref
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 原子质量
|
||
!==========================================================================
|
||
REAL(dp) :: amas(100)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 离子参数 (IONPAR)
|
||
!==========================================================================
|
||
REAL(dp) :: FF(MION)
|
||
REAL(dp) :: CHARG2(MION)
|
||
INTEGER :: NFIRST(MION)
|
||
INTEGER :: NLAST(MION)
|
||
INTEGER :: NNEXT(MION)
|
||
INTEGER :: IZ(MION)
|
||
INTEGER :: IUPSUM(MION)
|
||
INTEGER :: ICUP(MION)
|
||
INTEGER :: ilte(mion)
|
||
INTEGER :: iltion(mion)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 能级参数 (LEVPAR)
|
||
!==========================================================================
|
||
REAL(dp) :: ENION(MLEVEL)
|
||
REAL(dp) :: G(MLEVEL)
|
||
INTEGER :: NQUANT(MLEVEL)
|
||
INTEGER :: IATM(MLEVEL)
|
||
INTEGER :: IEL(MLEVEL)
|
||
INTEGER :: ILK(MLEVEL)
|
||
INTEGER :: ilin(mlevel)
|
||
INTEGER :: iltlev(mlevel)
|
||
INTEGER :: indlev(mlevel)
|
||
INTEGER :: imodl(mlevel)
|
||
INTEGER :: iiexp(mlevel)
|
||
INTEGER :: iifor(mlevel)
|
||
INTEGER :: ipzert(mlevel)
|
||
INTEGER :: igzert(mlevel)
|
||
INTEGER :: indlgz(mlevel)
|
||
INTEGER :: iinonz(mlevel)
|
||
INTEGER :: NLVEXP
|
||
INTEGER :: NLVFOR
|
||
INTEGER :: NLVEXZ
|
||
LOGICAL :: LBPFX
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 跃迁参数 (TRAPAR)
|
||
!==========================================================================
|
||
REAL(dp) :: FR0(MTRANS)
|
||
REAL(dp) :: OSC0(MTRANS)
|
||
REAL(dp) :: CPAR(MTRANS)
|
||
REAL(dp) :: FRQMX(MTRANS)
|
||
REAL(dp) :: FR0PC(MTRANS)
|
||
REAL(dp) :: OMECOL(MLEVEL,MLEVEL)
|
||
REAL(dp) :: XGRAD
|
||
REAL(dp) :: STRL1
|
||
REAL(dp) :: STRL2
|
||
REAL(dp) :: STRLX
|
||
INTEGER :: ILOW(MTRANS)
|
||
INTEGER :: IUP(MTRANS)
|
||
INTEGER :: INDEXP(MTRANS)
|
||
INTEGER :: KFR0(MTRANS)
|
||
INTEGER :: KFR1(MTRANS)
|
||
INTEGER :: ILUCTR(MTRANS)
|
||
INTEGER :: IFC0(MTRANS)
|
||
INTEGER :: IFC1(MTRANS)
|
||
INTEGER :: IFR0(MTRANS)
|
||
INTEGER :: IFR1(MTRANS)
|
||
INTEGER :: ITRA(MLEVEL,MLEVEL)
|
||
INTEGER :: IPROF(MTRANS)
|
||
INTEGER :: ICOL(MTRANS)
|
||
INTEGER :: INTMOD(MTRANS)
|
||
INTEGER :: ITRCON(MTRANS)
|
||
INTEGER :: IDIEL(MTRANS)
|
||
INTEGER :: IJTF(MTRANS)
|
||
LOGICAL :: LCOMP(MTRANS)
|
||
LOGICAL :: LINE(MTRANS)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 光子设置 (PHOSET)
|
||
!==========================================================================
|
||
REAL(dp) :: S0CS(MLEVEL)
|
||
REAL(dp) :: ALFCS(MLEVEL)
|
||
REAL(dp) :: BETCS(MLEVEL)
|
||
REAL(dp) :: GAMCS(MLEVEL)
|
||
INTEGER :: IBF(MLEVEL)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - TOPCS (b-f 截面表)
|
||
!==========================================================================
|
||
REAL(dp) :: CTOP(MFIT,MCROSS) ! sigma=alog10(sigma/10^-18) of fit point
|
||
REAL(dp) :: XTOP(MFIT,MCROSS) ! x = alog10(nu/nu0) of fit point
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 碰撞率表
|
||
!==========================================================================
|
||
REAL(dp) :: CTEMP(MXTCOL,MCFIT,MCORAT) ! temperature vs.
|
||
REAL(dp) :: CRATE(MXTCOL,MCFIT,MCORAT) ! collisional rates
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - Voigt 参数
|
||
!==========================================================================
|
||
REAL(dp) :: GAMAR(MVOIGT)
|
||
REAL(dp) :: STARK1(MVOIGT)
|
||
REAL(dp) :: STARK2(MVOIGT)
|
||
REAL(dp) :: STARK3(MVOIGT)
|
||
REAL(dp) :: VDWH(MVOIGT)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - He 碰撞率
|
||
!==========================================================================
|
||
REAL(dp) :: COLHE1(19,19)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 跃迁相关
|
||
!==========================================================================
|
||
LOGICAL :: LEXP(MTRANS)
|
||
LOGICAL :: LALI(MTRANS)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 跃迁 ALI
|
||
!==========================================================================
|
||
INTEGER :: NFFIX
|
||
LOGICAL :: IFSUB
|
||
LOGICAL :: IFLEV
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 辅助索引
|
||
!==========================================================================
|
||
INTEGER :: IATH,IATHE,IELH,IELHM,IELHE1,IELHE2
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 离子文件
|
||
!==========================================================================
|
||
CHARACTER*40 :: FIDATA_ARR(MION)
|
||
CHARACTER*40 :: FIODF1_ARR(MION)
|
||
CHARACTER*40 :: FIODF2_ARR(MION)
|
||
CHARACTER*40 :: FIBFCS_ARR(MION)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 离子数据
|
||
!==========================================================================
|
||
INTEGER :: IATI(MION)
|
||
INTEGER :: IZI(MION)
|
||
INTEGER :: NLEVS(MION)
|
||
INTEGER :: NLLIM(MION)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 氢振子强度
|
||
!==========================================================================
|
||
REAL(dp) :: OSH(20,20)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 打印参数
|
||
!==========================================================================
|
||
INTEGER :: NPGPOP
|
||
INTEGER :: IIPR(6,MPAG)
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 表最大值
|
||
!==========================================================================
|
||
REAL(dp) :: frtabm
|
||
|
||
!==========================================================================
|
||
! 谱线展宽参数
|
||
!==========================================================================
|
||
INTEGER, PARAMETER :: MTRPRD = 5
|
||
|
||
!==========================================================================
|
||
! 公共变量块 - 展宽参数 (PRDPAR)
|
||
!==========================================================================
|
||
REAL(dp) :: DOPTR(MTRPRD,MDEPTH)
|
||
REAL(dp) :: COHER(MTRPRD,MDEPTH)
|
||
REAL(dp) :: PJBAR(MTRPRD,MDEPTH)
|
||
REAL(dp) :: RJBAR(MTRPRD,MDEPTH)
|
||
REAL(dp) :: XPDIV
|
||
INTEGER :: IPRD(MTRANS)
|
||
INTEGER :: ITRTOT(MTRPRD)
|
||
INTEGER :: NTRPRD
|
||
LOGICAL :: IFPRD
|
||
|
||
END MODULE atomic_module
|