7 #ifndef INCLUDE_SPARROW_NDDO_PARAMETERS_H 
    8 #define INCLUDE_SPARROW_NDDO_PARAMETERS_H 
   11 #include "boost/functional/hash.hpp" 
   12 #include <unordered_map> 
   41         template<
class Archive>
 
   42         void serialize(Archive& archive);
 
   76       template<
class Archive>
 
   77       void serialize(Archive& archive);
 
   85       template<
class Archive>
 
   86       void serialize(Archive& archive);
 
   98     template<
class Archive>
 
   99     void serialize(Archive& archive);
 
  109     template<
class Archive>
 
  110     void serialize(Archive& archive);
 
  113   using DiatomicKey = std::pair<int, int>;
 
  119   static DiatomicKey 
key(
int Z1, 
int Z2);
 
  120   static DiatomicKey 
key(Utils::ElementType a, Utils::ElementType b);
 
  128   void write(
const std::string& filename) 
const;
 
  136   std::unordered_map<DiatomicKey, Diatomic, boost::hash<DiatomicKey>> 
diatomic;
 
std::unordered_map< DiatomicKey, Diatomic, boost::hash< DiatomicKey > > diatomic
Map from two atomic numbers to diatomic parameters. 
Definition: Parameters.h:136
Spd internalExponent
Internal exponent for each orbital, needed for Slater-Condon in bohr^(-1) (zsn, zpn, zdn) 
Definition: Parameters.h:55
Pack of implicitly constexpr part of atomic parameters. 
Definition: Parameters.h:33
double g2sd
Slater-Condon parameter G2sd (eV) 
Definition: Parameters.h:71
static Parameters read(const std::string &filename)
Read parameters from a JSON file. 
Definition: Parameters.cpp:76
double alpha
MNDO XXX. 
Definition: Parameters.h:73
double gpp
One-center Coulomb integral p-p (eV) 
Definition: Parameters.h:59
double exponent
Exponent of pairwise repulsion (A^(-1), for N-H / O-H / C-H A^(-2)) 
Definition: Parameters.h:105
Diatomic parameters. 
Definition: Parameters.h:103
Spd orbitalExponent
Orbital exponent for each orbital in bohr^(-1) (zs, zp, zd) 
Definition: Parameters.h:53
double c
Definition: Parameters.h:83
static DiatomicKey key(int Z1, int Z2)
Read parameters from a JSON file. 
Definition: Parameters.cpp:64
double f0sd
Slater-Condon parameter F0sd (eV) 
Definition: Parameters.h:69
double factor
Factor of pairwise repulsion. 
Definition: Parameters.h:107
double hsp
One-center exchange integral s-s (eV) 
Definition: Parameters.h:65
Definition: Parameters.h:36
Definition: Parameters.h:24
std::vector< GaussianRepulsion > gaussianRepulsion
Gaussian repulsion parameters (usually 0-3) 
Definition: Parameters.h:95
Definition: Parameters.h:80
double gss
One-center Coulomb integral s-s (eV) 
Definition: Parameters.h:57
Pack pack
Gaussian repulsion parameters (usually 0-3) 
Definition: Parameters.h:93
double b
Definition: Parameters.h:82
double gp2
One-center Coulomb integral p-p' (eV) 
Definition: Parameters.h:63
double a
Definition: Parameters.h:81
double gsp
One-center Coulomb integral s-p (eV) 
Definition: Parameters.h:61
double pcore
Klopman-Ohno term for core-core repulsion, sometimes different to pss0 (bohr) 
Definition: Parameters.h:67
Spd oneCenterEnergy
Beta parameter for each orbital in eV (bs, bp, bd) 
Definition: Parameters.h:49
Nddo method parameters. 
Definition: Parameters.h:20
std::unordered_map< int, Atomic > atomic
Map from two atomic numbers to diatomic parameters. 
Definition: Parameters.h:134
Spd beta
Beta parameter for each orbital in eV (bs, bp, bd) 
Definition: Parameters.h:51