GQCP
Loading...
Searching...
No Matches
McMurchieDavidsonCoefficient.hpp
Go to the documentation of this file.
1// This file is part of GQCG-GQCP.
2//
3// Copyright (C) 2017-2020 the GQCG developers
4//
5// GQCG-GQCP is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// GQCG-GQCP is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with GQCG-GQCP. If not, see <http://www.gnu.org/licenses/>.
17
18#pragma once
19
20
22
23
24namespace GQCP {
25
26
31private:
32 // One of the Cartesian components of the center of the left Cartesian GTO.
33 double K;
34
35 // One of the Cartesian components of the center of the right Cartesian GTO.
36 double L;
37
38 // The Gaussian exponent of the left Cartesian GTO.
39 double a;
40
41 // The Gaussian exponent of the right Cartesian GTO.
42 double b;
43
44
45public:
46 /*
47 * MARK: Constructors
48 */
49
56 McMurchieDavidsonCoefficient(const double K, const double a, const double L, const double b);
57
58
59 /*
60 * MARK: McMurchie-Davidson behavior
61 */
62
70 double operator()(const int i, const int j, const int t) const;
71
72
73 /*
74 * MARK: Gaussian overlap behavior
75 */
76
80 double centerOfMass() const;
81
85 double reducedExponent() const;
86
90 double totalExponent() const { return a + b; }
91
95 double distance() const { return this->K - this->L; }
96};
97
98
99} // namespace GQCP
Definition: McMurchieDavidsonCoefficient.hpp:30
double totalExponent() const
Definition: McMurchieDavidsonCoefficient.hpp:90
double centerOfMass() const
Definition: McMurchieDavidsonCoefficient.cpp:87
double reducedExponent() const
Definition: McMurchieDavidsonCoefficient.cpp:96
double operator()(const int i, const int j, const int t) const
Definition: McMurchieDavidsonCoefficient.cpp:52
double distance() const
Definition: McMurchieDavidsonCoefficient.hpp:95
Definition: BaseOneElectronIntegralBuffer.hpp:25