sc::MBPT2_R12(3)
๐ธ NAME ๐ธ
Bestie, welcome to sc::MBPT2_R12(3) from the MPQC manual ๐ โ the MBPT2_R12 class implements several linear R12 second-order perturbation theory methods. Periodt. โจ
โจ SYNOPSIS โจ
Pull it in like this, bestie:
#include <mbptr12.h>
Inherits sc::MBPT2.
๐ซถ Public Member Functions ๐ซถ
MBPT2_R12 (StateIn &)โ the state-in constructor, no cap ๐ซถMBPT2_R12 (const Ref< KeyVal > &)โ The KeyVal constructor. ๐void save_data_state (StateOut &)โ Save the base classes (withsave_data_state) and the members in the same order that theStateInCTOR initializes them. ๐พRef< GaussianBasisSet > aux_basis () constโ auxiliary basis getter energy ๐งRef< GaussianBasisSet > vir_basis () constโ virtual basis getter energy ๐ฆbool gbc () constโ GBC vibe check ๐bool ebc () constโ EBC vibe check ๐LinearR12::ABSMethod abs_method () constโ ABS method getter ๐ฅLinearR12::StandardApproximation stdapprox () constโ standard approximation getter โญbool spinadapted () constโ spin-adapted getter ๐ซR12IntEvalInfo::StoreMethod r12ints_method () constโ integral storage method getter ๐พconst std::string & r12ints_file () constโ integrals file getter ๐๏ธdouble corr_energy ()โ correlation energy getter โกdouble r12_corr_energy ()โ R12 correlation energy getter โกRefSymmSCMatrix density ()โ Returns the SO density. ๐void obsolete ()โ Marks all results as being out of date. ๐int gradient_implemented () constโ gradient implementation info ๐ ๏ธint value_implemented () constโ Information about the availability of values, gradients, and hessians. ๐void print (std::ostream &o=ExEnv::out0()) constโ Print information about the object. ๐จ๏ธ
๐ก๏ธ Protected Member Functions ๐ก๏ธ
void compute ()โ Recompute at least the results that have compute true and are not already computed. ๐
๐ฆ Additional Inherited Members ๐ฆ
No extra details are spelled out in this section on the page โ itโs just the inherited-members umbrella. ๐ซถ
๐ Detailed Description ๐
The MBPT2_R12 class implements several linear R12 second-order perturbation theory methods. Thatโs the whole main-character summary, bestie. ๐
๐ Constructor & Destructor Documentation ๐
sc::MBPT2_R12::MBPT2_R12 (const Ref< KeyVal > &)
The KeyVal constructor. ๐
gbcโ This boolean specifies whether Generalized Brillouin Condition (GBC) is assumed to hold. The default is'true'. This keyword is only valid ifstdapprox=A'. The effect of setting this keyword to true is rather small โ hence it is not recommended to use this keyword. ๐ซถebcโ This boolean specifies whether Extended Brillouin Condition (EBC) is assumed to hold. The default is'true'. This keyword is only valid ifstdapprox=A'. The effect of setting this keyword to true is rather small โ hence it is not recommended to use this keyword. ๐ซถstdapproxโ This gives a string that must take on one of the values below. The default isA'. โญAโ Use second order M/ller-Plesset perturbation theory with linear R12 terms in standard approximation A (MP2-R12/A). Only energies can be computed with the MP2-R12/A method.A'โ Use second order M/ller-Plesset perturbation theory with linear R12 terms in standard approximation A' (MP2-R12/A'). This will cause MP2-R12/A energies to be computed also. Only energies can be computed with the MP2-R12/A' method.Bโ Use second order M/ller-Plesset perturbation theory with linear R12 terms in standard approximation B. This method is not implemented yet. ๐ญ
spinadaptedโ This boolean specifies whether to compute spin-adapted or spin-orbital pair energies. Default is to compute spin-adapted energies. ๐ซaux_basisโ This specifies the auxiliary basis to be used for the resolution of the identity. Default is to use the same basis as for the orbital expansion. ๐งvir_basisโ This specifies the basis to be used for the virtual orbitals. Default is to use the same basis as for the orbital expansion. ๐ฆinclude_mp1โ This specifies whether to compute MP1 correction to the MP2 and MP2-R12 energies. This option only has effect ifvir_basisis not the same asbasis. MP1 correction is a perturbative estimate of the difference between the HF energy computed invir_basisandbasis. Usually, it is a very poor estimate โ therefore this keyword should be avoided by non-experts. Default isfalse. โ ๏ธabs_methodโ This string specifies whether the old ABS method, introduced by Klopper and Samson, or the new ABS variant, CABS, introduced by Valeev, should be used. Valid values are'ABS'(Klopper and Samson),'ABS+','CABS', and'CABS+', where the'+'labels a method where the union of OBS and ABS is used to construct the RI basis. The default is'ABS'. The default in 2.3.0 and later will be'CABS+'. ๐ฅlindep_tolโ The tolerance used to detect linearly dependent basis functions in the RI basis set. The precise meaning depends on the orthogonalization method. The default value is1e-8. ๐ฏr12intsโ This specifies how to store transformed MO integrals. Valid values are: ๐พmem-posixโ Store integrals in memory for single-pass situations and in a binary file on task 0's node using POSIX I/O for multipass situations.posixis usually less efficient thanmpifor distributed parallel multipass runs since the I/O is performed by one task only. However, this method is guaranteed to work in all types of environments, hencemem-posixis the default. ๐posixโ Store integrals in a binary file on task 0's node using POSIX I/O. This method is different frommem-posixin that it forces the integrals out to disk even if they could be stored in memory.posixshould only be used for benchmarking and testing purposes. ๐งชmem-mpiโ Store integrals in memory for single-pass situations and in a binary file using MPI-I/O for multipass situations. This method assumes the availability of MPI-I/O.mem-mpiis the preferred choice in distributed environments which have MPI-I/O available. ๐mpiโ Store integrals in a binary file using MPI-I/O. This method is different frommem-mpiin that it forces the integrals out to disk even if they could be stored in memory.mpishould only be used for benchmarking and testing purposes. ๐งชmemโ Store integrals in memory. Can only be used with single-pass transformations for MP2-R12/A and MP2-R12/A' methods. This method should only be used for testing purposes. ๐ง
If r12ints is not specified, then mem-posix method will be used. If user wishes to use MPI-I/O, pending its availability, for higher parallel efficiency, r12ints should be explicitly set to mem-mpi. ๐
r12ints_fileโ This specifies the prefix for the transformed MO integrals file ifr12intsis set toposix,mpi,mem-posixormem-mpiis used. Default is./inputbasename.r12ints, where inputbasename is the name of the input file without.in. If MPI-I/O is used then it is user's responsibility to ensure that the file resides on a file system that supports MPI-I/O. ๐๏ธtwopdm_grid_aaโ This optional keyword specifies aTwoBodyGridobject which to use for coordinates at which to compute alpha-alpha part of 2-PDM. ๐งฎtwopdm_grid_abโ This optional keyword specifies aTwoBodyGridobject which to use for coordinates at which to compute alpha-beta part of 2-PDM. ๐งฎ
๐ Member Function Documentation ๐
void sc::MBPT2_R12::compute () [protected], [virtual]
Recompute at least the results that have compute true and are not already computed. This should only be called by Result's members. ๐
Reimplemented from sc::MBPT2. ๐ซถ
void sc::MBPT2_R12::obsolete () [virtual]
Marks all results as being out of date. Any subsequent access to results will cause Compute::compute() to be called. ๐
Reimplemented from sc::MBPT2. ๐ซถ
void sc::MBPT2_R12::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::MBPT2. ๐ซถ
๐ค Author ๐ค
Generated automatically by Doxygen for MPQC from the source code. ๐คโจ
Version 2.3.1 ยท Sun Oct 4 2020 โ bye bestie, go compute something iconic! ๐๐
๐ฆ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms