File ElementTypes.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils

Enums

enum ElementType

Enum class defining all elements and isotopes.

Values:

none = 0
H = 1
He = 2
Li = 3
Be = detail::isotope(4, )
B = 5
C = 6
N = 7
O = 8
F = detail::isotope(9, )
Ne = 10
Na = detail::isotope(11, )
Mg = 12
Al = detail::isotope(13, )
Si = 14
P = detail::isotope(15, )
S = 16
Cl = 17
Ar = 18
K = 19
Ca = 20
Sc = detail::isotope(21, )
Ti = 22
V = 23
Cr = 24
Mn = detail::isotope(25, )
Fe = 26
Co = detail::isotope(27, )
Ni = 28
Cu = 29
Zn = 30
Ga = 31
Ge = 32
As = detail::isotope(33, )
Se = 34
Br = 35
Kr = 36
Rb = 37
Sr = 38
Y = detail::isotope(39, )
Zr = 40
Nb = detail::isotope(41, )
Mo = 42
Tc = 43
Ru = 44
Rh = detail::isotope(45, )
Pd = 46
Ag = 47
Cd = 48
In = 49
Sn = 50
Sb = 51
Te = 52
I = detail::isotope(53, )
Xe = 54
Cs = detail::isotope(55, )
Ba = 56
La = 57
Ce = 58
Pr = detail::isotope(59, )
Nd = 60
Pm = 61
Sm = 62
Eu = 63
Gd = 64
Tb = detail::isotope(65, )
Dy = 66
Ho = detail::isotope(67, )
Er = 68
Tm = detail::isotope(69, )
Yb = 70
Lu = 71
Hf = 72
Ta = 73
W = 74
Re = 75
Os = 76
Ir = 77
Pt = 78
Au = detail::isotope(79, )
Hg = 80
Tl = 81
Pb = 82
Bi = detail::isotope(83, )
Po = 84
At = 85
Rn = 86
Fr = detail::isotope(87, )
Ra = 88
Ac = detail::isotope(89, )
Th = 90
Pa = detail::isotope(91, )
U = 92
Np = 93
Pu = 94
Am = 95
Cm = 96
Bk = 97
Cf = 98
Es = detail::isotope(99, )
Fm = detail::isotope(100, )
Md = 101
No = detail::isotope(102, )
Lr = detail::isotope(103, )
Rf = detail::isotope(104, )
Db = detail::isotope(105, )
Sg = detail::isotope(106, )
Bh = detail::isotope(107, )
Hs = detail::isotope(108, )
Mt = detail::isotope(109, )
Ds = detail::isotope(110, )
Rg = detail::isotope(111, )
Cn = detail::isotope(112, )
H1 = detail::isotope(1, )
D = detail::isotope(1, )
T = detail::isotope(1, )
He3 = detail::isotope(2, )
He4 = detail::isotope(2, )
Li6 = detail::isotope(3, )
Li7 = detail::isotope(3, )
Be9 = Be
B10 = detail::isotope(5, )
B11 = detail::isotope(5, )
C12 = detail::isotope(6, )
C13 = detail::isotope(6, )
C14 = detail::isotope(6, )
N14 = detail::isotope(7, )
N15 = detail::isotope(7, )
O16 = detail::isotope(8, )
O17 = detail::isotope(8, )
O18 = detail::isotope(8, )
F19 = F
Ne20 = detail::isotope(10, )
Ne21 = detail::isotope(10, )
Ne22 = detail::isotope(10, )
Na23 = Na
Mg24 = detail::isotope(12, )
Mg25 = detail::isotope(12, )
Mg26 = detail::isotope(12, )
Al27 = Al
Si28 = detail::isotope(14, )
Si29 = detail::isotope(14, )
Si30 = detail::isotope(14, )
P31 = P
S32 = detail::isotope(16, )
S33 = detail::isotope(16, )
S34 = detail::isotope(16, )
S36 = detail::isotope(16, )
Cl35 = detail::isotope(17, )
Cl37 = detail::isotope(17, )
Ar36 = detail::isotope(18, )
Ar38 = detail::isotope(18, )
Ar40 = detail::isotope(18, )
K39 = detail::isotope(19, )
K40 = detail::isotope(19, )
K41 = detail::isotope(19, )
Ca40 = detail::isotope(20, )
Ca42 = detail::isotope(20, )
Ca43 = detail::isotope(20, )
Ca44 = detail::isotope(20, )
Ca46 = detail::isotope(20, )
Ca48 = detail::isotope(20, )
Sc45 = Sc
Ti46 = detail::isotope(22, )
Ti47 = detail::isotope(22, )
Ti48 = detail::isotope(22, )
Ti49 = detail::isotope(22, )
Ti50 = detail::isotope(22, )
V50 = detail::isotope(23, )
V51 = detail::isotope(23, )
Cr50 = detail::isotope(24, )
Cr52 = detail::isotope(24, )
Cr53 = detail::isotope(24, )
Cr54 = detail::isotope(24, )
Mn55 = Mn
Fe54 = detail::isotope(26, )
Fe56 = detail::isotope(26, )
Fe57 = detail::isotope(26, )
Fe58 = detail::isotope(26, )
Co59 = Co
Ni58 = detail::isotope(28, )
Ni60 = detail::isotope(28, )
Ni61 = detail::isotope(28, )
Ni62 = detail::isotope(28, )
Ni64 = detail::isotope(28, )
Cu63 = detail::isotope(29, )
Cu65 = detail::isotope(29, )
Zn64 = detail::isotope(30, )
Zn66 = detail::isotope(30, )
Zn67 = detail::isotope(30, )
Zn68 = detail::isotope(30, )
Zn70 = detail::isotope(30, )
Ga69 = detail::isotope(31, )
Ga71 = detail::isotope(31, )
Ge70 = detail::isotope(32, )
Ge72 = detail::isotope(32, )
Ge73 = detail::isotope(32, )
Ge74 = detail::isotope(32, )
Ge76 = detail::isotope(32, )
As75 = As
Se74 = detail::isotope(34, )
Se76 = detail::isotope(34, )
Se77 = detail::isotope(34, )
Se78 = detail::isotope(34, )
Se80 = detail::isotope(34, )
Se82 = detail::isotope(34, )
Br79 = detail::isotope(35, )
Br81 = detail::isotope(35, )
Kr78 = detail::isotope(36, )
Kr80 = detail::isotope(36, )
Kr82 = detail::isotope(36, )
Kr83 = detail::isotope(36, )
Kr84 = detail::isotope(36, )
Kr86 = detail::isotope(36, )
Rb85 = detail::isotope(37, )
Rb87 = detail::isotope(37, )
Sr84 = detail::isotope(38, )
Sr86 = detail::isotope(38, )
Sr87 = detail::isotope(38, )
Sr88 = detail::isotope(38, )
Y89 = Y
Zr90 = detail::isotope(40, )
Zr91 = detail::isotope(40, )
Zr92 = detail::isotope(40, )
Zr94 = detail::isotope(40, )
Zr96 = detail::isotope(40, )
Nb93 = Nb
Mo92 = detail::isotope(42, )
Mo94 = detail::isotope(42, )
Mo95 = detail::isotope(42, )
Mo96 = detail::isotope(42, )
Mo97 = detail::isotope(42, )
Mo98 = detail::isotope(42, )
Mo100 = detail::isotope(42, )
Tc97 = detail::isotope(43, )
Tc98 = detail::isotope(43, )
Tc99 = detail::isotope(43, )
Ru96 = detail::isotope(44, )
Ru98 = detail::isotope(44, )
Ru99 = detail::isotope(44, )
Ru100 = detail::isotope(44, )
Ru101 = detail::isotope(44, )
Ru102 = detail::isotope(44, )
Ru104 = detail::isotope(44, )
Rh103 = Rh
Pd102 = detail::isotope(46, )
Pd104 = detail::isotope(46, )
Pd105 = detail::isotope(46, )
Pd106 = detail::isotope(46, )
Pd108 = detail::isotope(46, )
Pd110 = detail::isotope(46, )
Ag107 = detail::isotope(47, )
Ag109 = detail::isotope(47, )
Cd106 = detail::isotope(48, )
Cd108 = detail::isotope(48, )
Cd110 = detail::isotope(48, )
Cd111 = detail::isotope(48, )
Cd112 = detail::isotope(48, )
Cd113 = detail::isotope(48, )
Cd114 = detail::isotope(48, )
Cd116 = detail::isotope(48, )
In113 = detail::isotope(49, )
In115 = detail::isotope(49, )
Sn112 = detail::isotope(50, )
Sn114 = detail::isotope(50, )
Sn115 = detail::isotope(50, )
Sn116 = detail::isotope(50, )
Sn117 = detail::isotope(50, )
Sn118 = detail::isotope(50, )
Sn119 = detail::isotope(50, )
Sn120 = detail::isotope(50, )
Sn122 = detail::isotope(50, )
Sn124 = detail::isotope(50, )
Sb121 = detail::isotope(51, )
Sb123 = detail::isotope(51, )
Te120 = detail::isotope(52, )
Te122 = detail::isotope(52, )
Te123 = detail::isotope(52, )
Te124 = detail::isotope(52, )
Te125 = detail::isotope(52, )
Te126 = detail::isotope(52, )
Te128 = detail::isotope(52, )
Te130 = detail::isotope(52, )
I127 = I
Xe124 = detail::isotope(54, )
Xe126 = detail::isotope(54, )
Xe128 = detail::isotope(54, )
Xe129 = detail::isotope(54, )
Xe130 = detail::isotope(54, )
Xe131 = detail::isotope(54, )
Xe132 = detail::isotope(54, )
Xe134 = detail::isotope(54, )
Xe136 = detail::isotope(54, )
Cs133 = Cs
Ba130 = detail::isotope(56, )
Ba132 = detail::isotope(56, )
Ba134 = detail::isotope(56, )
Ba135 = detail::isotope(56, )
Ba136 = detail::isotope(56, )
Ba137 = detail::isotope(56, )
Ba138 = detail::isotope(56, )
La138 = detail::isotope(57, )
La139 = detail::isotope(57, )
Ce136 = detail::isotope(58, )
Ce138 = detail::isotope(58, )
Ce140 = detail::isotope(58, )
Ce142 = detail::isotope(58, )
Pr141 = Pr
Nd142 = detail::isotope(60, )
Nd143 = detail::isotope(60, )
Nd144 = detail::isotope(60, )
Nd145 = detail::isotope(60, )
Nd146 = detail::isotope(60, )
Nd148 = detail::isotope(60, )
Nd150 = detail::isotope(60, )
Pm145 = detail::isotope(61, )
Pm147 = detail::isotope(61, )
Sm144 = detail::isotope(62, )
Sm147 = detail::isotope(62, )
Sm148 = detail::isotope(62, )
Sm149 = detail::isotope(62, )
Sm150 = detail::isotope(62, )
Sm152 = detail::isotope(62, )
Sm154 = detail::isotope(62, )
Eu151 = detail::isotope(63, )
Eu153 = detail::isotope(63, )
Gd152 = detail::isotope(64, )
Gd154 = detail::isotope(64, )
Gd155 = detail::isotope(64, )
Gd156 = detail::isotope(64, )
Gd157 = detail::isotope(64, )
Gd158 = detail::isotope(64, )
Gd160 = detail::isotope(64, )
Tb159 = Tb
Dy156 = detail::isotope(66, )
Dy158 = detail::isotope(66, )
Dy160 = detail::isotope(66, )
Dy161 = detail::isotope(66, )
Dy162 = detail::isotope(66, )
Dy163 = detail::isotope(66, )
Dy164 = detail::isotope(66, )
Ho165 = Ho
Er162 = detail::isotope(68, )
Er164 = detail::isotope(68, )
Er166 = detail::isotope(68, )
Er167 = detail::isotope(68, )
Er168 = detail::isotope(68, )
Er170 = detail::isotope(68, )
Tm169 = Tm
Yb168 = detail::isotope(70, )
Yb170 = detail::isotope(70, )
Yb171 = detail::isotope(70, )
Yb172 = detail::isotope(70, )
Yb173 = detail::isotope(70, )
Yb174 = detail::isotope(70, )
Yb176 = detail::isotope(70, )
Lu175 = detail::isotope(71, )
Lu176 = detail::isotope(71, )
Hf174 = detail::isotope(72, )
Hf176 = detail::isotope(72, )
Hf177 = detail::isotope(72, )
Hf178 = detail::isotope(72, )
Hf179 = detail::isotope(72, )
Hf180 = detail::isotope(72, )
Ta180 = detail::isotope(73, )
Ta181 = detail::isotope(73, )
W180 = detail::isotope(74, )
W182 = detail::isotope(74, )
W183 = detail::isotope(74, )
W184 = detail::isotope(74, )
W186 = detail::isotope(74, )
Re185 = detail::isotope(75, )
Re187 = detail::isotope(75, )
Os184 = detail::isotope(76, )
Os186 = detail::isotope(76, )
Os187 = detail::isotope(76, )
Os188 = detail::isotope(76, )
Os189 = detail::isotope(76, )
Os190 = detail::isotope(76, )
Os192 = detail::isotope(76, )
Ir191 = detail::isotope(77, )
Ir193 = detail::isotope(77, )
Pt190 = detail::isotope(78, )
Pt192 = detail::isotope(78, )
Pt194 = detail::isotope(78, )
Pt195 = detail::isotope(78, )
Pt196 = detail::isotope(78, )
Pt198 = detail::isotope(78, )
Au197 = Au
Hg196 = detail::isotope(80, )
Hg198 = detail::isotope(80, )
Hg199 = detail::isotope(80, )
Hg200 = detail::isotope(80, )
Hg201 = detail::isotope(80, )
Hg202 = detail::isotope(80, )
Hg204 = detail::isotope(80, )
Tl203 = detail::isotope(81, )
Tl205 = detail::isotope(81, )
Pb204 = detail::isotope(82, )
Pb206 = detail::isotope(82, )
Pb207 = detail::isotope(82, )
Pb208 = detail::isotope(82, )
Bi209 = Bi
Po209 = detail::isotope(84, )
Po210 = detail::isotope(84, )
At210 = detail::isotope(85, )
At211 = detail::isotope(85, )
Rn211 = detail::isotope(86, )
Rn220 = detail::isotope(86, )
Rn222 = detail::isotope(86, )
Fr223 = Fr
Ra223 = detail::isotope(88, )
Ra224 = detail::isotope(88, )
Ra226 = detail::isotope(88, )
Ra228 = detail::isotope(88, )
Ac227 = Ac
Th230 = detail::isotope(90, )
Th232 = detail::isotope(90, )
Pa231 = Pa
U233 = detail::isotope(92, )
U234 = detail::isotope(92, )
U235 = detail::isotope(92, )
U236 = detail::isotope(92, )
U238 = detail::isotope(92, )
Np236 = detail::isotope(93, )
Np237 = detail::isotope(93, )
Pu238 = detail::isotope(94, )
Pu239 = detail::isotope(94, )
Pu240 = detail::isotope(94, )
Pu241 = detail::isotope(94, )
Pu242 = detail::isotope(94, )
Pu244 = detail::isotope(94, )
Am241 = detail::isotope(95, )
Am243 = detail::isotope(95, )
Cm243 = detail::isotope(96, )
Cm244 = detail::isotope(96, )
Cm245 = detail::isotope(96, )
Cm246 = detail::isotope(96, )
Cm247 = detail::isotope(96, )
Cm248 = detail::isotope(96, )
Bk247 = detail::isotope(97, )
Bk249 = detail::isotope(97, )
Cf249 = detail::isotope(98, )
Cf250 = detail::isotope(98, )
Cf251 = detail::isotope(98, )
Cf252 = detail::isotope(98, )
Es252 = Es
Fm257 = Fm
Md258 = detail::isotope(101, )
Md260 = detail::isotope(101, )
No259 = No
Lr262 = Lr
Rf267 = Rf
Db268 = Db
Sg271 = Sg
Bh272 = Bh
Hs270 = Hs
Mt276 = Mt
Ds281 = Ds
Rg280 = Rg
Cn285 = Cn
namespace detail

Functions

constexpr unsigned isotope(const unsigned Z, const unsigned A)