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

# sc\_R12IntEval(3)

R12IntEval is the top-level class which computes intermediates occuring in linear R12 theories.

## NAME

sc::R12IntEval - **R12IntEval** is the top-level class which computes intermediates occuring in linear R12 theories.

## SYNOPSIS

`#include <r12int_eval.h>`

Inherits **sc::SavableState**.

### Public Member Functions

**R12IntEval** (**StateIn** &)\
 **R12IntEval** (const **Ref**\< **R12IntEvalInfo** \> &info, bool gbc=true, bool ebc=true, LinearR12::ABSMethod abs\_method=LinearR12::ABS\_CABSPlus, LinearR12::StandardApproximation stdapprox=LinearR12::StdApprox\_Ap, bool follow\_ks\_ebcfree=false)\
 Constructs **R12IntEval**.  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.  virtual void **obsolete** ()\
 void **include\_mp1** (bool include\_mp1)\
 void **set\_debug** (int debug)\
 void **set\_dynamic** (bool dynamic)\
 void **set\_print\_percent** (double print\_percent)\
 void **set\_memory** (size\_t nbytes)\
 const bool **gbc** () const\
 const bool **ebc** () const\
 const LinearR12::StandardApproximation **stdapprox** () const\
 bool **follow\_ks\_ebcfree** () const\
 **Ref**\< **R12IntEvalInfo** \> **r12info** () const\
 **RefSCDimension** **dim\_oo\_aa** () const\
 **RefSCDimension** **dim\_oo\_ab** () const\
 **RefSCDimension** **dim\_oo\_s** () const\
 **RefSCDimension** **dim\_oo\_t** () const\
 **RefSCDimension** **dim\_vv\_aa** () const\
 **RefSCDimension** **dim\_vv\_ab** () const\
 virtual void **compute** ()\
 This function causes the intermediate matrices to be computed.  **RefSCMatrix** **V\_aa** ()\
 Returns alpha-alpha block of the V intermediate matrix.  **RefSCMatrix** **X\_aa** ()\
 Returns alpha-alpha block of the **X** intermediate matrix.  **RefSymmSCMatrix** **B\_aa** ()\
 Returns alpha-alpha block of the B intermediate matrix.  **RefSCMatrix** **A\_aa** ()\
 Returns alpha-alpha block of the A intermediate matrix. Returns 0 if EBC is assumed.  **RefSCMatrix** **Ac\_aa** ()\
 Returns alpha-alpha block of the A intermediate matrix. Returns 0 if EBC is assumed.  **RefSCMatrix** **T2\_aa** ()\
 Returns alpha-alpha block of the MP2 T2 matrix. Returns 0 if EBC is assumed.  **RefSCMatrix** **V\_ab** ()\
 Returns alpha-beta block of the V intermediate matrix.  **RefSCMatrix** **X\_ab** ()\
 Returns alpha-beta block of the **X** intermediate matrix.  **RefSymmSCMatrix** **B\_ab** ()\
 Returns alpha-beta block of the B intermediate matrix.  **RefSCMatrix** **A\_ab** ()\
 Returns alpha-beta block of the A intermediate matrix. Returns 0 if EBC is assumed.  **RefSCMatrix** **Ac\_ab** ()\
 Returns alpha-beta block of the A intermediate matrix. Returns 0 if EBC is assumed.  **RefSCMatrix** **T2\_ab** ()\
 Returns alpha-beta block of the MP2 T2 matrix. Returns 0 if EBC is assumed.  **RefSCVector** **emp2\_aa** ()\
 Returns alpha-alpha MP2 pair energies.  **RefSCVector** **emp2\_ab** ()\
 Returns alpha-beta MP2 pair energies.  **Ref**\< **R12Amplitudes** \> **amps** ()\
 Returns amplitudes of pair correlation functions.  **RefDiagSCMatrix** **evals** () const\

### Additional Inherited Members

## Detailed Description

**R12IntEval** is the top-level class which computes intermediates occuring in linear R12 theories.

This class is used by all **Wavefunction** classes that implement linear R12 methods.

## Constructor & Destructor Documentation

### sc::R12IntEval::R12IntEval (const Ref\< R12IntEvalInfo \> & info, bool gbc = `true`, bool ebc = `true`, LinearR12::ABSMethod abs\_method = `LinearR12::ABS_CABSPlus`, LinearR12::StandardApproximation stdapprox = `LinearR12::StdApprox_Ap`, bool follow\_ks\_ebcfree = `false`)

Constructs **R12IntEval**. If follow\_ks\_ebcfree is true then follow formalism of Klopper and Samson to compute EBC-free MP2-R12 energy.

## Member Function Documentation

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

## Author

Generated automatically by Doxygen for MPQC from the source code.
