---
name: "sc_R12IntsAcc_Node0File"
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_Node0File"
---

# sc\_R12IntsAcc\_Node0File(3)

## NAME

sc::R12IntsAcc\_Node0File

## SYNOPSIS

Inherits **sc::R12IntsAcc**.

### Public Member Functions

**R12IntsAcc\_Node0File** (**Ref**\< **MemoryGrp** \> &mem, const char \*filename, int **num\_te\_types**, int **ni**, int **nj**, int **nx**, int **ny**)\
 **R12IntsAcc\_Node0File** (**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\_memorygrp** (**Ref**\< **MemoryGrp** \> &mem, int **ni**, const size\_t blksize=0)\
 Stores all pair block of integrals held in mem.  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 start reading content.  void **deactivate** ()\
 Done reading content - activate the associated **MemoryGrp** This is a collective operation.  double \* **retrieve\_pair\_block** (int i, int j, **tbint\_type** oper\_type)\
 Retrieves an ij pair block of integrals from the file.  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 only on node 0.  bool **has\_access** (int proc) const\
 Does this task have access to all the integrals?  bool **can\_restart** () const\
 Can restart Node0File-based accumulator.  int **ij\_index** (int i, int j) const\
 int **ij\_proc** (int i, int j) const\

### Additional Inherited Members

## Member Function Documentation

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

Call when ready to start reading content.

Reimplemented from **sc::R12IntsAcc**.

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

Can restart Node0File-based accumulator.

Implements **sc::R12IntsAcc**.

### void sc::R12IntsAcc\_Node0File::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\_Node0File::deactivate ()` [virtual]`

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

Reimplemented from **sc::R12IntsAcc**.

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

Does this task have access to all the integrals?

Implements **sc::R12IntsAcc**.

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

In this implementation blocks are available only on node 0.

Implements **sc::R12IntsAcc**.

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

Is this block stored locally?

Implements **sc::R12IntsAcc**.

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

Releases an ij pair block of integrals.

Implements **sc::R12IntsAcc**.

### double \* sc::R12IntsAcc\_Node0File::retrieve\_pair\_block (int i, int j, tbint\_type oper\_type)` [virtual]`

Retrieves an ij pair block of integrals from the file.

Implements **sc::R12IntsAcc**.

### void sc::R12IntsAcc\_Node0File::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**.

### void sc::R12IntsAcc\_Node0File::store\_memorygrp (Ref\< MemoryGrp \> & mem, int ni, const size\_t blksize = `0`)` [virtual]`

Stores all pair block of integrals held in mem. By default blocks are appended to the end of the same file, i.e. they are assumed to have come from consecutive passes of the same transformation. This is a collective operation. See documentation for **R12IntsAcc::store\_memorygrp()** for more info.

Implements **sc::R12IntsAcc**.

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

Stores an ij pair block of integrals to the file.

Implements **sc::R12IntsAcc**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
