LCOV - code coverage report
Current view: top level - star/private - ionization_potentials.f90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 0.0 % 32 0
Test Date: 2025-05-08 18:23:42 Functions: 0.0 % 1 0

            Line data    Source code
       1              : ! ***********************************************************************
       2              : !
       3              : !   Copyright (C) 2010  The MESA Team
       4              : !
       5              : !   This program is free software: you can redistribute it and/or modify
       6              : !   it under the terms of the GNU Lesser General Public License
       7              : !   as published by the Free Software Foundation,
       8              : !   either version 3 of the License, or (at your option) any later version.
       9              : !
      10              : !   This program is distributed in the hope that it will be useful,
      11              : !   but WITHOUT ANY WARRANTY; without even the implied warranty of
      12              : !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      13              : !   See the GNU Lesser General Public License for more details.
      14              : !
      15              : !   You should have received a copy of the GNU Lesser General Public License
      16              : !   along with this program. If not, see <https://www.gnu.org/licenses/>.
      17              : !
      18              : ! ***********************************************************************
      19              : 
      20              :       module ionization_potentials
      21              : 
      22              :       use const_def, only: dp
      23              :       use utils_lib, only: mesa_error
      24              : 
      25              :       implicit none
      26              : 
      27              :       private
      28              :       public :: ionization_tables_okay
      29              :       public :: ip
      30              :       public :: set_ionization_potentials
      31              : 
      32              :       logical :: ionization_tables_okay = .false.
      33              :       real(dp) :: ip(30,30)  ! ionization_potentials
      34              : 
      35              :       contains
      36              : 
      37            0 :       subroutine set_ionization_potentials  ! data from
      38              :          ! Allen, C.W., 1973, "Astrophysical Quantities", 3rd edition, pg 37-38.
      39              : 
      40              :          ! 1 h
      41            0 :          ip(1,1) = 13.598d0
      42              : 
      43              :          ! 2 he
      44              :          ip(2,1:2) = [ &
      45              :             24.587d0, &
      46            0 :             54.416d0 ]
      47              : 
      48              :          ! 3 Li
      49              :          ip(3,1:3) = [ &
      50              :             5.392d0, &
      51              :             75.638d0, &
      52            0 :             122.451d0 ]
      53              : 
      54              :          ! 4 Be
      55              :          ip(4,1:4) = [ &
      56              :             9.322d0, &
      57              :             18.211d0, &
      58              :             153.893d0, &
      59            0 :             217.713d0 ]
      60              : 
      61              :          ! 5 B
      62              :          ip(5,1:5) = [ &
      63              :             8.298d0, &
      64              :             21.155d0, &
      65              :             37.930d0, &
      66              :             259.366d0, &
      67            0 :             340.22d0 ]
      68              : 
      69              :          ! 6 C
      70              :          ip(6,1:6) = [ &
      71              :             11.260d0, &
      72              :             21.383d0, &
      73              :             47.887d0, &
      74              :             64.492d0, &
      75              :             392.08d0, &
      76            0 :             489.98d0 ]
      77              : 
      78              :          ! 7 N
      79              :          ip(7,1:7) = [ &
      80              :             14.543d0, &
      81              :             29.601d0, &
      82              :             47.448d0, &
      83              :             77.472d0, &
      84              :             97.89d0, &
      85              :             552.06d0, &
      86            0 :             667.03d0 ]
      87              : 
      88              :          ! 8 O
      89              :          ip(8,1:8) = [ &
      90              :             13.618d0, &
      91              :             35.117d0, &
      92              :             54.934d0, &
      93              :             77.413d0, &
      94              :             113.90d0, &
      95              :             138.12d0, &
      96              :             739.32d0, &
      97            0 :             871.39d0 ]
      98              : 
      99              :          ! 9 F
     100              :          ip(9,1:9) = [ &
     101              :             17.422d0, &
     102              :             34.970d0, &
     103              :             62.707d0, &
     104              :             87.138d0, &
     105              :             114.24d0, &
     106              :             157.16d0, &
     107              :             185.18d0, &
     108              :             953.89d0, &
     109            0 :             1103.1d0 ]
     110              : 
     111              :          ! 10 Ne
     112              :          ip(10,1:10) = [ &
     113              :             21.564d0, &
     114              :             40.962d0, &
     115              :             63.45d0, &
     116              :             97.11d0, &
     117              :             126.21d0, &
     118              :             157.93d0, &
     119              :             207.26d0, &
     120              :             239.09d0, &
     121              :             1195.8d0, &
     122            0 :             1362.2d0 ]
     123              : 
     124              :          ! 11 Na
     125              :          ip(11,1:11) = [ &
     126              :             5.139d0, &
     127              :             47.286d0, &
     128              :             71.64d0, &
     129              :             98.91d0, &
     130              :             138.40d0, &
     131              :             172.15d0, &
     132              :             208.48d0, &
     133              :             264.19d0, &
     134              :             299.9d0, &
     135              :             1465.1d0, &
     136            0 :             1648.7d0 ]
     137              : 
     138              :          ! 12 Mg
     139              :          ip(12,1:12) = [ &
     140              :             7.646d0, &
     141              :             15.035d0, &
     142              :             80.143d0, &
     143              :             109.31d0, &
     144              :             141.27d0, &
     145              :             186.51d0, &
     146              :             224.95d0, &
     147              :             265.92d0, &
     148              :             328.0d0, &
     149              :             367.5d0, &
     150              :             1761.8d0, &
     151            0 :             1963.0d0 ]
     152              : 
     153              :          ! 13 Al
     154              :          ip(13,1:13) = [ &
     155              :             5.986d0, &
     156              :             18.826d0, &
     157              :             28.448d0, &
     158              :             119.99d0, &
     159              :             153.75d0, &
     160              :             190.47d0, &
     161              :             241.44d0, &
     162              :             284.59d0, &
     163              :             330.2d0, &
     164              :             398.6d0, &
     165              :             442.0d0, &
     166              :             2086.0d0, &
     167            0 :             2304.0d0 ]
     168              : 
     169              :          ! 14 Si
     170              :          ip(14,1:14) = [ &
     171              :             8.151d0, &
     172              :             16.345d0, &
     173              :             33.492d0, &
     174              :             45.141d0, &
     175              :             166.77d0, &
     176              :             205.08d0, &
     177              :             246.49d0, &
     178              :             303.16d0, &
     179              :             351.1d0, &
     180              :             401.4d0, &
     181              :             476.1d0, &
     182              :             523.0d0, &
     183              :             2438.0d0, &
     184            0 :             2304.0d0 ]
     185              : 
     186              :          ! 15 P
     187              :          ip(15,1:15) = [ &
     188              :             10.486d0, &
     189              :             19.725d0, &
     190              :             30.18d0, &
     191              :             51.42d0, &
     192              :             65.02d0, &
     193              :             220.45d0, &
     194              :             263.28d0, &
     195              :             309.37d0, &
     196              :             371.7d0, &
     197              :             424.4d0, &
     198              :             479.5d0, &
     199              :             561.0d0, &
     200              :             612.0d0, &
     201              :             2817.0d0, &
     202            0 :             3070.0d0 ]
     203              : 
     204              :          ! 16 S
     205              :          ip(16,1:16) = [ &
     206              :             10.360d0, &
     207              :             23.33d0, &
     208              :             34.83d0, &
     209              :             47.30d0, &
     210              :             72.68d0, &
     211              :             88.05d0, &
     212              :             280.01d0, &
     213              :             328.33d0, &
     214              :             400.4d0, &
     215              :             455.6d0, &
     216              :             529.3d0, &
     217              :             592.0d0, &
     218              :             657.0d0, &
     219              :             750.0d0, &
     220              :             3224.0d0, &
     221            0 :             3494.0d0 ]
     222              : 
     223              :          ! 17 Cl
     224              :          ip(17,1:17) = [ &
     225              :             12.967d0, &
     226              :             23.81d0, &
     227              :             39.61d0, &
     228              :             53.46d0, &
     229              :             67.7d0, &
     230              :             97.03d0, &
     231              :             114.19d0, &
     232              :             348.37d0, &
     233              :             400.4d0, &
     234              :             455.6d0, &
     235              :             529.3d0, &
     236              :             592.0d0, &
     237              :             657.0d0, &
     238              :             750.0d0, &
     239              :             809.0d0, &
     240              :             3658.0d0, &
     241            0 :             3946.0d0 ]
     242              : 
     243              :          ! 18 Ar
     244              :          ip(18,1:18) = [ &
     245              :             15.759d0, &
     246              :             27.629d0, &
     247              :             40.74d0, &
     248              :             59.81d0, &
     249              :             75.04d0, &
     250              :             91.01d0, &
     251              :             124.4d0, &
     252              :             143.45d0, &
     253              :             422.6d0, &
     254              :             478.9d0, &
     255              :             539.0d0, &
     256              :             618.0d0, &
     257              :             686.0d0, &
     258              :             756.0d0, &
     259              :             855.0d0, &
     260              :             918.0d0, &
     261              :             4121.0d0, &
     262            0 :             4426.0d0 ]
     263              : 
     264              :          ! 19 K
     265              :          ip(19,1:19) = [ &
     266              :             4.341d0, &
     267              :             31.63d0, &
     268              :             45.72d0, &
     269              :             60.92d0, &
     270              :             82.66d0, &
     271              :             99.9d0, &
     272              :             117.7d0, &
     273              :             154.98d0, &
     274              :             175.8d0, &
     275              :             503.6d0, &
     276              :             564.4d0, &
     277              :             629.0d0, &
     278              :             714.0d0, &
     279              :             787.0d0, &
     280              :             862.0d0, &
     281              :             968.0d0, &
     282              :             1034.0d0, &
     283              :             4611.0d0, &
     284            0 :             4934.0d0 ]
     285              : 
     286              :          ! 20 Ca
     287              :          ip(20,1:20) = [ &
     288              :             6.113d0, &
     289              :             11.871d0, &
     290              :             50.91d0, &
     291              :             67.15d0, &
     292              :             84.43d0, &
     293              :             108.78d0, &
     294              :             127.7d0, &
     295              :             147.4d0, &
     296              :             188.7d0, &
     297              :             211.3d0, &
     298              :             591.6d0, &
     299              :             657.0d0, &
     300              :             726.0d0, &
     301              :             817.0d0, &
     302              :             895.0d0, &
     303              :             974.0d0, &
     304              :             1087.0d0, &
     305              :             1157.0d0, &
     306              :             5129.0d0, &
     307            0 :             5470.0d0 ]
     308              : 
     309              :          ! 21 Sc
     310              :          ip(21,1:21) = [ &
     311              :             6.54d0, &
     312              :             12.80d0, &
     313              :             24.76d0, &
     314              :             73.7d0, &
     315              :             91.7d0, &
     316              :             111.1d0, &
     317              :             138.0d0, &
     318              :             158.7d0, &
     319              :             180.2d0, &
     320              :             225.4d0, &
     321              :             249.8d0, &
     322              :             686.0d0, &
     323              :             756.0d0, &
     324              :             830.0d0, &
     325              :             927.0d0, &
     326              :             1009.0d0, &
     327              :             1094.0d0, &
     328              :             1213.0d0, &
     329              :             1288.0d0, &
     330              :             5675.0d0, &
     331            0 :             6034.0d0 ]
     332              : 
     333              :          ! 22 Ti
     334              :          ip(22,1:22) = [ &
     335              :             6.82d0, &
     336              :             13.58d0, &
     337              :             27.49d0, &
     338              :             43.26d0, &
     339              :             99.4d0, &
     340              :             119.36d0, &
     341              :             140.8d0, &
     342              :             169.4d0, &
     343              :             193.0d0, &
     344              :             216.2d0, &
     345              :             265.3d0, &
     346              :             292.0d0, &
     347              :             788.0d0, &
     348              :             862.0d0, &
     349              :             941.0d0, &
     350              :             1044.0d0, &
     351              :             1131.0d0, &
     352              :             1221.0d0, &
     353              :             1346.0d0, &
     354              :             1425.0d0, &
     355              :             6249.0d0, &
     356            0 :             6626.0d0 ]
     357              : 
     358              :          ! 23 V
     359              :          ip(23,1:23) = [ &
     360              :             6.74d0, &
     361              :             14.65d0, &
     362              :             29.31d0, &
     363              :             46.71d0, &
     364              :             65.23d0, &
     365              :             128.6d0, &
     366              :             150.3d0, &
     367              :             173.6d0, &
     368              :             205.8d0, &
     369              :             230.5d0, &
     370              :             255.1d0, &
     371              :             308.0d0, &
     372              :             336.0d0, &
     373              :             896.0d0, &
     374              :             975.0d0, &
     375              :             1060.0d0, &
     376              :             1168.0d0, &
     377              :             1260.0d0, &
     378              :             1355.0d0, &
     379              :             1486.0d0, &
     380              :             1569.0d0, &
     381              :             6851.0d0, &
     382            0 :             7246.0d0 ]
     383              : 
     384              :          ! 24 Cr
     385              :          ip(24,1:24) = [ &
     386              :             6.766d0, &
     387              :             16.50d0, &
     388              :             30.96d0, &
     389              :             49.1d0, &
     390              :             70.2d0, &
     391              :             90.57d0, &
     392              :             161.1d0, &
     393              :             184.6d0, &
     394              :             209.3d0, &
     395              :             244.4d0, &
     396              :             270.7d0, &
     397              :             298.0d0, &
     398              :             355.0d0, &
     399              :             384.0d0, &
     400              :             1011.0d0, &
     401              :             1097.0d0, &
     402              :             1185.0d0, &
     403              :             1299.0d0, &
     404              :             1396.0d0, &
     405              :             1496.0d0, &
     406              :             1634.0d0, &
     407              :             1721.0d0, &
     408              :             7482.0d0, &
     409            0 :             7895.0d0 ]
     410              : 
     411              :          ! 25 Mn
     412              :          ip(25,1:25) = [ &
     413              :             7.435d0, &
     414              :             15.640d0, &
     415              :             33.67d0, &
     416              :             51.4d0, &
     417              :             73.0d0, &
     418              :             97.0d0, &
     419              :             119.27d0, &
     420              :             196.47d0, &
     421              :             221.8d0, &
     422              :             248.3d0, &
     423              :             286.0d0, &
     424              :             314.0d0, &
     425              :             344.0d0, &
     426              :             404.0d0, &
     427              :             435.0d0, &
     428              :             1136.0d0, &
     429              :             1224.0d0, &
     430              :             1317.0d0, &
     431              :             1437.0d0, &
     432              :             1539.0d0, &
     433              :             1644.0d0, &
     434              :             1788.0d0, &
     435              :             1879.0d0, &
     436              :             8141.0d0, &
     437            0 :             8572.0d0 ]
     438              : 
     439              :          ! 26 Fe
     440              :          ip(26,1:26) = [ &
     441              :             7.870d0, &
     442              :             16.16d0, &
     443              :             30.651d0, &
     444              :             54.8d0, &
     445              :             75.5d0, &
     446              :             100.0d0, &
     447              :             128.3d0, &
     448              :             151.12d0, &
     449              :             235.0d0, &
     450              :             262.1d0, &
     451              :             290.4d0, &
     452              :             331.0d0, &
     453              :             361.0d0, &
     454              :             392.0d0, &
     455              :             457.0d0, &
     456              :             489.0d0, &
     457              :             1266.0d0, &
     458              :             1358.0d0, &
     459              :             1456.0d0, &
     460              :             1582.0d0, &
     461              :             1689.0d0, &
     462              :             1799.0d0, &
     463              :             1950.0d0, &
     464              :             2045.0d0, &
     465              :             8828.0d0, &
     466            0 :             9278.0d0 ]
     467              : 
     468              :          ! 27 Co
     469              :          ip(27,1:27) = [ &
     470              :             7.86d0, &
     471              :             17.06d0, &
     472              :             33.50d0, &
     473              :             51.3d0, &
     474              :             79.5d0, &
     475              :             103.0d0, &
     476              :             131.0d0, &
     477              :             160.0d0, &
     478              :             186.2d0, &
     479              :             176.2d0, &
     480              :             305.0d0, &
     481              :             336.0d0, &
     482              :             379.0d0, &
     483              :             411.0d0, &
     484              :             444.0d0, &
     485              :             512.0d0, &
     486              :             547.0d0, &
     487              :             1402.0d0, &
     488              :             1500.0d0, &
     489              :             1602.0d0, &
     490              :             1734.0d0, &
     491              :             1846.0d0, &
     492              :             1962.0d0, &
     493              :             2119.0d0, &
     494              :             2218.0d0, &
     495              :             9544.0d0, &
     496            0 :             10030.0d0 ]
     497              : 
     498              :          ! 28 Ni
     499              :          ip(28,1:28) = [ &
     500              :             7.635d0, &
     501              :             18.168d0, &
     502              :             35.17d0, &
     503              :             54.9d0, &
     504              :             75.5d0, &
     505              :             108.0d0, &
     506              :             134.0d0, &
     507              :             164.0d0, &
     508              :             193.0d0, &
     509              :             224.6d0, &
     510              :             321.0d0, &
     511              :             352.0d0, &
     512              :             384.0d0, &
     513              :             430.0d0, &
     514              :             464.0d0, &
     515              :             499.0d0, &
     516              :             571.0d0, &
     517              :             607.0d0, &
     518              :             1546.0d0, &
     519              :             1648.0d0, &
     520              :             1756.0d0, &
     521              :             1894.0d0, &
     522              :             2010.0d0, &
     523              :             2131.0d0, &
     524              :             2295.0d0, &
     525              :             2398.0d0, &
     526              :             10280.0d0, &
     527            0 :             10790.0d0 ]
     528              : 
     529              :          ! 29 Cu
     530              :          ip(29,1:29) = [ &
     531              :             7.726d0, &
     532              :             20.292d0, &
     533              :             36.83d0, &
     534              :             55.2d0, &
     535              :             79.9d0, &
     536              :             103.0d0, &
     537              :             139.0d0, &
     538              :             167.0d0, &
     539              :             199.0d0, &
     540              :             232.0d0, &
     541              :             266.0d0, &
     542              :             369.0d0, &
     543              :             401.0d0, &
     544              :             435.0d0, &
     545              :             484.0d0, &
     546              :             520.0d0, &
     547              :             557.0d0, &
     548              :             633.0d0, &
     549              :             671.0d0, &
     550              :             1698.0d0, &
     551              :             1804.0d0, &
     552              :             1919.0d0, &
     553              :             2060.0d0, &
     554              :             2182.0d0, &
     555              :             2310.0d0, &
     556              :             2478.0d0, &
     557              :             2560.0d0, &
     558              :             11050.0d0, &
     559            0 :             1d35 ]
     560              : 
     561              :          ! 30 Zn
     562              :          ip(30,1:30) = [ &
     563              :             9.394d0, &
     564              :             17.964d0, &
     565              :             39.72d0, &
     566              :             59.4d0, &
     567              :             82.6d0, &
     568              :             108.0d0, &
     569              :             136.0d0, &
     570              :             175.0d0, &
     571              :             203.0d0, &
     572              :             238.0d0, &
     573              :             274.0d0, &
     574              :             311.0d0, &
     575              :             412.0d0, &
     576              :             454.0d0, &
     577              :             490.0d0, &
     578              :             542.0d0, &
     579              :             579.0d0, &
     580              :             619.0d0, &
     581              :             698.0d0, &
     582              :             738.0d0, &
     583              :             1856.0d0, &
     584              :             1970.0d0, &
     585              :             2088.0d0, &
     586              :             2234.0d0, &
     587              :             2363.0d0, &
     588              :             2495.0d0, &
     589              :             2660.0d0, &
     590              :             2730.0d0, &
     591              :             1d35, &
     592            0 :             1d35 ]
     593              : 
     594            0 :       end subroutine set_ionization_potentials
     595              : 
     596              :       end module ionization_potentials
        

Generated by: LCOV version 2.0-1