kim-api 2.3.0+AppleClang.AppleClang.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
Loading...
Searching...
No Matches
KIM_SpeciesName.hpp
Go to the documentation of this file.
1//
2// KIM-API: An API for interatomic models
3// Copyright (c) 2013--2022, Regents of the University of Minnesota.
4// All rights reserved.
5//
6// Contributors:
7// Ryan S. Elliott
8//
9// SPDX-License-Identifier: LGPL-2.1-or-later
10//
11// This library is free software; you can redistribute it and/or
12// modify it under the terms of the GNU Lesser General Public
13// License as published by the Free Software Foundation; either
14// version 2.1 of the License, or (at your option) any later version.
15//
16// This library is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19// Lesser General Public License for more details.
20//
21// You should have received a copy of the GNU Lesser General Public License
22// along with this library; if not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24//
25
26//
27// Release: This file is part of the kim-api-2.3.0 package.
28//
29
30
31#ifndef KIM_SPECIES_NAME_HPP_
32#define KIM_SPECIES_NAME_HPP_
33
34#include <string>
35
36namespace KIM
37{
47{
48 public:
59
64
70 SpeciesName(int const id);
71
79 SpeciesName(std::string const & str);
80
89 bool Known() const;
90
98 bool operator==(SpeciesName const & rhs) const;
99
107 bool operator!=(SpeciesName const & rhs) const;
108
119 std::string const & ToString() const;
120}; // class SpeciesName
121
124namespace SPECIES_NAME
125{
132extern SpeciesName const electron;
133
139extern SpeciesName const H;
140
146extern SpeciesName const He;
147
153extern SpeciesName const Li;
154
160extern SpeciesName const Be;
161
167extern SpeciesName const B;
168
174extern SpeciesName const C;
175
181extern SpeciesName const N;
182
188extern SpeciesName const O;
189
195extern SpeciesName const F;
196
202extern SpeciesName const Ne;
203
209extern SpeciesName const Na;
210
216extern SpeciesName const Mg;
217
223extern SpeciesName const Al;
224
230extern SpeciesName const Si;
231
237extern SpeciesName const P;
238
244extern SpeciesName const S;
245
251extern SpeciesName const Cl;
252
258extern SpeciesName const Ar;
259
265extern SpeciesName const K;
266
272extern SpeciesName const Ca;
273
279extern SpeciesName const Sc;
280
286extern SpeciesName const Ti;
287
293extern SpeciesName const V;
294
300extern SpeciesName const Cr;
301
307extern SpeciesName const Mn;
308
314extern SpeciesName const Fe;
315
321extern SpeciesName const Co;
322
328extern SpeciesName const Ni;
329
335extern SpeciesName const Cu;
336
342extern SpeciesName const Zn;
343
349extern SpeciesName const Ga;
350
356extern SpeciesName const Ge;
357
363extern SpeciesName const As;
364
370extern SpeciesName const Se;
371
377extern SpeciesName const Br;
378
384extern SpeciesName const Kr;
385
391extern SpeciesName const Rb;
392
398extern SpeciesName const Sr;
399
405extern SpeciesName const Y;
406
412extern SpeciesName const Zr;
413
419extern SpeciesName const Nb;
420
426extern SpeciesName const Mo;
427
433extern SpeciesName const Tc;
434
440extern SpeciesName const Ru;
441
447extern SpeciesName const Rh;
448
454extern SpeciesName const Pd;
455
461extern SpeciesName const Ag;
462
468extern SpeciesName const Cd;
469
475extern SpeciesName const In;
476
482extern SpeciesName const Sn;
483
489extern SpeciesName const Sb;
490
496extern SpeciesName const Te;
497
503extern SpeciesName const I;
504
510extern SpeciesName const Xe;
511
517extern SpeciesName const Cs;
518
524extern SpeciesName const Ba;
525
531extern SpeciesName const La;
532
538extern SpeciesName const Ce;
539
545extern SpeciesName const Pr;
546
552extern SpeciesName const Nd;
553
559extern SpeciesName const Pm;
560
566extern SpeciesName const Sm;
567
573extern SpeciesName const Eu;
574
580extern SpeciesName const Gd;
581
587extern SpeciesName const Tb;
588
594extern SpeciesName const Dy;
595
601extern SpeciesName const Ho;
602
608extern SpeciesName const Er;
609
615extern SpeciesName const Tm;
616
622extern SpeciesName const Yb;
623
629extern SpeciesName const Lu;
630
636extern SpeciesName const Hf;
637
643extern SpeciesName const Ta;
644
650extern SpeciesName const W;
651
657extern SpeciesName const Re;
658
664extern SpeciesName const Os;
665
671extern SpeciesName const Ir;
672
678extern SpeciesName const Pt;
679
685extern SpeciesName const Au;
686
692extern SpeciesName const Hg;
693
699extern SpeciesName const Tl;
700
706extern SpeciesName const Pb;
707
713extern SpeciesName const Bi;
714
720extern SpeciesName const Po;
721
727extern SpeciesName const At;
728
734extern SpeciesName const Rn;
735
741extern SpeciesName const Fr;
742
748extern SpeciesName const Ra;
749
755extern SpeciesName const Ac;
756
762extern SpeciesName const Th;
763
769extern SpeciesName const Pa;
770
776extern SpeciesName const U;
777
783extern SpeciesName const Np;
784
790extern SpeciesName const Pu;
791
797extern SpeciesName const Am;
798
804extern SpeciesName const Cm;
805
811extern SpeciesName const Bk;
812
818extern SpeciesName const Cf;
819
825extern SpeciesName const Es;
826
832extern SpeciesName const Fm;
833
839extern SpeciesName const Md;
840
846extern SpeciesName const No;
847
853extern SpeciesName const Lr;
854
860extern SpeciesName const Rf;
861
867extern SpeciesName const Db;
868
874extern SpeciesName const Sg;
875
881extern SpeciesName const Bh;
882
888extern SpeciesName const Hs;
889
895extern SpeciesName const Mt;
896
902extern SpeciesName const Ds;
903
909extern SpeciesName const Rg;
910
916extern SpeciesName const Cn;
917
923extern SpeciesName const Nh;
924
930extern SpeciesName const Fl;
931
937extern SpeciesName const Mc;
938
944extern SpeciesName const Lv;
945
951extern SpeciesName const Ts;
952
958extern SpeciesName const Og;
959
966extern SpeciesName const user01;
967
974extern SpeciesName const user02;
975
982extern SpeciesName const user03;
983
990extern SpeciesName const user04;
991
998extern SpeciesName const user05;
999
1006extern SpeciesName const user06;
1007
1014extern SpeciesName const user07;
1015
1022extern SpeciesName const user08;
1023
1030extern SpeciesName const user09;
1031
1038extern SpeciesName const user10;
1039
1046extern SpeciesName const user11;
1047
1054extern SpeciesName const user12;
1055
1062extern SpeciesName const user13;
1063
1070extern SpeciesName const user14;
1071
1078extern SpeciesName const user15;
1079
1086extern SpeciesName const user16;
1087
1094extern SpeciesName const user17;
1095
1102extern SpeciesName const user18;
1103
1110extern SpeciesName const user19;
1111
1118extern SpeciesName const user20;
1119
1120
1130void GetNumberOfSpeciesNames(int * const numberOfSpeciesNames);
1131
1146int GetSpeciesName(int const index, SpeciesName * const speciesName);
1147
1152{
1157 bool operator()(SpeciesName const & a, SpeciesName const & b) const
1158 {
1159 return a.speciesNameID < b.speciesNameID;
1160 }
1161}; // struct Comparator
1162} // namespace SPECIES_NAME
1163} // namespace KIM
1164
1165#endif // KIM_SPECIES_NAME_HPP_
An Extensible Enumeration for the SpeciesName's supported by the KIM API.
int speciesNameID
Integer identifying the specific SpeciesName represented.
bool Known() const
Determines if the object is a quantity known to the KIM API.
bool operator==(SpeciesName const &rhs) const
Compares SpeciesName objects for equality.
SpeciesName(std::string const &str)
Create a SpeciesName object corresponding to the provided string. If the string does not match one of...
SpeciesName()
Create an uninitialized SpeciesName object.
bool operator!=(SpeciesName const &rhs) const
Compares SpeciesName objects for inequality.
SpeciesName(int const id)
Create a SpeciesName object with the specified id.
std::string const & ToString() const
Converts the object to a string.
SpeciesName const Cl
The standard Chlorine species.
SpeciesName const user18
The standard user18 species.
SpeciesName const user03
The standard user03 species.
SpeciesName const Ba
The standard Barium species.
SpeciesName const Cm
The standard Curium species.
SpeciesName const Mn
The standard Manganese species.
SpeciesName const Mo
The standard Molybdenum species.
SpeciesName const I
The standard Iodine species.
SpeciesName const Np
The standard Neptunium species.
SpeciesName const No
The standard Nobelium species.
SpeciesName const U
The standard Uranium species.
SpeciesName const Rn
The standard Radon species.
SpeciesName const Al
The standard Aluminum species.
SpeciesName const Fe
The standard Iron species.
SpeciesName const Cu
The standard Copper species.
SpeciesName const Sr
The standard Strontium species.
SpeciesName const Ce
The standard Cerium species.
SpeciesName const Mg
The standard Magnesium species.
SpeciesName const Zn
The standard Zinc species.
SpeciesName const Ds
The standard Darmstadtium species.
SpeciesName const Am
The standard Americium species.
SpeciesName const Pd
The standard Palladium species.
SpeciesName const Rb
The standard Rubidium species.
SpeciesName const Nh
The standard Nihonium species.
SpeciesName const Og
The standard Oganesson species.
SpeciesName const Ti
The standard Titanium species.
SpeciesName const Bk
The standard Berkelium species.
SpeciesName const Fr
The standard Francium species.
SpeciesName const Ru
The standard Ruthenium species.
SpeciesName const user10
The standard user10 species.
SpeciesName const Tc
The standard Technetium species.
SpeciesName const Sm
The standard Samarium species.
SpeciesName const user04
The standard user04 species.
SpeciesName const Li
The standard Lithium species.
SpeciesName const Nb
The standard Niobium species.
SpeciesName const Yb
The standard Ytterbium species.
SpeciesName const H
The standard Hydrogen species.
SpeciesName const Es
The standard Einsteinium species.
SpeciesName const Hg
The standard Mercury species.
SpeciesName const Si
The standard Silicon species.
SpeciesName const Be
The standard Beryllium species.
void GetNumberOfSpeciesNames(int *const numberOfSpeciesNames)
Get the number of standard SpeciesName's defined by the KIM API.
SpeciesName const Mc
The standard Moscovium species.
SpeciesName const user11
The standard user11 species.
SpeciesName const Eu
The standard Europium species.
SpeciesName const Te
The standard Tellurium species.
SpeciesName const Dy
The standard Dysprosium species.
SpeciesName const Bi
The standard Bismuth species.
SpeciesName const Rf
The standard Rutherfordium species.
SpeciesName const Bh
The standard Bohrium species.
SpeciesName const Ra
The standard Radium species.
SpeciesName const user02
The standard user02 species.
SpeciesName const Fl
The standard Flerovium species.
SpeciesName const Sg
The standard Seaborgium species.
int GetSpeciesName(int const index, SpeciesName *const speciesName)
Get the identity of each defined standard SpeciesName.
SpeciesName const Rg
The standard Roentgenium species.
SpeciesName const Br
The standard Bromine species.
SpeciesName const user16
The standard user16 species.
SpeciesName const Na
The standard Sodium species.
SpeciesName const Lr
The standard Lawrencium species.
SpeciesName const Au
The standard Gold species.
SpeciesName const At
The standard Astatine species.
SpeciesName const Kr
The standard Krypton species.
SpeciesName const Ta
The standard Tantalum species.
SpeciesName const Pa
The standard Protactinium species.
SpeciesName const Zr
The standard Zirconium species.
SpeciesName const Po
The standard Polonium species.
SpeciesName const Sc
The standard Scandium species.
SpeciesName const Pt
The standard Platinum species.
SpeciesName const Ar
The standard Argon species.
SpeciesName const Cf
The standard Californium species.
SpeciesName const Ca
The standard Calcium species.
SpeciesName const Sn
The standard Tin species.
SpeciesName const V
The standard Vanadium species.
SpeciesName const Lu
The standard Lutetium species.
SpeciesName const Cr
The standard Chromium species.
SpeciesName const user15
The standard user15 species.
SpeciesName const Pb
The standard Lead species.
SpeciesName const Ni
The standard Nickel species.
SpeciesName const La
The standard Lanthanum species.
SpeciesName const Ga
The standard Gallium species.
SpeciesName const S
The standard Sulfur species.
SpeciesName const user13
The standard user13 species.
SpeciesName const Cs
The standard Cesium species.
SpeciesName const Pm
The standard Promethium species.
SpeciesName const O
The standard Oxygen species.
SpeciesName const Fm
The standard Fermium species.
SpeciesName const Ag
The standard Silver species.
SpeciesName const Ts
The standard Tennessine species.
SpeciesName const C
The standard Carbon species.
SpeciesName const Lv
The standard Livermorium species.
SpeciesName const B
The standard Boron species.
SpeciesName const Sb
The standard Antimony species.
SpeciesName const Co
The standard Cobalt species.
SpeciesName const Os
The standard Osmium species.
SpeciesName const Hs
The standard Hassium species.
SpeciesName const Re
The standard Rhenium species.
SpeciesName const Tb
The standard Terbium species.
SpeciesName const electron
The standard electron species.
SpeciesName const He
The standard Helium species.
SpeciesName const P
The standard Phosphorus species.
SpeciesName const As
The standard Arsenic species.
SpeciesName const user17
The standard user17 species.
SpeciesName const Ac
The standard Actinium species.
SpeciesName const Mt
The standard Meitnerium species.
SpeciesName const Xe
The standard Xenon species.
SpeciesName const user07
The standard user07 species.
SpeciesName const F
The standard Fluorine species.
SpeciesName const Tl
The standard Thallium species.
SpeciesName const user20
The standard user20 species.
SpeciesName const Gd
The standard Gadolinium species.
SpeciesName const Cn
The standard Copernicium species.
SpeciesName const Rh
The standard Rhodium species.
SpeciesName const K
The standard Potassium species.
SpeciesName const user19
The standard user19 species.
SpeciesName const Hf
The standard Hafnium species.
SpeciesName const user06
The standard user06 species.
SpeciesName const Ir
The standard Iridium species.
SpeciesName const Tm
The standard Thulium species.
SpeciesName const Nd
The standard Neodymium species.
SpeciesName const In
The standard Indium species.
SpeciesName const Db
The standard Dubnium species.
SpeciesName const W
The standard Tungsten species.
SpeciesName const user14
The standard user14 species.
SpeciesName const Er
The standard Erbium species.
SpeciesName const user09
The standard user09 species.
SpeciesName const Th
The standard Thorium species.
SpeciesName const user01
The standard user01 species.
SpeciesName const Ge
The standard Germanium species.
SpeciesName const Y
The standard Yttrium species.
SpeciesName const Pr
The standard Praseodymium species.
SpeciesName const Md
The standard Mendelevium species.
SpeciesName const user08
The standard user08 species.
SpeciesName const Ho
The standard Holmium species.
SpeciesName const user12
The standard user12 species.
SpeciesName const Pu
The standard Plutonium species.
SpeciesName const Se
The standard Selenium species.
SpeciesName const Cd
The standard Cadmium species.
SpeciesName const user05
The standard user05 species.
SpeciesName const Ne
The standard Neon species.
SpeciesName const N
The standard Nitrogen species.
Structure provided for use with std::map.
bool operator()(SpeciesName const &a, SpeciesName const &b) const
Provides an (logically unmeaningful) ordering for SpeciesName objects so that they can be stored in a...