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

# sc\_R12IntEvalInfo(3)

Class R12IntEvalInfo contains information necessary for R12 intermediate evaluators.

## NAME

sc::R12IntEvalInfo - Class **R12IntEvalInfo** contains information necessary for R12 intermediate evaluators.

## SYNOPSIS

`#include <vxb_eval_info.h>`

Inherits **sc::SavableState**.

### Public Types

enum **StoreMethod** { **mem\_posix** = 0, **posix** = 1, **mem\_mpi** = 2, **mpi** = 3, **mem\_only** = 4 }\
 Describes the method of storing transformed MO integrals. See **MBPT2\_R12**.

### Public Member Functions

**R12IntEvalInfo** (**StateIn** &)\
 **R12IntEvalInfo** (**MBPT2\_R12** \*)\
 Constructs an **R12IntEvalInfo** object using data from the **MBPT2\_R12** object.  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 **set\_dynamic** (bool dynamic)\
 Sets whether to use dynamic load balancing in parallel MO transformations.  void **set\_print\_percent** (double print\_percent)\
 Sets how frequently updates of progress are printed out. Default is 10%.  void **set\_debug\_level** (int debug)\
 Set debug level. Default is 0.  void **set\_ints\_method** (const **StoreMethod** method)\
 Sets the method of storing transformed MO integrals.  void **set\_ints\_file** (const std::string &filename)\
 Sets name of the file used to store transformed integrals.  void **set\_memory** (const size\_t nbytes)\
 Sets the amount of memory to use for the calculation.  void **set\_absmethod** (LinearR12::ABSMethod abs\_method)\
 Sets the ABS approach to be used (ABS or CABS).  **Wavefunction** \* **wfn** () const\
 **Ref**\< **SCF** \> **ref** () const\
 **Ref**\< **Integral** \> **integral** () const\
 **Ref**\< **GaussianBasisSet** \> **basis** () const\
 Returns the orbital basis set (OBS) object.  **Ref**\< **GaussianBasisSet** \> **basis\_vir** () const\
 Returns the virtuals basis set (VBS) object.  **Ref**\< **GaussianBasisSet** \> **basis\_ri** () const\
 Returns the resolution-of-the-identity basis set (RIBS) object.  **Ref**\< **SCMatrixKit** \> **matrixkit** () const\
 **Ref**\< **MemoryGrp** \> **mem** () const\
 **Ref**\< **MessageGrp** \> **msg** () const\
 **Ref**\< **ThreadGrp** \> **thr** () const\
 bool **dynamic** () const\
 double **print\_percent** () const\
 int **debug\_level** () const\
 const **StoreMethod** **ints\_method** () const\
 const std::string & **ints\_file** () const\
 const size\_t **memory** () const\
 const int **nocc** () const\
 const int **nocc\_act** () const\
 const int **nfzc** () const\
 const int **nvir** () const\
 const int **nvir\_act** () const\
 const int **nfzv** () const\
 LinearR12::ABSMethod **abs\_method** () const\
 **Ref**\< **MOIndexSpace** \> **mo\_space** () const\
 Returns the **MOIndexSpace** object for symmetry-blocked MOs in OBS.  **Ref**\< **MOIndexSpace** \> **obs\_space** () const\
 Returns the **MOIndexSpace** object for energy-sorted MOs in OBS.  **Ref**\< **MOIndexSpace** \> **act\_occ\_space** () const\
 Returns the **MOIndexSpace** object for the active occupied MOs.  **Ref**\< **MOIndexSpace** \> **act\_vir\_space** () const\
 Returns the **MOIndexSpace** object for the active unoccupied MOs.  **Ref**\< **MOIndexSpace** \> **occ\_space** () const\
 Returns the **MOIndexSpace** object for all occupied MOs sorted by energy.  **Ref**\< **MOIndexSpace** \> **occ\_space\_symblk** () const\
 Returns the **MOIndexSpace** object for all occupied MOs symmetry-blocked.  **Ref**\< **MOIndexSpace** \> **vir\_space** () const\
 Returns the **MOIndexSpace** object for all unoccupied MOs ordered by energy.  **Ref**\< **MOIndexSpace** \> **vir\_space\_symblk** () const\
 Returns the **MOIndexSpace** object for all unoccupied MOs ordered by symmetry.  **Ref**\< **MOIndexSpace** \> **abs\_space** () const\
 Returns the **MOIndexSpace** object for ABS.  **Ref**\< **MOIndexSpace** \> **ribs\_space** () const\
 Returns the **MOIndexSpace** object for RI-BS.  **Ref**\< **MOIntsTransformFactory** \> **tfactory** () const\
 Returns the **MOIntsTransformFactory** object.

### Static Public Member Functions

static **Ref**\< **MOIndexSpace** \> **orthog\_comp** (const **Ref**\< **MOIndexSpace** \> &space1, const **Ref**\< **MOIndexSpace** \> &space2, const std::string &name, double lindep\_tol)\
 **Compute** subspace of space2 which is orthogonal complement to space1.  static **Ref**\< **MOIndexSpace** \> **orthogonalize** (const std::string &name, const **Ref**\< **GaussianBasisSet** \> &bs, const **Ref**\< **Integral** \> &integral, **OverlapOrthog::OrthogMethod** orthog\_method, double lindep\_tol, int &nlindep)\
 **Compute** span of bs and create corresponding mospace referred to by name.  static **Ref**\< **MOIndexSpace** \> **gen\_project** (const **Ref**\< **MOIndexSpace** \> &space1, const **Ref**\< **MOIndexSpace** \> &space2, const std::string &name, double lindep\_tol)\
 Project space1 on space2.  static void **compute\_overlap\_ints** (const **Ref**\< **MOIndexSpace** \> &space1, const **Ref**\< **MOIndexSpace** \> &space2, **RefSCMatrix** &S)\
 **Compute** overlap matrices in the basis of space1 and space2.  static void **compute\_multipole\_ints** (const **Ref**\< **MOIndexSpace** \> &space1, const **Ref**\< **MOIndexSpace** \> &space2, **RefSCMatrix** &MX, **RefSCMatrix** &MY, **RefSCMatrix** &MZ, **RefSCMatrix** &MXX, **RefSCMatrix** &MYY, **RefSCMatrix** &MZZ)\
 **Compute** electric dipole and quadrupole moment matrices in the basis of space1 and space2.

### Additional Inherited Members

## Detailed Description

Class **R12IntEvalInfo** contains information necessary for R12 intermediate evaluators.

## Member Function Documentation

### static Ref\< MOIndexSpace \> sc::R12IntEvalInfo::gen\_project (const Ref\< MOIndexSpace \> & space1, const Ref\< MOIndexSpace \> & space2, const std::string & name, double lindep\_tol)` [static]`

Project space1 on space2. This routine computes X2 such that C1.S12.X2 = I, where I is identity matrix and X2 spans subspace of space2. X2 is returned.

### static Ref\< MOIndexSpace \> sc::R12IntEvalInfo::orthogonalize (const std::string & name, const Ref\< GaussianBasisSet \> & bs, const Ref\< Integral \> & integral, OverlapOrthog::OrthogMethod orthog\_method, double lindep\_tol, int & nlindep)` [static]`

**Compute** span of bs and create corresponding mospace referred to by name. Number linear dependencies is returned in nlindep

### void sc::R12IntEvalInfo::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::SavableState**.

### void sc::R12IntEvalInfo::set\_absmethod (LinearR12::ABSMethod abs\_method)

Sets the ABS approach to be used (ABS or CABS). Default depends on how the object was constructed.

### void sc::R12IntEvalInfo::set\_dynamic (bool dynamic)` [inline]`

Sets whether to use dynamic load balancing in parallel MO transformations. Default is no

### void sc::R12IntEvalInfo::set\_ints\_file (const std::string & filename)` [inline]`

Sets name of the file used to store transformed integrals. Default depends on how the object was constructed.

### void sc::R12IntEvalInfo::set\_ints\_method (const StoreMethod method)` [inline]`

Sets the method of storing transformed MO integrals. Default depends on how the object was constructed.

### void sc::R12IntEvalInfo::set\_memory (const size\_t nbytes)

Sets the amount of memory to use for the calculation. Default is determined by DEFAULT\_SC\_MEMORY.

## Author

Generated automatically by Doxygen for MPQC from the source code.
