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