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 file is part of Psi4.
12  *
13  * Psi4 is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser General Public License as published by
15  * the Free Software Foundation, version 3.
16  *
17  * Psi4 is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public License along
23  * with Psi4; if not, write to the Free Software Foundation, Inc.,
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25  *
26  * @END LICENSE
27  */
28 
29 #ifndef _psi_src_lib_libmoinfo_model_space_h_
30 #define _psi_src_lib_libmoinfo_model_space_h_
31 
37 #include "slater_determinant.h"
38 
39 namespace psi {
40 
41 class MOInfo;
42 
43 class ModelSpace{
44 public:
45  ModelSpace(MOInfo* moinfo_obj_);
46  ~ModelSpace();
47  void print();
48 private:
49  void startup();
50  void cleanup();
51  void build();
52  void classify();
53 
54  int wfn_sym;
55  std::vector<SlaterDeterminant> determinants;
56  std::vector<int> closed_to_all; // closed-shell determinants
57  std::vector<int> opensh_to_all; // open-shell determinants
58  std::vector<int> unique_to_all; // spin-unique determinants
60 };
61 
62  extern ModelSpace *model_space;
63 
64 }
65 
66 #endif // _psi_src_lib_libmoinfo_model_space_h_
void startup()
Definition: model_space.cc:54
ModelSpace(MOInfo *moinfo_obj_)
Definition: model_space.cc:41
std::vector< int > unique_to_all
Definition: model_space.h:58
std::vector< SlaterDeterminant > determinants
Definition: model_space.h:55
void build()
Definition: model_space_build.cc:41
MOInfo * moinfo_obj
Definition: model_space.h:59
int wfn_sym
Definition: model_space.h:54
Definition: moinfo.h:45
This class stores all the basic info regarding a Slater determinant.
std::vector< int > opensh_to_all
Definition: model_space.h:57
~ModelSpace()
Definition: model_space.cc:49
void classify()
Definition: model_space_build.cc:145
void cleanup()
Definition: model_space.cc:59
void print()
Definition: model_space.cc:63
ModelSpace * model_space
Definition: psimrcc/main.cc:82
Definition: model_space.h:43
std::vector< int > closed_to_all
Definition: model_space.h:56