28 #ifndef _chemistry_molecule_atominfo_h
29 #define _chemistry_molecule_atominfo_h
35 #include <util/class/class.h>
36 #include <util/keyval/keyval.h>
47 enum { Nelement = 118, DefaultZ = 0 };
56 static struct atom elements_[Nelement];
58 std::map<std::string,int> name_to_Z_;
59 std::map<std::string,int> symbol_to_Z_;
60 std::map<int,std::string> Z_to_names_;
61 std::map<int,std::string> Z_to_symbols_;
62 std::map<int,double> Z_to_mass_;
63 std::map<int,double> Z_to_atomic_radius_;
64 std::map<int,double> Z_to_vdw_radius_;
65 std::map<int,double> Z_to_bragg_radius_;
66 std::map<int,double> Z_to_maxprob_radius_;
67 std::map<int,std::vector<double> > Z_to_rgb_;
68 std::map<int,double> Z_to_ip_;
69 double atomic_radius_scale_;
70 double vdw_radius_scale_;
71 double bragg_radius_scale_;
72 double maxprob_radius_scale_;
74 char *overridden_values_;
76 void load_library_values();
77 void override_library_values(
const Ref<KeyVal> &keyval);
78 void load_values(
const Ref<KeyVal>& keyval,
int override);
79 void load_values(std::map<int,double>&,
80 double *scale,
const char *keyword,
83 void load_values(std::map<
int,std::vector<double> >&,
86 void add_overridden_value(
const char *assignment);
87 void initialize_names();
88 double lookup_value(
const std::map<int,double>& values,
int Z)
const;
89 double lookup_array_value(
const std::map<
int,std::vector<double> >& values,
180 double bragg_radius(
int Z)
const;
181 double atomic_radius(
int Z)
const;
182 double maxprob_radius(
int Z)
const;
185 double ip(
int Z)
const;
198 double rgb(
int Z,
int color)
const;
199 double red(
int Z)
const;
200 double green(
int Z)
const;
201 double blue(
int Z)
const;
204 double mass(
int Z)
const;
207 std::string
name(
int Z);
209 std::string
symbol(
int Z);
212 int string_to_Z(
const std::string &,
int allow_exceptions = 1);
double ip(int Z) const
Returns the atomization potential for atomic number Z.
int string_to_Z(const std::string &, int allow_exceptions=1)
This converts a name or symbol to the atomic number.
double bragg_radius_scale() const
Return the scale factor for the Bragg radii.
Definition: atominfo.h:190
double vdw_radius_scale() const
Return the scale factor for the VdW radii.
Definition: atominfo.h:188
A template class that maintains references counts.
Definition: ref.h:332
double rgb(int Z, int color) const
These return information about the color of the atom for visualization programs.
Restores objects that derive from SavableState.
Definition: statein.h:70
double maxprob_radius_scale() const
Return the scale factor for the maximum probability radii.
Definition: atominfo.h:194
double mass(int Z) const
This returns the mass of the most abundant isotope.
double vdw_radius(int Z) const
These return various measures of the atom's radius.
Serializes objects that derive from SavableState.
Definition: stateout.h:61
double atomic_radius_scale() const
Return the scale factor for the atomic radii.
Definition: atominfo.h:192
void save_data_state(StateOut &s)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
std::string name(int Z)
This returns the full name of the element.
Base class for objects that can save/restore state.
Definition: state.h:46
std::string symbol(int Z)
This returns the symbol for the element.
The AtomInfo class provides information about atoms.
Definition: atominfo.h:45
Generated at Sun Jan 26 2020 23:33:03 for MPQC
2.3.1 using the documentation package Doxygen
1.8.16.