MPQC
2.3.1
src
lib
chemistry
qc
mbpt
csgrad34qb.h
1
//
2
// csgrad34qb.h
3
// based on csgrad.cc
4
//
5
// Copyright (C) 1996 Limit Point Systems, Inc.
6
//
7
// Author: Ida Nielsen <ibniels@ca.sandia.gov>
8
// Maintainer: LPS
9
//
10
// This file is part of the SC Toolkit.
11
//
12
// The SC Toolkit is free software; you can redistribute it and/or modify
13
// it under the terms of the GNU Library General Public License as published by
14
// the Free Software Foundation; either version 2, or (at your option)
15
// any later version.
16
//
17
// The SC Toolkit 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 Library General Public License for more details.
21
//
22
// You should have received a copy of the GNU Library General Public License
23
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
24
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
25
//
26
// The U.S. Government is granted a limited license as per AL 91-7.
27
//
28
29
#ifndef _chemistry_qc_mbpt_csgrad34qb_h
30
#define _chemistry_qc_mbpt_csgrad34qb_h
31
32
#ifdef __GNUC__
33
#pragma interface
34
#endif
35
36
#include <util/misc/regtime.h>
37
#include <util/group/memory.h>
38
#include <util/group/thread.h>
39
#include <chemistry/qc/basis/integral.h>
40
#include <chemistry/qc/basis/distshpair.h>
41
42
namespace
sc {
43
44
class
CSGrad34Qbtr
:
public
Thread
{
45
private
:
46
Ref<MessageGrp>
msg;
47
Ref<MemoryGrp>
mem;
48
Ref<TwoBodyInt>
tbint;
49
Ref<TwoBodyDerivInt>
tbintder;
50
Ref<GaussianBasisSet>
basis;
51
Ref<ThreadLock>
lock;
52
Ref<RegionTimer>
timer;
53
int
mythread;
54
int
nthread;
55
int
ni;
56
int
nocc;
57
int
nfzc;
58
int
i_offset;
59
int
aointder_computed;
60
int
me;
61
int
nproc;
62
double
tol;
63
double
**scf_vector;
64
int
debug;
65
int
dynamic_;
66
double
print_percent_;
67
int
dograd;
68
int
natom;
69
double
*Lpi;
70
double
**ginter;
71
DistShellPair::SharedData
*shellpair_shared_data_;
72
public
:
73
CSGrad34Qbtr
(
int
mythread_a,
int
nthread_a,
74
int
me_a,
int
nproc_a,
75
const
Ref<MemoryGrp>
&mem_a,
76
const
Ref<MessageGrp>
&msg_a,
77
const
Ref<ThreadLock>
&lock_a,
78
const
Ref<GaussianBasisSet>
&basis_a,
79
const
Ref<TwoBodyInt>
&tbint_a,
80
const
Ref<TwoBodyDerivInt>
&tbintder_a,
81
int
nocc_a,
int
nfzc_a,
82
double
**scf_vector_a,
83
double
tol_a,
int
debug_a,
84
int
dynamic_a,
double
print_percent_a,
85
DistShellPair::SharedData
*shellpair_shared_data,
86
int
dograd_a,
int
natom_a);
87
~
CSGrad34Qbtr
();
88
89
void
set_i_offset(
int
ioff) { i_offset = ioff; }
90
void
set_ni(
int
nivalue) { ni = nivalue; }
91
void
run
();
92
double
*get_Lpi() {
return
Lpi ;}
93
double
**get_ginter() {
return
ginter ;}
94
int
get_aointder_computed() {
return
aointder_computed ;}
95
};
96
97
}
98
99
#endif
100
101
// //////////////////////////////////////////////////////////////////////////
102
103
// Local Variables:
104
// mode: c++
105
// c-file-style: "CLJ-CONDENSED"
106
// End:
sc::Ref
A template class that maintains references counts.
Definition:
ref.h:332
sc::Thread
The Thread abstract class defines an interface which must be implemented by classes wishing to be run...
Definition:
thread.h:79
sc::DistShellPair::SharedData
This is used to store data that must be shared between all cooperating shell pairs.
Definition:
distshpair.h:52
sc::CSGrad34Qbtr
Definition:
csgrad34qb.h:44
sc::CSGrad34Qbtr::run
void run()
This is called with the Thread is run from a ThreadGrp.
Generated at Sun Jan 26 2020 23:33:03 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.16.