aboutsummaryrefslogtreecommitdiff
path: root/Source/Utils/IonizationEnergiesTable.H
blob: 25040522178e3b1b559304461c4c6016200c9c51 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
/* Copyright 2019-2021 Axel Huebl, Maxence Thevenet
 *
 * This file is part of WarpX.
 *
 * License: BSD-3-Clause-LBNL
 */
// This script was automatically generated!
// Edit dev/Source/Utils/write_atomic_data_cpp.py instead!
#ifndef WARPX_IONIZATION_TABLE_H_
#define WARPX_IONIZATION_TABLE_H_

#include <AMReX_AmrCore.H>
#include <AMReX_REAL.H>
#include <map>

std::map<std::string, int> ion_map_ids = {
    {"H", 0},
    {"He", 1},
    {"Li", 2},
    {"Be", 3},
    {"B", 4},
    {"C", 5},
    {"N", 6},
    {"O", 7},
    {"F", 8},
    {"Ne", 9},
    {"Na", 10},
    {"Mg", 11},
    {"Al", 12},
    {"Si", 13},
    {"P", 14},
    {"S", 15},
    {"Cl", 16},
    {"Ar", 17},
    {"Cu", 18},
    {"Kr", 19},
    {"Rb", 20},
    {"Xe", 21},
    {"Rn", 22} };

constexpr int nelements = 23;

constexpr int ion_atomic_numbers[nelements] = {
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
    11, 12, 13, 14, 15, 16, 17, 18, 29, 36,
    37, 54, 86};

constexpr int ion_energy_offsets[nelements] = {
    0, 1, 3, 6, 10, 15, 21, 28, 36, 45,
    55, 66, 78, 91, 105, 120, 136, 153, 171, 200,
    236, 273, 327};

constexpr int energies_tab_length = 413;

constexpr amrex::Real table_ionization_energies[energies_tab_length]{
    // H
    amrex::Real(13.59843449),
    // He
    amrex::Real(24.58738880), amrex::Real(54.4177650),
    // Li
    amrex::Real(5.39171495), amrex::Real(75.6400964), amrex::Real(122.4543581),
    // Be
    amrex::Real(9.322699), amrex::Real(18.21115), amrex::Real(153.896203),
    amrex::Real(217.7185843),
    // B
    amrex::Real(8.298019), amrex::Real(25.15483), amrex::Real(37.93058),
    amrex::Real(259.3715), amrex::Real(340.226020),
    // C
    amrex::Real(11.2602880), amrex::Real(24.383154), amrex::Real(47.88778),
    amrex::Real(64.49352), amrex::Real(392.090515), amrex::Real(489.993194),
    // N
    amrex::Real(14.53413), amrex::Real(29.60125), amrex::Real(47.4453),
    amrex::Real(77.4735), amrex::Real(97.8901), amrex::Real(552.06732),
    amrex::Real(667.046116),
    // O
    amrex::Real(13.618055), amrex::Real(35.12112), amrex::Real(54.93554),
    amrex::Real(77.41350), amrex::Real(113.8990), amrex::Real(138.1189),
    amrex::Real(739.32682), amrex::Real(871.40988),
    // F
    amrex::Real(17.42282), amrex::Real(34.97081), amrex::Real(62.70798),
    amrex::Real(87.175), amrex::Real(114.249), amrex::Real(157.16311),
    amrex::Real(185.1868), amrex::Real(953.89804), amrex::Real(1103.11747),
    // Ne
    amrex::Real(21.564540), amrex::Real(40.96297), amrex::Real(63.4233),
    amrex::Real(97.1900), amrex::Real(126.247), amrex::Real(157.934),
    amrex::Real(207.271), amrex::Real(239.0970), amrex::Real(1195.80783),
    amrex::Real(1362.19915),
    // Na
    amrex::Real(5.1390769), amrex::Real(47.28636), amrex::Real(71.6200),
    amrex::Real(98.936), amrex::Real(138.404), amrex::Real(172.23),
    amrex::Real(208.504), amrex::Real(264.192), amrex::Real(299.856),
    amrex::Real(1465.13449), amrex::Real(1648.70218),
    // Mg
    amrex::Real(7.646236), amrex::Real(15.035271), amrex::Real(80.1436),
    amrex::Real(109.2654), amrex::Real(141.33), amrex::Real(186.76),
    amrex::Real(225.02), amrex::Real(265.924), amrex::Real(327.99),
    amrex::Real(367.489), amrex::Real(1761.80487), amrex::Real(1962.66365),
    // Al
    amrex::Real(5.985769), amrex::Real(18.82855), amrex::Real(28.447642),
    amrex::Real(119.9924), amrex::Real(153.8252), amrex::Real(190.49),
    amrex::Real(241.76), amrex::Real(284.64), amrex::Real(330.21),
    amrex::Real(398.65), amrex::Real(442.005), amrex::Real(2085.97700),
    amrex::Real(2304.14005),
    // Si
    amrex::Real(8.15168), amrex::Real(16.34585), amrex::Real(33.49300),
    amrex::Real(45.14179), amrex::Real(166.767), amrex::Real(205.279),
    amrex::Real(246.57), amrex::Real(303.59), amrex::Real(351.28),
    amrex::Real(401.38), amrex::Real(476.273), amrex::Real(523.415),
    amrex::Real(2437.65813), amrex::Real(2673.17753),
    // P
    amrex::Real(10.486686), amrex::Real(19.76949), amrex::Real(30.20264),
    amrex::Real(51.44387), amrex::Real(65.02511), amrex::Real(220.430),
    amrex::Real(263.57), amrex::Real(309.60), amrex::Real(372.31),
    amrex::Real(424.40), amrex::Real(479.44), amrex::Real(560.62),
    amrex::Real(611.741), amrex::Real(2816.90876), amrex::Real(3069.8415),
    // S
    amrex::Real(10.36001), amrex::Real(23.33788), amrex::Real(34.86),
    amrex::Real(47.222), amrex::Real(72.5945), amrex::Real(88.0529),
    amrex::Real(280.954), amrex::Real(328.794), amrex::Real(379.84),
    amrex::Real(447.7), amrex::Real(504.55), amrex::Real(564.41),
    amrex::Real(651.96), amrex::Real(706.994), amrex::Real(3223.7807),
    amrex::Real(3494.1879),
    // Cl
    amrex::Real(12.967632), amrex::Real(23.81364), amrex::Real(39.80),
    amrex::Real(53.24), amrex::Real(67.68), amrex::Real(96.94),
    amrex::Real(114.2013), amrex::Real(348.306), amrex::Real(400.851),
    amrex::Real(456.7), amrex::Real(530.0), amrex::Real(591.58),
    amrex::Real(656.30), amrex::Real(750.23), amrex::Real(809.198),
    amrex::Real(3658.3437), amrex::Real(3946.2909),
    // Ar
    amrex::Real(15.7596117), amrex::Real(27.62967), amrex::Real(40.735),
    amrex::Real(59.58), amrex::Real(74.84), amrex::Real(91.290),
    amrex::Real(124.41), amrex::Real(143.4567), amrex::Real(422.60),
    amrex::Real(479.76), amrex::Real(540.4), amrex::Real(619.0),
    amrex::Real(685.5), amrex::Real(755.13), amrex::Real(855.5),
    amrex::Real(918.375), amrex::Real(4120.6656), amrex::Real(4426.2228),
    // Cu
    amrex::Real(7.726380), amrex::Real(20.29239), amrex::Real(36.841),
    amrex::Real(57.38), amrex::Real(79.8), amrex::Real(103.0),
    amrex::Real(139.0), amrex::Real(166.0), amrex::Real(198.0),
    amrex::Real(232.2), amrex::Real(265.33), amrex::Real(367.0),
    amrex::Real(401.0), amrex::Real(436.0), amrex::Real(483.1),
    amrex::Real(518.7), amrex::Real(552.8), amrex::Real(632.5),
    amrex::Real(670.608), amrex::Real(1690.5), amrex::Real(1800),
    amrex::Real(1918), amrex::Real(2044), amrex::Real(2179.4),
    amrex::Real(2307.3), amrex::Real(2479.1), amrex::Real(2586.954),
    amrex::Real(11062.4313), amrex::Real(11567.613),
    // Kr
    amrex::Real(13.9996053), amrex::Real(24.35984), amrex::Real(35.838),
    amrex::Real(50.85), amrex::Real(64.69), amrex::Real(78.49),
    amrex::Real(109.13), amrex::Real(125.802), amrex::Real(233.0),
    amrex::Real(268), amrex::Real(308), amrex::Real(350),
    amrex::Real(391), amrex::Real(446), amrex::Real(492),
    amrex::Real(540), amrex::Real(591), amrex::Real(640),
    amrex::Real(785), amrex::Real(831.6), amrex::Real(882.8),
    amrex::Real(945), amrex::Real(999.0), amrex::Real(1042),
    amrex::Real(1155.0), amrex::Real(1205.23), amrex::Real(2928.9),
    amrex::Real(3072), amrex::Real(3228), amrex::Real(3380),
    amrex::Real(3584), amrex::Real(3752.0), amrex::Real(3971),
    amrex::Real(4109.083), amrex::Real(17296.420), amrex::Real(17936.209),
    // Rb
    amrex::Real(4.1771280), amrex::Real(27.28954), amrex::Real(39.247),
    amrex::Real(52.20), amrex::Real(68.44), amrex::Real(82.9),
    amrex::Real(98.67), amrex::Real(132.79), amrex::Real(150.628),
    amrex::Real(277.12), amrex::Real(313.1), amrex::Real(356.0),
    amrex::Real(400), amrex::Real(443), amrex::Real(502),
    amrex::Real(550), amrex::Real(601), amrex::Real(654),
    amrex::Real(706.0), amrex::Real(857), amrex::Real(905.3),
    amrex::Real(958.9), amrex::Real(1024), amrex::Real(1080),
    amrex::Real(1125), amrex::Real(1242.5), amrex::Real(1294.57),
    amrex::Real(3133.3), amrex::Real(3281), amrex::Real(3443),
    amrex::Real(3600), amrex::Real(3815), amrex::Real(3988),
    amrex::Real(4214), amrex::Real(4356.865), amrex::Real(18305.884),
    amrex::Real(18965.516),
    // Xe
    amrex::Real(12.1298436), amrex::Real(20.975), amrex::Real(31.05),
    amrex::Real(42.20), amrex::Real(54.1), amrex::Real(66.703),
    amrex::Real(91.6), amrex::Real(105.9778), amrex::Real(179.84),
    amrex::Real(202.0), amrex::Real(229.02), amrex::Real(255.0),
    amrex::Real(281), amrex::Real(314), amrex::Real(343),
    amrex::Real(374), amrex::Real(404), amrex::Real(434),
    amrex::Real(549), amrex::Real(582), amrex::Real(616),
    amrex::Real(650), amrex::Real(700), amrex::Real(736),
    amrex::Real(818), amrex::Real(857.0), amrex::Real(1493),
    amrex::Real(1571), amrex::Real(1653), amrex::Real(1742),
    amrex::Real(1826), amrex::Real(1919), amrex::Real(2023),
    amrex::Real(2113), amrex::Real(2209), amrex::Real(2300),
    amrex::Real(2556), amrex::Real(2637), amrex::Real(2726),
    amrex::Real(2811), amrex::Real(2975), amrex::Real(3068),
    amrex::Real(3243), amrex::Real(3333.8), amrex::Real(7660),
    amrex::Real(7889), amrex::Real(8144), amrex::Real(8382),
    amrex::Real(8971), amrex::Real(9243), amrex::Real(9581),
    amrex::Real(9810.37), amrex::Real(40271.724), amrex::Real(41299.71),
    // Rn
    amrex::Real(10.74850), amrex::Real(21.4), amrex::Real(29.4),
    amrex::Real(36.9), amrex::Real(52.9), amrex::Real(64.0),
    amrex::Real(88.0), amrex::Real(102.0), amrex::Real(154.0),
    amrex::Real(173.9), amrex::Real(195.0), amrex::Real(218.0),
    amrex::Real(240), amrex::Real(264), amrex::Real(293),
    amrex::Real(317), amrex::Real(342), amrex::Real(367),
    amrex::Real(488), amrex::Real(520), amrex::Real(550),
    amrex::Real(580), amrex::Real(640), amrex::Real(680),
    amrex::Real(760), amrex::Real(800), amrex::Real(850),
    amrex::Real(920), amrex::Real(980), amrex::Real(1050),
    amrex::Real(1110), amrex::Real(1180), amrex::Real(1250),
    amrex::Real(1310), amrex::Real(1390), amrex::Real(1460),
    amrex::Real(1520), amrex::Real(1590), amrex::Real(1660),
    amrex::Real(1720), amrex::Real(2033), amrex::Real(2094),
    amrex::Real(2158), amrex::Real(2227), amrex::Real(2293),
    amrex::Real(2357), amrex::Real(2467), amrex::Real(2535),
    amrex::Real(2606), amrex::Real(2674), amrex::Real(2944),
    amrex::Real(3010), amrex::Real(3082), amrex::Real(3149),
    amrex::Real(3433), amrex::Real(3510), amrex::Real(3699),
    amrex::Real(3777), amrex::Real(6169), amrex::Real(6318),
    amrex::Real(6476), amrex::Real(6646), amrex::Real(6807),
    amrex::Real(6964), amrex::Real(7283), amrex::Real(7450),
    amrex::Real(7630), amrex::Real(7800), amrex::Real(8260),
    amrex::Real(8410), amrex::Real(8570), amrex::Real(8710),
    amrex::Real(9610), amrex::Real(9780), amrex::Real(10120),
    amrex::Real(10290), amrex::Real(21770), amrex::Real(22160),
    amrex::Real(22600), amrex::Real(22990), amrex::Real(26310),
    amrex::Real(26830), amrex::Real(27490), amrex::Real(27903.1),
    amrex::Real(110842.0), amrex::Real(112843.7)
};

#endif // #ifndef WARPX_IONIZATION_TABLE_H_