~ubuntu-branches/ubuntu/karmic/psicode/karmic

« back to all changes in this revision

Viewing changes to src/bin/psimrcc/transform.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck, Michael Banck, Daniel Leidert
  • Date: 2009-02-23 00:12:02 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090223001202-rutldoy3dimfpesc
Tags: 3.4.0-1
* New upstream release.

[ Michael Banck ]
* debian/patches/01_DESTDIR.dpatch: Refreshed.
* debian/patches/02_FHS.dpatch: Removed, applied upstream.
* debian/patches/03_debian_docdir: Likewise.
* debian/patches/04_man.dpatch: Likewise.
* debian/patches/06_466828_fix_gcc_43_ftbfs.dpatch: Likewise.
* debian/patches/07_464867_move_executables: Fixed and refreshed.
* debian/patches/00list: Adjusted.
* debian/control: Improved description.
* debian/patches-held: Removed.
* debian/rules (install/psi3): Do not ship the ruby bindings for now.

[ Daniel Leidert ]
* debian/rules: Fix txtdir via DEB_MAKE_INSTALL_TARGET.
* debian/patches/01_DESTDIR.dpatch: Refreshed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _psi_src_bin_psimrcc_cctransform_h
 
2
#define _psi_src_bin_psimrcc_cctransform_h
 
3
 
 
4
#include "index.h"
 
5
#include <map>
 
6
 
 
7
namespace psi{ namespace psimrcc{
 
8
 
 
9
/**
 
10
        @author Francesco A. Evangelista and Andrew C. Simmonett <frank@ccc.uga.edu>
 
11
*/
 
12
class CCTransform{
 
13
public:
 
14
  CCTransform();
 
15
  ~CCTransform();
 
16
  void print();
 
17
  void read_oei_from_transqt() {read_oei_mo_integrals();}
 
18
  void read_integrals_from_transqt() {read_mo_integrals();}
 
19
  void read_integrals_mrpt2();
 
20
  int  read_tei_mo_integrals_block(int first_irrep);
 
21
  void free_tei_mo_integrals_block(int first_irrep, int last_irrep);
 
22
  void free_memory();
 
23
  void transform_tei_integrals();
 
24
  double oei(int p, int q);
 
25
  double tei(int p, int q, int r, int s);
 
26
  double tei_block(int p, int q, int r, int s);
 
27
  double tei_mrpt2(int p, int q, int r, int s);
 
28
private:
 
29
  size_t*     ioff;
 
30
  double**    s_so;
 
31
  double**  oei_mo;
 
32
  double**  oei_so;
 
33
  double**  tei_so;
 
34
  double*** tei_half_transformed;
 
35
  double**  tei_mo;
 
36
  CCIndex*  oei_so_indexing;
 
37
  CCIndex*  tei_so_indexing;
 
38
  CCIndex*  tei_mo_indexing;
 
39
 
 
40
  void read_mo_integrals();
 
41
  void read_so_integrals();
 
42
  void read_oei_so_integrals();
 
43
  void read_oei_mo_integrals();
 
44
  void read_oei_mo_integrals_mrpt2();
 
45
  void read_tei_so_integrals();
 
46
  void read_tei_mo_integrals();
 
47
  void read_tei_mo_integrals_mrpt2();
 
48
 
 
49
  void transform_oei_so_integrals();
 
50
  void transform_tei_so_integrals();
 
51
 
 
52
  void allocate_oei_so();
 
53
  void allocate_oei_mo();
 
54
  void free_oei_mo();
 
55
  void free_oei_so();
 
56
 
 
57
  void allocate_tei_so();
 
58
  void allocate_tei_mo();
 
59
  void allocate_tei_half_transformed();
 
60
  
 
61
  void free_tei_mo();
 
62
  void free_tei_so();
 
63
  void free_tei_half_transformed();
 
64
 
 
65
  // Block
 
66
  int  first_irrep_in_core;
 
67
  int  last_irrep_in_core;
 
68
  int  allocate_tei_mo_block(int first_irrep);
 
69
  std::map <size_t,double> integral_map;
 
70
};
 
71
 
 
72
extern CCTransform* trans;
 
73
 
 
74
}} /* End Namespaces */
 
75
 
 
76
#endif // _psi_src_bin_psimrcc_cctransform_h