.TH "sc::TwoBodyMOIntsTransform" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::TwoBodyMOIntsTransform \- \fBTwoBodyMOIntsTransform\fP computes two-body integrals in MO basis using parallel integrals-direct AO->MO transformation\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SavableState\fP\&. .PP Inherited by \fBsc::TwoBodyMOIntsTransform_ijxy\fP, \fBsc::TwoBodyMOIntsTransform_ikjy\fP, and \fBsc::TwoBodyMOIntsTransform_ixjy\fP\&. .SS "Classes" .in +1c .ti -1c .RI "struct \fBMOSpaces\fP" .br .RI "Predefined enumerated type for the MO spaces\&. " .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBTwoBodyMOIntsTransform\fP (\fBStateIn\fP &)" .br .ti -1c .RI "\fBTwoBodyMOIntsTransform\fP (const std::string &\fBname\fP, const \fBRef\fP< \fBMOIntsTransformFactory\fP > &factory, const \fBRef\fP< \fBMOIndexSpace\fP > &\fBspace1\fP, const \fBRef\fP< \fBMOIndexSpace\fP > &\fBspace2\fP, const \fBRef\fP< \fBMOIndexSpace\fP > &\fBspace3\fP, const \fBRef\fP< \fBMOIndexSpace\fP > &\fBspace4\fP)" .br .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "std::string \fBname\fP () const" .br .RI "Returns the name of the transform\&. " .ti -1c .RI "virtual std::string \fBtype\fP () const =0" .br .RI "Returns a short label which uniquely identifies the type of transform\&. " .ti -1c .RI "\fBRef\fP< \fBMemoryGrp\fP > \fBmem\fP () const" .br .RI "Returns the \fBMemoryGrp\fP object\&. " .ti -1c .RI "\fBRef\fP< \fBMessageGrp\fP > \fBmsg\fP () const" .br .RI "Returns the \fBMessageGrp\fP object\&. " .ti -1c .RI "\fBRef\fP< \fBR12IntsAcc\fP > \fBints_acc\fP () const" .br .RI "Returns the integrals accumulator object\&. " .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace1\fP () const" .br .RI "Returns \fBMOIndexSpace\fP object 1\&. " .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace2\fP () const" .br .RI "Returns \fBMOIndexSpace\fP object 2\&. " .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace3\fP () const" .br .RI "Returns \fBMOIndexSpace\fP object 3\&. " .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace4\fP () const" .br .RI "Returns \fBMOIndexSpace\fP object 4\&. " .ti -1c .RI "double \fBprint_percent\fP () const" .br .RI "Returns the update print frequency\&. " .ti -1c .RI "int \fBbatchsize\fP () const" .br .RI "Returns the batchsize for each pass of the transformation\&. " .ti -1c .RI "int \fBdebug\fP () const" .br .RI "Returns the debug level\&. " .ti -1c .RI "bool \fBdynamic\fP () const" .br .RI "Returns whether to use dynamic load balancing\&. " .ti -1c .RI "int \fBnum_te_types\fP () const" .br .RI "Returns the number of types of two body integrals computed\&. " .ti -1c .RI "virtual const size_t \fBmemgrp_blksize\fP () const =0" .br .RI "Returns the number of bytes allocated for each ij-block of integrals of one type in \fBMemoryGrp\fP\&. " .ti -1c .RI "void \fBset_top_mole\fP (const \fBRef\fP< \fBMolecularEnergy\fP > &top_mole)" .br .RI "Specifies the top-level \fBMolecularEnergy\fP object to use for checkpointing\&. " .ti -1c .RI "void \fBset_num_te_types\fP (const int \fBnum_te_types\fP)" .br .RI "Specifies how many integral types computed by \fBTwoBodyInt\fP to be transformed Default is 1\&. " .ti -1c .RI "void \fBset_memory\fP (const size_t memory)" .br .ti -1c .RI "void \fBset_debug\fP (int \fBdebug\fP)" .br .ti -1c .RI "void \fBset_dynamic\fP (bool \fBdynamic\fP)" .br .ti -1c .RI "void \fBset_print_percent\fP (double \fBprint_percent\fP)" .br .ti -1c .RI "virtual void \fBcompute\fP ()=0" .br .RI "Computes transformed integrals\&. " .ti -1c .RI "virtual void \fBcheck_int_symm\fP (double threshold=\fBTwoBodyMOIntsTransform::zero_integral\fP) const =0 throw (ProgrammingError)" .br .RI "Check symmetry of transformed integrals\&. " .ti -1c .RI "virtual void \fBobsolete\fP ()" .br .RI "Make the transform obsolete\&. Next call to \fBcompute()\fP will recompute\&. " .ti -1c .RI "\fBDistShellPair::SharedData\fP * \fBshell_pair_data\fP ()" .br .RI "Returns a that data that must be shared between all \fBDistShellPair\fP objects\&. " .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "unsigned int \fBrestart_orbital\fP () const" .br .RI "returns index in range of space1_ where to start the transformation " .ti -1c .RI "void \fBinit_vars\fP ()" .br .ti -1c .RI "void \fBreinit_acc\fP ()" .br .ti -1c .RI "void \fBalloc_mem\fP (const size_t localmem)" .br .ti -1c .RI "void \fBdealloc_mem\fP ()" .br .ti -1c .RI "int \fBcompute_transform_batchsize_\fP (size_t mem_static, int rank_i)" .br .ti -1c .RI "void \fBmemory_report\fP (std::ostream &os=\fBExEnv::out0\fP()) const" .br .RI "Generates a report on memory for the transform : user-specified limits, projected and actual use\&. " .ti -1c .RI "void \fBmospace_report\fP (std::ostream &os=\fBExEnv::out0\fP()) const" .br .RI "Generates a report on MO spaces for the transform\&. " .ti -1c .RI "void \fBprint_header\fP (std::ostream &os=\fBExEnv::out0\fP()) const" .br .RI "Prints out standard header\&. " .ti -1c .RI "void \fBprint_footer\fP (std::ostream &os=\fBExEnv::out0\fP()) const" .br .RI "Prints out standard footer\&. " .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static int \fBcompute_nij\fP (const int rank_i, const int rank_j, const int nproc, const int me)" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "std::string \fBname_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMOIntsTransformFactory\fP > \fBfactory_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMolecularEnergy\fP > \fBtop_mole_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMessageGrp\fP > \fBmsg_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMemoryGrp\fP > \fBmem_\fP" .br .ti -1c .RI "\fBRef\fP< \fBThreadGrp\fP > \fBthr_\fP" .br .ti -1c .RI "\fBRef\fP< \fBR12IntsAcc\fP > \fBints_acc_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace1_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace2_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace3_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMOIndexSpace\fP > \fBspace4_\fP" .br .ti -1c .RI "int \fBnum_te_types_\fP" .br .ti -1c .RI "size_t \fBmemory_\fP" .br .ti -1c .RI "bool \fBdynamic_\fP" .br .ti -1c .RI "double \fBprint_percent_\fP" .br .ti -1c .RI "\fBDistShellPair::SharedData\fP \fBspdata_\fP" .br .ti -1c .RI "int \fBdebug_\fP" .br .ti -1c .RI "\fBMOIntsTransformFactory::StoreMethod\fP \fBints_method_\fP" .br .ti -1c .RI "std::string \fBfile_prefix_\fP" .br .ti -1c .RI "size_t \fBmem_static_\fP" .br .ti -1c .RI "int \fBbatchsize_\fP" .br .ti -1c .RI "int \fBnpass_\fP" .br .in -1c .SS "Static Protected Attributes" .in +1c .ti -1c .RI "static constexpr double \fBzero_integral\fP = 1\&.0e\-12" .br .RI "By default, integrals smaller than zero_integral are considered zero\&. " .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP \fBTwoBodyMOIntsTransform\fP computes two-body integrals in MO basis using parallel integrals-direct AO->MO transformation\&. .SH "Member Function Documentation" .PP .SS "virtual const size_t sc::TwoBodyMOIntsTransform::memgrp_blksize () const\fC [pure virtual]\fP" .PP Returns the number of bytes allocated for each ij-block of integrals of one type in \fBMemoryGrp\fP\&. It's guaranteed to be divisible by sizeof(double)\&. .PP Implemented in \fBsc::TwoBodyMOIntsTransform_ixjy\fP, \fBsc::TwoBodyMOIntsTransform_ikjy\fP, and \fBsc::TwoBodyMOIntsTransform_ijxy\fP\&. .SS "void sc::TwoBodyMOIntsTransform::memory_report (std::ostream & os = \fC\fBExEnv::out0\fP()\fP) const\fC [protected]\fP" .PP Generates a report on memory for the transform : user-specified limits, projected and actual use\&. Assumes formatting info from \fBExEnv::out0()\fP\&. .SS "void sc::TwoBodyMOIntsTransform::mospace_report (std::ostream & os = \fC\fBExEnv::out0\fP()\fP) const\fC [protected]\fP" .PP Generates a report on MO spaces for the transform\&. Assumes formatting info from \fBExEnv::out0()\fP\&. .SS "void sc::TwoBodyMOIntsTransform::print_footer (std::ostream & os = \fC\fBExEnv::out0\fP()\fP) const\fC [protected]\fP" .PP Prints out standard footer\&. Call at the end of \fBcompute()\fP\&. .SS "void sc::TwoBodyMOIntsTransform::print_header (std::ostream & os = \fC\fBExEnv::out0\fP()\fP) const\fC [protected]\fP" .PP Prints out standard header\&. Call at the beginning of \fBcompute()\fP\&. .SS "void sc::TwoBodyMOIntsTransform::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented from \fBsc::SavableState\fP\&. .SH "Member Data Documentation" .PP .SS "constexpr double sc::TwoBodyMOIntsTransform::zero_integral = 1\&.0e\-12\fC [static]\fP, \fC [constexpr]\fP, \fC [protected]\fP" .PP By default, integrals smaller than zero_integral are considered zero\&. This constant is only used in checking integrals, not computing them\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.