Psi4
model_space.h
Go to the documentation of this file.
1 /*
2  * @BEGIN LICENSE
3  *
4  * Psi4: an open-source quantum chemistry software package
5  *
6  * Copyright (c) 2007-2017 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program 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 General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License along
22  * with this program; if not, write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24  *
25  * @END LICENSE
26  */
27 
28 #ifndef _psi_src_lib_libmoinfo_model_space_h_
29 #define _psi_src_lib_libmoinfo_model_space_h_
30 
36 #include "slater_determinant.h"
37 
38 namespace psi {
39 
40 class MOInfo;
41 
42 class ModelSpace{
43 public:
44  ModelSpace(MOInfo* moinfo_obj_);
45  ~ModelSpace();
46  void print();
47 private:
48  void startup();
49  void cleanup();
50  void build();
51  void classify();
52 
53  int wfn_sym;
54  std::vector<SlaterDeterminant> determinants;
55  std::vector<int> closed_to_all; // closed-shell determinants
56  std::vector<int> opensh_to_all; // open-shell determinants
57  std::vector<int> unique_to_all; // spin-unique determinants
59 };
60 
61  extern ModelSpace *model_space;
62 
63 }
64 
65 #endif // _psi_src_lib_libmoinfo_model_space_h_
void startup()
Definition: model_space.cc:49
ModelSpace(MOInfo *moinfo_obj_)
Definition: model_space.cc:36
std::vector< int > unique_to_all
Definition: model_space.h:57
std::vector< SlaterDeterminant > determinants
Definition: model_space.h:54
void build()
Definition: model_space_build.cc:38
MOInfo * moinfo_obj
Definition: model_space.h:58
int wfn_sym
Definition: model_space.h:53
Definition: moinfo.h:44
This class stores all the basic info regarding a Slater determinant.
std::vector< int > opensh_to_all
Definition: model_space.h:56
~ModelSpace()
Definition: model_space.cc:44
void classify()
Definition: model_space_build.cc:142
void cleanup()
Definition: model_space.cc:54
void print()
Definition: model_space.cc:58
ModelSpace * model_space
Definition: psimrcc/main.cc:81
Definition: model_space.h:42
std::vector< int > closed_to_all
Definition: model_space.h:55