Psi4
updater.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_bin_psimrcc_updater_h_
29 #define _psi_src_bin_psimrcc_updater_h_
30 
32 
38 namespace psi{ namespace psimrcc{
39 
40 class Hamiltonian;
41 
46 class Updater{
47 public:
48  Updater(Options &options);
49  virtual ~Updater();
50  virtual void update(int cycle,Hamiltonian* heff) = 0;
51  void zero_internal_amps();
52  void zero_t1_internal_amps();
54 protected:
56 };
57 
58 class MkUpdater : public Updater{
59 public:
60  MkUpdater(Options &options);
61  virtual ~MkUpdater();
62  virtual void update(int cycle,Hamiltonian* heff);
63 };
64 
65 class BWUpdater : public Updater{
66 public:
67  BWUpdater(Options &options);
68  virtual ~BWUpdater();
69  virtual void update(int cycle,Hamiltonian* heff);
70 };
71 
72 }} /* End Namespaces */
73 
74 #endif // _psi_src_bin_psimrcc_updater_h_
PsiReturnType psimrcc(SharedWavefunction, Options &)
Definition: psimrcc/main.cc:86
void zero_internal_delta_amps()
Definition: updater.cc:206
Definition: updater.h:65
void zero_t1_internal_amps()
Definition: updater.cc:169
void zero_internal_amps()
Definition: updater.cc:61
Definition: updater.h:58
virtual ~BWUpdater()
Definition: updater_bw.cc:48
BWUpdater(Options &options)
Definition: updater_bw.cc:43
Definition: liboptions.h:359
Updater(Options &options)
Definition: updater.cc:52
Definition: heff.h:35
virtual void update(int cycle, Hamiltonian *heff)=0
virtual void update(int cycle, Hamiltonian *heff)
Definition: updater_bw.cc:52
MkUpdater(Options &options)
Definition: updater_mk.cc:50
virtual ~MkUpdater()
Definition: updater_mk.cc:55
virtual ~Updater()
Definition: updater.cc:57
virtual void update(int cycle, Hamiltonian *heff)
Definition: updater_mk.cc:59
Options & options_
Definition: updater.h:55
Containts the procedure for updating the amplitudes.
Definition: updater.h:46