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