Scine::Sparrow  5.1.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
ParameterSet.h
Go to the documentation of this file.
1 
8 #ifndef INCLUDE_SPARROW_IMPLEMENTATIONS_DFTB_PARAMETER_SET_H
9 #define INCLUDE_SPARROW_IMPLEMENTATIONS_DFTB_PARAMETER_SET_H
10 
12 #include "boost/functional/hash.hpp"
13 
14 namespace Scine {
15 namespace Sparrow {
16 namespace dftb {
17 
18 struct ParameterSet {
19  using Key = std::pair<int, int>;
20  using DiatomicParameters = std::unordered_map<Key, SkfData, boost::hash<Key>>;
21 
39  static ParameterSet collect(const std::string& directory, const std::vector<int>& elements = {});
40 
42  ParameterSet& patch(ParameterSet patchSet);
43 
44  DiatomicParameters pairData;
45  boost::optional<SkfSpinConstants> spin;
46  boost::optional<SkfHubbardDerivatives> hubbard;
47 };
48 
49 } // namespace dftb
50 } // namespace Sparrow
51 } // namespace Scine
52 
53 #endif
static ParameterSet collect(const std::string &directory, const std::vector< int > &elements={})
Collects parameters from a directory.
Definition: ParameterSet.cpp:69
Definition: ParameterSet.h:18
ParameterSet & patch(ParameterSet patchSet)
Overrides stored parameters with those from another parameter set.
Definition: ParameterSet.cpp:134