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>
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_; }
virtual bool is_avail(int i, int j) const =0
Is this block available to this task?
void inc_next_orbital(int ni)
The index of the first orbital in the next integrals batch to be stored.
virtual void store_pair_block(int i, int j, double *ints)=0
All member functions of this class and its children indices i and j don't include frozen orbitals Sto...
virtual void store_memorygrp(Ref< MemoryGrp > &mem, int ni, const size_t blksize=0)=0
Stores all pair block of integrals held in mem in a layout assumed throughout MBPT2_R12.
A template class that maintains references counts.
Definition: ref.h:332
virtual void commit()
Commit the content of the accumulator for reading.
int ny() const
Rank of index space y.
Definition: r12ia.h:111
int tasks_with_access(vector< int > &twa_map) const
Returns the total number of tasks with access to integrals.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
R12IntsAcc accumulates transformed (MO) integrals stored as (ijxy) where i, j, x, and,...
Definition: r12ia.h:70
int next_orbital() const
The index of the first orbital in the next integrals batch to be stored.
int nx() const
Rank of index space x.
Definition: r12ia.h:109
virtual double * retrieve_pair_block(int i, int j, tbint_type oper_type)=0
Retrieves an ij pair block of integrals.
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
virtual void release_pair_block(int i, int j, tbint_type oper_type)=0
Releases an ij pair block of integrals (if needed)
virtual int ntasks() const =0
total number of tasks
Serializes objects that derive from SavableState.
Definition: stateout.h:61
virtual void deactivate()
Call when done reading content.
virtual int taskid() const =0
ID of this task.
virtual bool is_local(int i, int j) const =0
Is this block stored locally?
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
virtual void activate()
Call before starting to read content.
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
virtual bool can_restart() const =0
Can this specialization be used in restarts?
int nj() const
Rank of index space j.
Definition: r12ia.h:107
virtual bool has_access(int proc) const =0
Does this task have access to all the integrals?
int ni() const
Rank of index space i.
Definition: r12ia.h:105
Generated at Sun Oct 4 2020 19:59:52 for MPQC
2.3.1 using the documentation package Doxygen
1.8.20.