MPQC  3.0.0-alpha
Public Member Functions
sc::DistArray4_MPIIOFile_Ind Class Reference

DistArray4_MPIIOFile_Ind handles transformed integrals stored in a binary file accessed through MPI-IO individual I/O routines. More...

#include <math/distarray4/distarray4_mpiiofile.h>

Inheritance diagram for sc::DistArray4_MPIIOFile_Ind:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DistArray4_MPIIOFile_Ind (const char *filename, int num_te_types, int ni, int nj, int nx, int ny, DistArray4Storage storage=DistArray4Storage_XY)
 DistArray4_MPIIOFile_Ind (StateIn &)
void save_data_state (StateOut &)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
Ref< DistArray4clone (const DistArray4Dimensions &dim=DistArray4Dimensions::default_dim())
 helps to implement clone of Derived class
void store_pair_block (int i, int j, tbint_type oper_type, const double *ints)
 Stores an ij pair block of integrals.
void store_pair_subblock (int i, int j, tbint_type oper_type, int xstart, int xfence, int ystart, int yfence, const double *ints)
 Stores an rectangular subblock of ij block of integrals.
const double * retrieve_pair_block (int i, int j, tbint_type oper_type, double *buf=0) const
 Retrieves an ij block of integrals.
void retrieve_pair_subblock (int i, int j, tbint_type oper_type, int xstart, int xfence, int ystart, int yfence, double *buf) const
 Retrieves a rectangular subblock of ij block of integrals.

Detailed Description

DistArray4_MPIIOFile_Ind handles transformed integrals stored in a binary file accessed through MPI-IO individual I/O routines.

The ordering of integrals in blocks is not specified to avoid having to reorder integrals Each pair block has size of num_te_types*nbasis*nbasis


Member Function Documentation

const double* sc::DistArray4_MPIIOFile_Ind::retrieve_pair_block ( int  i,
int  j,
tbint_type  oper_type,
double *  buf = 0 
) const [virtual]

Retrieves an ij block of integrals.

Note that it comes stored according to storage(). No locking is performed.

Parameters:
bufspecifies the buffer in which to write the data (if not provided, will allocate dynamically). this buffer will be used by subsequent retrieve_pair_block() requests until release_pair_block() is called.

Implements sc::DistArray4.

void sc::DistArray4_MPIIOFile_Ind::retrieve_pair_subblock ( int  i,
int  j,
tbint_type  oper_type,
int  xstart,
int  xfence,
int  ystart,
int  yfence,
double *  buf 
) const [virtual]

Retrieves a rectangular subblock of ij block of integrals.

See also:
retrieve_pair_block()

Implements sc::DistArray4.

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::DistArray4_MPIIOFile.

void sc::DistArray4_MPIIOFile_Ind::store_pair_block ( int  i,
int  j,
tbint_type  oper_type,
const double *  ints 
) [virtual]

Stores an ij pair block of integrals.

It is assumed to be stored according to storage(). It must also be "local", i.e. is_local(i,j) must be true. No locking is performed.

Implements sc::DistArray4.

void sc::DistArray4_MPIIOFile_Ind::store_pair_subblock ( int  i,
int  j,
tbint_type  oper_type,
int  xstart,
int  xfence,
int  ystart,
int  yfence,
const double *  ints 
) [virtual]

Stores an rectangular subblock of ij block of integrals.

Most efficient if the block is contiguous, i.e. yfence - ystart = ny().

See also:
store_pair_block()

Implements sc::DistArray4.


The documentation for this class was generated from the following file:

Generated at Sat Jul 7 2012 11:52:58 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.0.