Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
Public Types | Static Public Member Functions | List of all members
HF Class Reference

#include <hf.h>

Public Types

enum  AtomOrbitalType { sOrbitalType, pOrbitalType, dOrbitalType, fOrbitalType }
 
enum  AtomType {
  Unknown, Hydrogen, Helium, Lithium,
  Beryllium, Boron, Carbon, Nitrogen,
  Oxygen, Fluorine, Neon, Sodium,
  Magnesium, Aluminum, Silicon, Phosphorus,
  Sulfur, Chlorine, Argon, Potassium,
  Calcium, Scandium, Titanium, Vanadium,
  Chromium, Manganese, Iron, Cobalt,
  Nickel, Copper, Zinc, Gallium,
  Germanium, Arsenic, Selenium, Bromine,
  Krypton, Rubidium, Strontium, Yttrium,
  Zirconium, Niobium, Molybdenum, Technetium,
  Ruthenium, Rhodium, Palladium, Silver,
  Cadmium, Indium, Tin, Antimony,
  Tellurium, Iodine, Xenon, Cesium,
  Barium, Lanthanum, Cerium, Praseodymium,
  Neodymium, Promethium, Samarium, Europium,
  Gadolinium, Terbium, Dysprosium, Holmium,
  Erbium, Thulium, Ytterbium, Lutetium,
  Hafnium, Tantalum, Tungsten, Rhenium,
  Osmium, Iridium, Platinum, Gold,
  Mercury, Thallium, Lead, Bismuth,
  Polonium, Astatine, Radon, Francium,
  Radium, Actinium, Thorium, Protactinium,
  Uranium, Neptunium, Plutonium, Americium,
  Curium, Berkelium, Californium, Einsteinium,
  Fermium, Mendelevium, Nobelium, Lawrencium,
  Rutherfordium, Dubnium, Seaborgium, Bohrium,
  Hassium, Meitnerium, Darmstadtium, Roentgenium,
  Copernicium, Ununtrium, Flerovium, Ununpentium,
  Livermorium, Ununseptium, Ununoctium
}
 

Static Public Member Functions

static std::string escapeBasis (std::string basisName)
 
static std::string filenameFromAtomAndBasis (AtomType type, std::string basisName)
 
static std::string filenameFromAtomAndBasis (std::string abbreviation, std::string basisName)
 
static AtomType abbreviationToAtomType (std::string abbreviation)
 

Detailed Description

Definition at line 39 of file hf.h.

Member Enumeration Documentation

Enumerator
sOrbitalType 
pOrbitalType 
dOrbitalType 
fOrbitalType 

Definition at line 42 of file hf.h.

42  {
47  };
Enumerator
Unknown 
Hydrogen 
Helium 
Lithium 
Beryllium 
Boron 
Carbon 
Nitrogen 
Oxygen 
Fluorine 
Neon 
Sodium 
Magnesium 
Aluminum 
Silicon 
Phosphorus 
Sulfur 
Chlorine 
Argon 
Potassium 
Calcium 
Scandium 
Titanium 
Vanadium 
Chromium 
Manganese 
Iron 
Cobalt 
Nickel 
Copper 
Zinc 
Gallium 
Germanium 
Arsenic 
Selenium 
Bromine 
Krypton 
Rubidium 
Strontium 
Yttrium 
Zirconium 
Niobium 
Molybdenum 
Technetium 
Ruthenium 
Rhodium 
Palladium 
Silver 
Cadmium 
Indium 
Tin 
Antimony 
Tellurium 
Iodine 
Xenon 
Cesium 
Barium 
Lanthanum 
Cerium 
Praseodymium 
Neodymium 
Promethium 
Samarium 
Europium 
Gadolinium 
Terbium 
Dysprosium 
Holmium 
Erbium 
Thulium 
Ytterbium 
Lutetium 
Hafnium 
Tantalum 
Tungsten 
Rhenium 
Osmium 
Iridium 
Platinum 
Gold 
Mercury 
Thallium 
Lead 
Bismuth 
Polonium 
Astatine 
Radon 
Francium 
Radium 
Actinium 
Thorium 
Protactinium 
Uranium 
Neptunium 
Plutonium 
Americium 
Curium 
Berkelium 
Californium 
Einsteinium 
Fermium 
Mendelevium 
Nobelium 
Lawrencium 
Rutherfordium 
Dubnium 
Seaborgium 
Bohrium 
Hassium 
Meitnerium 
Darmstadtium 
Roentgenium 
Copernicium 
Ununtrium 
Flerovium 
Ununpentium 
Livermorium 
Ununseptium 
Ununoctium 

Definition at line 49 of file hf.h.

49  {
50  Unknown,
51  Hydrogen,
52  Helium,
53  Lithium,
54  Beryllium,
55  Boron,
56  Carbon,
57  Nitrogen,
58  Oxygen,
59  Fluorine,
60  Neon,
61  Sodium,
62  Magnesium,
63  Aluminum,
64  Silicon,
65  Phosphorus,
66  Sulfur,
67  Chlorine,
68  Argon,
69  Potassium,
70  Calcium,
71  Scandium,
72  Titanium,
73  Vanadium,
74  Chromium,
75  Manganese,
76  Iron,
77  Cobalt,
78  Nickel,
79  Copper,
80  Zinc,
81  Gallium,
82  Germanium,
83  Arsenic,
84  Selenium,
85  Bromine,
86  Krypton,
87  Rubidium,
88  Strontium,
89  Yttrium,
90  Zirconium,
91  Niobium,
92  Molybdenum,
93  Technetium,
94  Ruthenium,
95  Rhodium,
96  Palladium,
97  Silver,
98  Cadmium,
99  Indium,
100  Tin,
101  Antimony,
102  Tellurium,
103  Iodine,
104  Xenon,
105  Cesium,
106  Barium,
107  Lanthanum,
108  Cerium,
109  Praseodymium,
110  Neodymium,
111  Promethium,
112  Samarium,
113  Europium,
114  Gadolinium,
115  Terbium,
116  Dysprosium,
117  Holmium,
118  Erbium,
119  Thulium,
120  Ytterbium,
121  Lutetium,
122  Hafnium,
123  Tantalum,
124  Tungsten,
125  Rhenium,
126  Osmium,
127  Iridium,
128  Platinum,
129  Gold,
130  Mercury,
131  Thallium,
132  Lead,
133  Bismuth,
134  Polonium,
135  Astatine,
136  Radon,
137  Francium,
138  Radium,
139  Actinium,
140  Thorium,
141  Protactinium,
142  Uranium,
143  Neptunium,
144  Plutonium,
145  Americium,
146  Curium,
147  Berkelium,
148  Californium,
149  Einsteinium,
150  Fermium,
151  Mendelevium,
152  Nobelium,
153  Lawrencium,
155  Dubnium,
156  Seaborgium,
157  Bohrium,
158  Hassium,
159  Meitnerium,
160  Darmstadtium,
161  Roentgenium,
162  Copernicium,
163  Ununtrium,
164  Flerovium,
165  Ununpentium,
166  Livermorium,
167  Ununseptium,
168  Ununoctium
169  };

Member Function Documentation

static AtomType HF::abbreviationToAtomType ( std::string  abbreviation)
inlinestatic

Definition at line 200 of file hf.h.

200  {
201  std::unordered_map<std::string, AtomType, ihash, iequal_to> abbreviationMap {
202  {"H",Hydrogen},
203  {"He",Helium},
204  {"Li",Lithium},
205  {"Be",Beryllium},
206  {"B",Boron},
207  {"C",Carbon},
208  {"N",Nitrogen},
209  {"O",Oxygen},
210  {"F",Fluorine},
211  {"Ne",Neon},
212  {"Na",Sodium},
213  {"Mg",Magnesium},
214  {"Al",Aluminum},
215  {"Si",Silicon},
216  {"P",Phosphorus},
217  {"S",Sulfur},
218  {"Cl",Chlorine},
219  {"Ar",Argon},
220  {"K",Potassium},
221  {"Ca",Calcium},
222  {"Sc",Scandium},
223  {"Ti",Titanium},
224  {"V",Vanadium},
225  {"Cr",Chromium},
226  {"Mn",Manganese},
227  {"Fe",Iron},
228  {"Co",Cobalt},
229  {"Ni",Nickel},
230  {"Cu",Copper},
231  {"Zn",Zinc},
232  {"Ga",Gallium},
233  {"Ge",Germanium},
234  {"As",Arsenic},
235  {"Se",Selenium},
236  {"Br",Bromine},
237  {"Kr",Krypton},
238  {"Rb",Rubidium},
239  {"Sr",Strontium},
240  {"Y",Yttrium},
241  {"Zr",Zirconium},
242  {"Nb",Niobium},
243  {"Mo",Molybdenum},
244  {"Tc",Technetium},
245  {"Ru",Ruthenium},
246  {"Rh",Rhodium},
247  {"Pd",Palladium},
248  {"Ag",Silver},
249  {"Cd",Cadmium},
250  {"In",Indium},
251  {"Sn",Tin},
252  {"Sb",Antimony},
253  {"Te",Tellurium},
254  {"I",Iodine},
255  {"Xe",Xenon},
256  {"Cs",Cesium},
257  {"Ba",Barium},
258  {"La",Lanthanum},
259  {"Ce",Cerium},
260  {"Pr",Praseodymium},
261  {"Nd",Neodymium},
262  {"Pm",Promethium},
263  {"Sm",Samarium},
264  {"Eu",Europium},
265  {"Gd",Gadolinium},
266  {"Tb",Terbium},
267  {"Dy",Dysprosium},
268  {"Ho",Holmium},
269  {"Er",Erbium},
270  {"Tm",Thulium},
271  {"Yb",Ytterbium},
272  {"Lu",Lutetium},
273  {"Hf",Hafnium},
274  {"Ta",Tantalum},
275  {"W",Tungsten},
276  {"Re",Rhenium},
277  {"Os",Osmium},
278  {"Ir",Iridium},
279  {"Pt",Platinum},
280  {"Au",Gold},
281  {"Hg",Mercury},
282  {"Tl",Thallium},
283  {"Pb",Lead},
284  {"Bi",Bismuth},
285  {"Po",Polonium},
286  {"At",Astatine},
287  {"Rn",Radon},
288  {"Fr",Francium},
289  {"Ra",Radium},
290  {"Ac",Actinium},
291  {"Th",Thorium},
292  {"Pa",Protactinium},
293  {"U",Uranium},
294  {"Np",Neptunium},
295  {"Pu",Plutonium},
296  {"Am",Americium},
297  {"Cm",Curium},
298  {"Bk",Berkelium},
299  {"Cf",Californium},
300  {"Es",Einsteinium},
301  {"Fm",Fermium},
302  {"Md",Mendelevium},
303  {"No",Nobelium},
304  {"Lr",Lawrencium},
305  {"Rf",Rutherfordium},
306  {"Db",Dubnium},
307  {"Sg",Seaborgium},
308  {"Bh",Bohrium},
309  {"Hs",Hassium},
310  {"Mt",Meitnerium},
311  {"Ds",Darmstadtium},
312  {"Rg",Roentgenium},
313  {"Cn",Copernicium},
314  {"Uut",Ununtrium},
315  {"Fl",Flerovium},
316  {"Uup",Ununpentium},
317  {"Lv",Livermorium},
318  {"Uus",Ununseptium},
319  {"Uuo",Ununoctium}
320  };
321  if(abbreviationMap.find(abbreviation) != abbreviationMap.end()) {
322  return abbreviationMap.find(abbreviation)->second;
323  } else {
324  return Unknown;
325  }
326  }
static std::string HF::escapeBasis ( std::string  basisName)
inlinestatic

Definition at line 171 of file hf.h.

171  {
172  std::string basisNameEscaped = boost::regex_replace(basisName, boost::regex("\\*"), "ds");
173  basisNameEscaped = boost::regex_replace(basisNameEscaped, boost::regex(" "), "_");
174  return basisNameEscaped;
175  }
static std::string HF::filenameFromAtomAndBasis ( AtomType  type,
std::string  basisName 
)
inlinestatic

Definition at line 177 of file hf.h.

177  {
178  std::stringstream fileNameBuilder;
179  std::stringstream atomTypeBuilder;
180  atomTypeBuilder << type;
181 
182  std::string basisNameEscaped = escapeBasis(basisName);
183 
184  std::string atomTypeString = atomTypeBuilder.str();
185  fileNameBuilder << "atom_" << atomTypeString << "_basis_" << basisNameEscaped << ".tm";
186 
187  std::string filename = fileNameBuilder.str();
188  return filename;
189  }
static std::string HF::filenameFromAtomAndBasis ( std::string  abbreviation,
std::string  basisName 
)
inlinestatic

Definition at line 191 of file hf.h.

191  {
192  HF::AtomType type = HF::abbreviationToAtomType(abbreviation);
193  if(type == HF::Unknown) {
194  std::cerr << "Unknown atom abbreviation " << abbreviation << std::endl;
195  return "";
196  }
197  return filenameFromAtomAndBasis(type, basisName);
198  }

The documentation for this class was generated from the following file: