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