MPQC  3.0.0-alpha
ccsd_e.h
1 //
2 // ccsd_e.h --- energy evaluator for CCSD, CCSDT, and CCSDTQ
3 //
4 // Copyright (C) 2009 Toru Shiozaki
5 //
6 // Author: Toru Shiozaki <shiozaki.toru@gmail.com>
7 // Maintainer: TS
8 //
9 // This file is part of the SC Toolkit.
10 //
11 // The SC Toolkit is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU Library General Public License as published by
13 // the Free Software Foundation; either version 2, or (at your option)
14 // any later version.
15 //
16 // The SC Toolkit 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 Library General Public License for more details.
20 //
21 // You should have received a copy of the GNU Library General Public License
22 // along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23 // the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24 //
25 // The U.S. Government is granted a limited license as per AL 91-7.
26 //
27 
28 #ifndef _chemistry_qc_ccr12_ccsd_e_h
29 #define _chemistry_qc_ccr12_ccsd_e_h
30 
31 #include <chemistry/qc/ccr12/tensor.h>
32 #include <chemistry/qc/ccr12/ccr12_info.h>
33 
34 namespace sc {
35 
36 class CCSD_E {
37 
38  protected:
39  CCR12_Info* z;
40 
41  std::vector<Tensor*> in;
42 
43  void offset_smith_0_1();
44  void smith_0_1_0(); //z->f1()=>z->in[1]
45  void smith_1_2(); //z->t1(),z->v2()=>z->in[1]
46  void smith_0_1(Ref<Tensor>& out); //z->t1(),z->in[1]=>out
47  void smith_0_3(Ref<Tensor>& out); //z->t2(),z->v2()=>out
48 
49  public:
50  CCSD_E(CCR12_Info* info);
51 
52  ~CCSD_E();
53  void compute_amp(Ref<Tensor>& out);
54 
55 };
56 
57 
58 
59 }
60 
61 #endif
62 
63 
sc::Ref
A template class that maintains references counts.
Definition: ref.h:361
sc
Contains all MPQC code up to version 3.
Definition: mpqcin.h:14
sc::CCSD_E
Definition: ccsd_e.h:36
sc::CCR12_Info
CCR12_Info is the compilation of members that are used in CC and CC-R12 methods.
Definition: ccr12_info.h:50

Generated at Sun Jan 26 2020 23:23:57 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.