Psi4
cclambda.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-2018 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 CCLAMBDA_H
30 #define CCLAMBDA_H
31 
33 #include "psi4/cc/ccwave.h"
34 
35 namespace psi {
36 class Wavefunction;
37 class Options;
38 } // namespace psi
39 
40 namespace psi {
41 namespace cclambda {
42 
44  public:
45  CCLambdaWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction, Options &options);
46  virtual ~CCLambdaWavefunction();
47 
48  double compute_energy();
49 
50  private:
51  void init();
52  void init_io();
53  void init_amps(struct L_Params);
54  int **cacheprep_uhf(int level, int *cachefiles);
55  int **cacheprep_rhf(int level, int *cachefiles);
56  void cachedone_rhf(int **cachelist);
57  void cachedone_uhf(int **cachelist);
58  void cleanup();
59  void denom(struct L_Params);
60  void get_params(psi::Options &);
61  void local_init();
62  void local_done();
63  void exit_io();
64  void title();
65  void get_moinfo(std::shared_ptr<psi::Wavefunction> wfn);
66 
67  int converged(int);
68  void diis(int, int);
69  void sort_amps(int);
70  void status(const char *, std::string);
71  void update();
72 
73  void cc2_L2_build(struct L_Params);
74  void L2_build(struct L_Params);
75 };
76 
77 } // namespace cclambda
78 } // namespace psi
79 
80 #endif // CCLAMBDA_H
void cachedone_rhf(int **cachelist)
Definition: cclambda/cache.cc:722
void diis(int, int)
Definition: cc/cclambda/diis.cc:65
void cachedone_uhf(int **cachelist)
Definition: cclambda/cache.cc:720
Options & options() const
Definition: wavefunction.cc:572
void local_done()
Definition: cc/cclambda/local.cc:77
int ** cacheprep_uhf(int level, int *cachefiles)
Definition: cclambda/cache.cc:57
void get_moinfo()
Definition: cc/ccenergy/get_moinfo.cc:63
void title()
Definition: cclambda.cc:358
void exit_io()
Definition: cclambda.cc:366
void status(const char *, std::string)
Definition: cclambda/status.cc:41
void init_io()
Definition: cclambda.cc:334
void cleanup()
Definition: cc/cclambda/get_moinfo.cc:221
int converged(int)
Definition: cclambda/converged.cc:46
void cc2_L2_build(struct L_Params)
Definition: cc2_L2.cc:56
void get_params(psi::Options &)
Definition: cclambda/get_params.cc:56
Definition: cclambda.h:43
void L2_build(struct L_Params)
Definition: L2.cc:63
void init_amps()
Definition: ccenergy/init_amps.cc:47
void init()
Definition: cclambda.cc:115
void denom()
Definition: ccenergy/denom.cc:48
Definition: liboptions.h:353
int ** cacheprep_rhf(int level, int *cachefiles)
Definition: cclambda/cache.cc:115
CCLambdaWavefunction(std::shared_ptr< Wavefunction > reference_wavefunction, Options &options)
Definition: cclambda.cc:107
Definition: cclambda/Params.h:63
std::shared_ptr< Wavefunction > wfn
Definition: dx_write.cc:60
std::shared_ptr< Wavefunction > reference_wavefunction() const
Returns the reference wavefunction.
Definition: wavefunction.cc:608
PsiReturnType cclambda(SharedWavefunction, Options &)
void update()
Definition: cclambda/update.cc:43
double compute_energy()
Compute energy. Subclasses override this function to compute its energy.
Definition: cclambda.cc:117
void sort_amps()
Definition: ccenergy/sort_amps.cc:43
virtual ~CCLambdaWavefunction()
Definition: cclambda.cc:113
void local_init()
Definition: cc/cclambda/local.cc:69