7 #ifndef INCLUDE_SPARROW_NDDO_PARAMETERS_H
8 #define INCLUDE_SPARROW_NDDO_PARAMETERS_H
11 #include "boost/functional/hash.hpp"
12 #include <unordered_map>
40 template<
class Archive>
41 void serialize(Archive& archive);
75 template<
class Archive>
76 void serialize(Archive& archive);
84 template<
class Archive>
85 void serialize(Archive& archive);
97 template<
class Archive>
98 void serialize(Archive& archive);
108 template<
class Archive>
109 void serialize(Archive& archive);
112 using DiatomicKey = std::pair<int, int>;
118 static DiatomicKey
key(
int Z1,
int Z2);
119 static DiatomicKey
key(Utils::ElementType a, Utils::ElementType b);
127 void write(
const std::string& filename)
const;
135 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:135
Spd internalExponent
Internal exponent for each orbital, needed for Slater-Condon in bohr^(-1) (zsn, zpn, zdn)
Definition: Parameters.h:54
Pack of implicitly constexpr part of atomic parameters.
Definition: Parameters.h:32
double g2sd
Slater-Condon parameter G2sd (eV)
Definition: Parameters.h:70
static Parameters read(const std::string &filename)
Read parameters from a JSON file.
Definition: Parameters.cpp:76
double alpha
MNDO XXX.
Definition: Parameters.h:72
double gpp
One-center Coulomb integral p-p (eV)
Definition: Parameters.h:58
double exponent
Exponent of pairwise repulsion (A^(-1), for N-H / O-H / C-H A^(-2))
Definition: Parameters.h:104
Diatomic parameters.
Definition: Parameters.h:102
Spd orbitalExponent
Orbital exponent for each orbital in bohr^(-1) (zs, zp, zd)
Definition: Parameters.h:52
double c
Definition: Parameters.h:82
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:68
double factor
Factor of pairwise repulsion.
Definition: Parameters.h:106
double hsp
One-center exchange integral s-s (eV)
Definition: Parameters.h:64
Definition: Parameters.h:35
Definition: Parameters.h:23
std::vector< GaussianRepulsion > gaussianRepulsion
Gaussian repulsion parameters (usually 0-3)
Definition: Parameters.h:94
Definition: Parameters.h:79
double gss
One-center Coulomb integral s-s (eV)
Definition: Parameters.h:56
Pack pack
Gaussian repulsion parameters (usually 0-3)
Definition: Parameters.h:92
double b
Definition: Parameters.h:81
double gp2
One-center Coulomb integral p-p' (eV)
Definition: Parameters.h:62
double a
Definition: Parameters.h:80
double gsp
One-center Coulomb integral s-p (eV)
Definition: Parameters.h:60
double pcore
Klopman-Ohno term for core-core repulsion, sometimes different to pss0 (bohr)
Definition: Parameters.h:66
Spd oneCenterEnergy
Beta parameter for each orbital in eV (bs, bp, bd)
Definition: Parameters.h:48
Nddo method parameters.
Definition: Parameters.h:19
std::unordered_map< int, Atomic > atomic
Map from two atomic numbers to diatomic parameters.
Definition: Parameters.h:133
Spd beta
Beta parameter for each orbital in eV (bs, bp, bd)
Definition: Parameters.h:50