source: ThirdParty/mpqc_open/src/lib/chemistry/qc/intv3/int2e.cc

Candidate_v1.6.1
Last change on this file was 860145, checked in by Frederik Heber <heber@…>, 8 years ago

Merge commit '0b990dfaa8c6007a996d030163a25f7f5fc8a7e7' as 'ThirdParty/mpqc_open'

  • Property mode set to 100644
File size: 2.2 KB
Line 
1//
2// int2e.cc
3//
4// Copyright (C) 1996 Limit Point Systems, Inc.
5//
6// Author: Curtis Janssen <cljanss@limitpt.com>
7// Maintainer: LPS
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#ifdef __GNUG__
29#pragma implementation
30#endif
31
32#include <chemistry/qc/basis/integral.h>
33#include <chemistry/qc/intv3/int2e.h>
34#include <chemistry/qc/intv3/utils.h>
35
36using namespace sc;
37
38Int2eV3::Int2eV3(Integral *integral,
39 const Ref<GaussianBasisSet>& b1,
40 const Ref<GaussianBasisSet>& b2,
41 const Ref<GaussianBasisSet>& b3,
42 const Ref<GaussianBasisSet>& b4,
43 int order, size_t storage) :
44 integral_(integral),
45 grp_(integral->messagegrp()),
46 store(0),
47 int_Qvec(0),
48 int_Rvec(0)
49{
50 bs1_ = b1;
51 bs2_ = b2;
52 bs3_ = b3;
53 bs4_ = b4;
54
55 int_unit2 = bs2_.null();
56 int_unit4 = bs4_.null();
57
58 transform_init();
59 int_initialize_offsets2();
60 int_initialize_erep(storage,order,bs1_,bs2_,bs3_,bs4_);
61 if (!(int_unit2 || int_unit4)) {
62 if (order==0) {
63 init_bounds();
64 }
65 else if (order==1) {
66 init_bounds_1der();
67 }
68 }
69}
70
71Int2eV3::~Int2eV3()
72{
73 transform_done();
74 int_done_offsets2();
75 int_done_erep();
76 if (int_integral_storage) {
77 done_storage();
78 }
79 done_bounds();
80 done_bounds_1der();
81}
82
83/////////////////////////////////////////////////////////////////////////////
84
85// Local Variables:
86// mode: c++
87// c-file-style: "CLJ-CONDENSED"
88// End:
Note: See TracBrowser for help on using the repository browser.