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

# sc\_MP2R12Energy(3)

Class MP2R12Energy is the object that computes and maintains MP2-R12 energies.

## NAME

sc::MP2R12Energy - Class **MP2R12Energy** is the object that computes and maintains MP2-R12 energies.

## SYNOPSIS

`#include <mp2r12_energy.h>`

Inherits **sc::SavableState**.

### Public Member Functions

**MP2R12Energy** (**StateIn** &)\
 **MP2R12Energy** (**Ref**\< **R12IntEval** \> &r12eval, LinearR12::StandardApproximation stdapp, int debug)\
 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 **obsolete** ()\
 void **print** (std::ostream &o=**ExEnv::out0**()) const\
 Print the object.  void **print\_pair\_energies** (bool spinadapted, std::ostream &so=**ExEnv::out0**())\
 **Ref**\< **R12IntEval** \> **r12eval** () const\
 LinearR12::StandardApproximation **stdapp** () const\
 bool **gbc** () const\
 Returns whether Generalized Brillouin Condition (GBC) was used in evaluation of the MP2-R12 intermediates.  bool **ebc** () const\
 Returns whether Extended Brillouin Condition (EBC) was used in evaluation of the MP2-R12 intermediates and the MP2-R12 energy.  void **set\_debug** (int debug)\
 int **get\_debug** () const\
 **RefSCDimension** **dim\_aa** () const\
 **RefSCDimension** **dim\_ab** () const\
 **RefSCDimension** **dim\_s** () const\
 **RefSCDimension** **dim\_t** () const\
 void **compute** ()\
 Computes the first-order R12 wave function and MP2-R12 energy.  double **compute\_pair\_function\_aa** (int ij, const **SCVector3** &r1, const **SCVector3** &r2)\
 Computes the value of the alpha-alpha pair function ij when electrons 1 and 2 reside at r1 and r2.  double **compute\_pair\_function\_ab** (int ij, const **SCVector3** &r1, const **SCVector3** &r2)\
 Computes the value of the alpha-beta pair function ij when electrons 1 and 2 reside at r1 and r2.  void **compute\_pair\_function\_aa** (int ij, const **Ref**\< **TwoBodyGrid** \> &tbgrid)\
 Computes values of the alpha-alpha pair function ij on tbgrid.  void **compute\_pair\_function\_ab** (int ij, const **Ref**\< **TwoBodyGrid** \> &tbgrid)\
 Computes values of the alpha-beta pair function ij on tbgrid.  **RefSCVector** **emp2\_aa** () const\
 Returns the vector of MP2 alpha-alpha pair energies.  **RefSCVector** **emp2\_ab** () const\
 Returns the vector of MP2 alpha-beta pair energies.  **RefSCVector** **er12\_aa** () const\
 Returns the vector of R12 corrections to MP2-R12 alpha-alpha pair energies.  **RefSCVector** **er12\_ab** () const\
 Returns the vector of R12 correction to MP2-R12 alpha-beta pair energies.  **RefSCVector** **emp2r12\_aa** () const\
 Returns the vector of MP2-R12 alpha-alpha pair energies.  **RefSCVector** **emp2r12\_ab** () const\
 Returns the vector of MP2-R12 alpha-beta pair energies.  double **energy** ()\
 Returns total MP2-R12 correlation energy.  **RefSCMatrix** **C\_aa** ()\
 Returns the matrix of amplitudes of alpha-alpha r12-multiplied occupied orbital pairs in the first-order pair function.  **RefSCMatrix** **C\_ab** ()\
 Returns the matrix of amplitudes of alpha-beta r12-multiplied occupied orbital pairs in the first-order pair function.  **RefSCMatrix** **T2\_aa** ()\
 Returns the matrix of amplitudes of alpha-alpha virtuals orbital pairs in the first-order pair function.  **RefSCMatrix** **T2\_ab** ()\
 Returns the matrix of amplitudes of alpha-beta virtuals orbital pairs in the first-order pair function.

### Additional Inherited Members

## Detailed Description

Class **MP2R12Energy** is the object that computes and maintains MP2-R12 energies.

## Member Function Documentation

### void sc::MP2R12Energy::print (std::ostream & = ExEnv::out0`()`) const` [virtual]`

Print the object.

Reimplemented from **sc::DescribedClass**.

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