# FreeBSD Manual Pages

sc::MBPT2(3) MPQC sc::MBPT2(3)NAMEsc::MBPT2 - TheMBPT2class implements several second-order perturbation theory methods.SYNOPSIS#include <mbpt.h> Inheritssc::Wavefunction. Inherited bysc::MBPT2_R12.PublicMemberFunctionsMBPT2(StateIn&)MBPT2(constRef<KeyVal> &) TheKeyValconstructor. voidsave_data_state(StateOut&) Save the base classes (with save_data_state) and the members in the same order that theStateInCTOR initializes them.Ref<SCF>ref() doubleref_energy() doublecorr_energy()RefSCVectorref_energy_gradient()RefSCVectorcorr_energy_gradient() intnelectron() Returns the number of electrons. intnfzcore() const intnfzvirt() constRefSymmSCMatrixdensity() Returns theSOdensity. intspin_polarized() Return 1 if the alpha density is not equal to the beta density. intgradient_implemented() const intvalue_implemented() const Information about the availability of values, gradients, and hessians. voidsymmetry_changed() Call this if you have changed the molecular symmetry of the molecule contained by thisMolecularEnergy. voidobsolete() Marks all results as being out of date. voidExEnv::out0()) const Print information about the object.ProtectedMemberFunctionsvoidinit_variables() voidcompute() Recompute at least the results that have compute true and are not already computed. voideigen(RefDiagSCMatrix&vals,RefSCMatrix&vecs,RefDiagSCMatrix&occs) voidcompute_hsos_v1()distsize_tcompute_v2_memory(int ni, int nfuncmax, int nbfme, int nshell, int ndocc, int nsocc, int nvir, int nproc) voidcompute_hsos_v2() voidcompute_hsos_v2_lb() intcompute_cs_batchsize(size_t mem_static, int nocc_act)distsize_tcompute_cs_dynamic_memory(int ni, int nocc_act) intmake_cs_gmat(RefSymmSCMatrix&Gmat, double *DPmat) intmake_cs_gmat_new(RefSymmSCMatrix&Gmat, constRefSymmSCMatrix&DPmat) voidform_max_dens(double *DPmat, signed char *maxp) intinit_cs_gmat() voiddone_cs_gmat() intmake_g_d_nor(RefSymmSCMatrix&Gmat, double *DPmat, const double *mgdbuff) voidcs_cphf(double **scf_vector, double *Laj, double *eigval,RefSCMatrix&P2aj) voids2pdm_contrib(const double *intderbuf, double *PHF, double *P2AO, double **hf_ginter, double **ginter) voidhcore_cs_grad(double *PHF, double *PMP2, double **hf_ginter, double **ginter) voidoverlap_cs_grad(double *WHF, double *WMP2, double **hf_ginter, double **ginter) voidcompute_cs_grad()ProtectedAttributesRef<SCF>reference_Ref<MemoryGrp>memintnfzcintnfzvsize_tmem_allocdoublecphf_epsilon_ inteliminate_in_gmat_ const double *intbuf_Ref<TwoBodyInt>tbint_Ref<TwoBodyInt> *tbints_Ref<TwoBodyDerivInt> *tbintder_ intnbasisintnosoRef<MessageGrp>msg_ intnvirintnoccintnsoccRef<ThreadGrp>thr_ intdynamic_ doublepercent_ intmax_norb_ int *symorb_irrep_ int *symorb_num_ char *method_ char *algorithm_ intdo_d1_ intdo_d2_ intnfuncmaxdoublehf_energy_RefSCVectorhf_gradient_ doublerestart_ecorr_ intrestart_orbital_v1_ intrestart_orbital_memgrp_AdditionalInheritedMembersDetailed DescriptionTheMBPT2class implements several second-order perturbation theory methods.Constructor & Destructor Documentationsc::MBPT2::MBPT2(constRef<KeyVal> &)TheKeyValconstructor.referenceThis gives the reference wavefunction. It must be an object of typeCLSCFfor closed-shell molecules andHSOSSCFfor open-shell molecules. The is no default.nfzcThe number of frozen core orbitals. The default is 0. If no atoms have an atomic number greater than 30, then the number of orbitals to be frozen can be automatically determined by specifying nfzc = auto.nfzvThe number of frozen virtual orbitals. The default is 0.memoryThe amount of memory, in bytes, that each processor may use.methodThis gives a string that must take on one of the values below. The default is mp for closed-shell systems and zapt for open-shell systems.mpUse M/ller-Plesset perturbation theory. This is only valid for closed-shell systems. Energies and gradients can be computed with this method.opt1Use the OPT1 variant of open-shell perturbation theory. Only energies can be computed for open-shell systems.opt2Use the OPT2 variant of open-shell perturbation theory. Only energies can be computed for open-shell systems.zaptUse the ZAPT variant of open-shell perturbation theory. Only energies can be computed for open-shell systems.algorithmThis gives a string that must take on one of the values given below. The default is memgrp for closed-shell systems. For open- shell systems v1 is used for a small number of processors and v2 is used otherwise.memgrpUse the distributed shared memory algorithm (which uses aMemoryGrpobject). This is only valid for MP2 energies and gradients.v1Use algorithm V1. Only energies can be computed. The maximum number of processors that can be utilized is the number of virtual orbitals. This algorithm computes few integrals than the others, but has higher communication requirements.v2Use algorithm V2. Only energies can be computed. The maximum number of processors that can be utilized is the number of shells.v2lbUse a modified V2 algorithm that may compute more two electron integrals, but may get better load balance on the $O(n_thrm{basis}^5)$ part of the calculation. Only energies can be computed. This is recommended only for computations involving large molecules (where the transformation is dominant) on very many processors (approaching the number of shells). The v1 and v2 algorithms are discussed in Ida M. B. Nielsen and Edward T. Seidl, J. Comp. Chem. 16, 1301 (1995). The memgrp algorithm is discussed in Ida M. B. Nielsen, Chem. Phys. Lett. 255, 210 (1996).memorygrpAMemoryGrpobject is used by the memgrp algorithm. If this is not given the program will try to find an appropriate default.Member Function Documentationvoidsc::MBPT2::compute()[protected],[virtual]Recompute at least the results that have compute true and are not already computed. This should only be called byResult's members. Implementssc::Compute. Reimplemented insc::MBPT2_R12.voidsc::MBPT2::obsolete()[virtual]Marks all results as being out of date. Any subsequent access to results will causeCompute::compute()to be called. Reimplemented fromsc::Compute. Reimplemented insc::MBPT2_R12.voidsc::MBPT2::save_data_state(StateOut&)[virtual]Save the base classes (with save_data_state) and the members in the same order that theStateInCTOR initializes them. This must be implemented by the derived class if the class has data. Reimplemented fromsc::MolecularEnergy. Reimplemented insc::MBPT2_R12.voidsc::MBPT2::symmetry_changed()[virtual]Call this if you have changed the molecular symmetry of the molecule contained by thisMolecularEnergy. Reimplemented fromsc::MolecularEnergy.intsc::MBPT2::value_implemented()const[virtual]Information about the availability of values, gradients, and hessians. Reimplemented fromsc::Function. Reimplemented insc::MBPT2_R12.AuthorGenerated automatically by Doxygen for MPQC from the source code. Version 2.3.1 Mon Jul 3 2017 sc::MBPT2(3)

NAME | SYNOPSIS | Detailed Description | Constructor & Destructor Documentation | Member Function Documentation | Author

Want to link to this manual page? Use this URL:

<https://www.freebsd.org/cgi/man.cgi?query=sc_MBPT2&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>