MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
gengine_base.hpp
1//
2// gfactory.hpp
3//
4// Copyright (C) 2014 Drew Lewis
5//
6// Authors: Drew Lewis
7// Maintainer: Drew Lewis and Edward Valeev
8//
9// This file is part of the MPQC Toolkit.
10//
11// The MPQC Toolkit is free software; you can redistribute it and/or modify
12// it under the terms of the GNU Library General Public License as published by
13// the Free Software Foundation; either version 2, or (at your option)
14// any later version.
15//
16// The MPQC Toolkit is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU Library General Public License for more details.
20//
21// You should have received a copy of the GNU Library General Public License
22// along with the MPQC Toolkit; see the file COPYING.LIB. If not, write to
23// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24//
25// The U.S. Government is granted a limited license as per AL 91-7.
26//
27
28#ifndef MPQC_CHEMISTRY_QC_SCF_GENGINE_HPP
29#define MPQC_CHEMISTRY_QC_SCF_GENGINE_HPP
30
31//#include <tiledarray_fwd.h> can't use until fwd gets fixed if possible
32#include <tiledarray.h>
33#include <vector>
34#include <utility>
35#include <util/class/class.h>
36
37// Expression Foward Declaration
38namespace TiledArray {
39 namespace expressions {
40 template <typename>
42 } // namespace expressions
43} // namespace TiledArray
44
45namespace mpqc {
46 namespace TA {
47
48 class GEngineBase : virtual public sc:: DescribedClass {
49 public:
50 typedef TiledArray::Array<double,2> TAMatrix;
51
52 GEngineBase() = default;
53 virtual ~GEngineBase() = default;
54
55 virtual // Ensure that the user can set the densities
56 void
57 set_densities(std::vector<TAMatrix*>) = 0;
58
59 virtual // Return true if the densities have been set
60 bool
61 densities_set() = 0;
62
63 virtual
64 void
65 set_coefficients(std::vector<TAMatrix*>) = 0;
66
67 virtual // Return true if the coefficients have been set
68 bool
69 coefficients_set() = 0;
70
71 // If using coefficients for contractions
72 virtual
73 bool
74 using_coeff() = 0;
75
76 // If using densities for contraction
77 virtual
78 bool
79 using_density() = 0;
80
81 virtual
82 TAMatrix
83 operator()(const std::string v) = 0;
84
85 private:
86 static sc::ClassDesc class_desc_;
87
88 }; // class GEngine
89
90 } // namespace TA
91} // namespace mpqc
92
93#endif /* MPQC_CHEMISTRY_QC_SCF_GENGINE_HPP */
Definition gengine_base.hpp:41
Definition gengine_base.hpp:48
This class is used to contain information about classes.
Definition class.h:147
Contains new MPQC code since version 3.
Definition integralenginepool.hpp:37
Contains all MPQC code up to version 3.
Definition mpqcin.h:14

Generated at Wed Sep 25 2024 02:45:30 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.