sisi4s
Loading...
Searching...
No Matches
BasisSet.hpp
Go to the documentation of this file.
1#ifndef ___BASIS_SET_DEFINITIONS_
2#define ___BASIS_SET_DEFINITIONS_
3
4#include <vector>
6#include <numeric>
7
9 const std::vector<double> coefficients, exponents;
10 size_t size() const { return coefficients.size(); }
11};
12
13struct Shell {
14 const std::string atom;
17 size_t size() const { return g.size(); }
18};
19
20struct Basis {
21 const std::string atom;
22 const std::string name;
23 const std::vector<Shell> shells;
24 size_t size() const { return shells.size(); }
25 size_t nbf() const {
26 return std::accumulate(
27 shells.begin(),
28 shells.end(),
29 0,
30 [&](size_t i, const Shell &s) { return i + s.size(); });
31 }
32};
33
34typedef std::vector<Basis> BasisSet;
35
36#endif
std::vector< Basis > BasisSet
Definition BasisSet.hpp:34
AngularMomentum
Definition AngularMomentum.hpp:8
Definition BasisSet.hpp:20
size_t size() const
Definition BasisSet.hpp:24
const std::string name
Definition BasisSet.hpp:22
const std::string atom
Definition BasisSet.hpp:21
const std::vector< Shell > shells
Definition BasisSet.hpp:23
size_t nbf() const
Definition BasisSet.hpp:25
Definition BasisSet.hpp:8
size_t size() const
Definition BasisSet.hpp:10
const std::vector< double > exponents
Definition BasisSet.hpp:9
const std::vector< double > coefficients
Definition BasisSet.hpp:9
Definition BasisSet.hpp:13
const ContractedGaussian g
Definition BasisSet.hpp:16
const am::AngularMomentum am
Definition BasisSet.hpp:15
const std::string atom
Definition BasisSet.hpp:14
size_t size() const
Definition BasisSet.hpp:17