28 #ifndef _chemistry_qc_mbptr12_r12ia_h
29 #define _chemistry_qc_mbptr12_r12ia_h
36 #include <util/ref/ref.h>
37 #include <util/state/state.h>
38 #include <util/state/statein.h>
39 #include <util/state/stateout.h>
40 #include <util/group/memory.h>
86 virtual int ntasks()
const =0;
88 virtual int taskid()
const =0;
90 void inc_next_orbital(
int ni);
93 R12IntsAcc(
int num_te_types,
int ni,
int nj,
int nx,
int ny);
100 static const int max_num_te_types_ = 4;
105 int ni()
const {
return ni_; }
107 int nj()
const {
return nj_; }
109 int nx()
const {
return nx_; }
111 int ny()
const {
return ny_; }
115 int next_orbital()
const;
129 virtual void store_memorygrp(
Ref<MemoryGrp>& mem,
int ni,
const size_t blksize = 0) =0;
133 virtual void store_pair_block(
int i,
int j,
double *ints)=0;
135 virtual void commit();
139 virtual void activate();
141 virtual void deactivate();
145 virtual double* retrieve_pair_block(
int i,
int j, tbint_type oper_type) =0;
147 virtual void release_pair_block(
int i,
int j, tbint_type oper_type) =0;
149 virtual bool is_local(
int i,
int j)
const =0;
151 virtual bool is_avail(
int i,
int j)
const =0;
153 virtual bool has_access(
int proc)
const =0;
157 int tasks_with_access(vector<int>& twa_map)
const;
159 virtual bool can_restart()
const =0;
A template class that maintains references counts.
Definition: ref.h:332
int ny() const
Rank of index space y.
Definition: r12ia.h:111
R12IntsAcc accumulates transformed (MO) integrals stored as (ijxy) where i, j, x, and,...
Definition: r12ia.h:70
int nx() const
Rank of index space x.
Definition: r12ia.h:109
bool is_committed()
Has the content of the accumulator been commited for reading?
Definition: r12ia.h:137
Restores objects that derive from SavableState.
Definition: statein.h:70
Serializes objects that derive from SavableState.
Definition: stateout.h:61
tbint_type
Types of two-body operators that R12IntsAcc understands.
Definition: r12ia.h:99
size_t blocksize() const
Size of each block of the integrals of one type, in double words.
Definition: r12ia.h:113
int num_te_types() const
The number of types of integrals that are being handled together.
Definition: r12ia.h:103
Base class for objects that can save/restore state.
Definition: state.h:46
const bool is_active()
Check if can read content.
Definition: r12ia.h:143
int nj() const
Rank of index space j.
Definition: r12ia.h:107
int ni() const
Rank of index space i.
Definition: r12ia.h:105
Generated at Sun Jan 26 2020 23:33:04 for MPQC
2.3.1 using the documentation package Doxygen
1.8.16.