---
name: "sc_R12IntsAcc_MPIIOFile"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_R12IntsAcc_MPIIOFile"
---

# sc\_R12IntsAcc\_MPIIOFile(3)

## NAME

sc::R12IntsAcc\_MPIIOFile

## SYNOPSIS

Inherits **sc::R12IntsAcc**.

Inherited by **sc::R12IntsAcc\_MPIIOFile\_Ind**.

### Classes

struct **PairBlkInfo**\

### Public Member Functions

**R12IntsAcc\_MPIIOFile** (**Ref**\< **MemoryGrp** \> &mem, const char \*filename, int **num\_te\_types**, int **ni**, int **nj**, int **nx**, int **ny**)\
 **R12IntsAcc\_MPIIOFile** (**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.  void **store\_pair\_block** (int i, int j, double \*ints)\
 Stores an ij pair block of integrals to the file.  void **commit** ()\
 Commit the content of the accumulator for reading - deactivate the associated **MemoryGrp** and activate the accumulator.  void **activate** ()\
 Call when ready to read content.  void **deactivate** ()\
 Done reading content - activate the associated **MemoryGrp** This is a collective operation.  void **release\_pair\_block** (int i, int j, **tbint\_type** oper\_type)\
 Releases an ij pair block of integrals.  bool **is\_local** (int i, int j) const\
 Is this block stored locally?  bool **is\_avail** (int i, int j) const\
 In this implementation blocks are available everywhere.  bool **has\_access** (int proc) const\
 Does this task have access to all the integrals?  bool **can\_restart** () const\
 Can restart MPI-IO-based accumulator.  int **ij\_index** (int i, int j) const\

### Protected Member Functions

void **check\_error\_code\_** (int errcod) const\
 Utility function to check MPI I/O error codes.  void **init** (bool restart)\
 int **ntasks** () const\
 total number of tasks  int **taskid** () const\
 ID of this task.

### Protected Attributes

**Ref**\< **MemoryGrp** \> **mem\_**\
 int **nproc\_**\
 size\_t **nints\_per\_block\_**\
 char \* **filename\_**\
 MPI\_File **datafile\_**\
 struct **sc::R12IntsAcc\_MPIIOFile::PairBlkInfo** \* **pairblk\_**\

### Additional Inherited Members

## Member Function Documentation

### void sc::R12IntsAcc\_MPIIOFile::activate ()` [virtual]`

Call when ready to read content.

Reimplemented from **sc::R12IntsAcc**.

### bool sc::R12IntsAcc\_MPIIOFile::can\_restart () const` [inline]`, ` [virtual]`

Can restart MPI-IO-based accumulator.

Implements **sc::R12IntsAcc**.

### void sc::R12IntsAcc\_MPIIOFile::commit ()` [virtual]`

Commit the content of the accumulator for reading - deactivate the associated **MemoryGrp** and activate the accumulator. This is a collective operation.

Reimplemented from **sc::R12IntsAcc**.

### void sc::R12IntsAcc\_MPIIOFile::deactivate ()` [virtual]`

Done reading content - activate the associated **MemoryGrp** This is a collective operation.

Reimplemented from **sc::R12IntsAcc**.

### bool sc::R12IntsAcc\_MPIIOFile::has\_access (int proc) const` [inline]`, ` [virtual]`

Does this task have access to all the integrals?

Implements **sc::R12IntsAcc**.

### bool sc::R12IntsAcc\_MPIIOFile::is\_avail (int i, int j) const` [inline]`, ` [virtual]`

In this implementation blocks are available everywhere.

Implements **sc::R12IntsAcc**.

### bool sc::R12IntsAcc\_MPIIOFile::is\_local (int i, int j) const` [inline]`, ` [virtual]`

Is this block stored locally?

Implements **sc::R12IntsAcc**.

### int sc::R12IntsAcc\_MPIIOFile::ntasks () const` [inline]`, ` [protected]`, ` [virtual]`

total number of tasks

Implements **sc::R12IntsAcc**.

### void sc::R12IntsAcc\_MPIIOFile::release\_pair\_block (int i, int j, tbint\_type oper\_type)` [virtual]`

Releases an ij pair block of integrals.

Implements **sc::R12IntsAcc**.

### void sc::R12IntsAcc\_MPIIOFile::save\_data\_state (StateOut &)` [virtual]`

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::R12IntsAcc**.

Reimplemented in **sc::R12IntsAcc\_MPIIOFile\_Ind**.

### void sc::R12IntsAcc\_MPIIOFile::store\_pair\_block (int i, int j, double \* ints)` [virtual]`

Stores an ij pair block of integrals to the file.

Implements **sc::R12IntsAcc**.

### int sc::R12IntsAcc\_MPIIOFile::taskid () const` [inline]`, ` [protected]`, ` [virtual]`

ID of this task.

Implements **sc::R12IntsAcc**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
