|
MPQC
3.0.0-alpha
|
TwoBodyMOIntsTransform computes two-body integrals in MO basis using parallel integrals-direct AO->MO transformation. More...
#include <chemistry/qc/lcao/transform_tbint.h>

Classes | |
| struct | MOSpaces |
| Predefined enumerated type for the MO spaces. More... | |
Public Member Functions | |
| TwoBodyMOIntsTransform (StateIn &) | |
| TwoBodyMOIntsTransform (const std::string &name, const Ref< MOIntsTransformFactory > &factory, const Ref< TwoBodyIntDescr > &tbintdescr, const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, const Ref< OrbitalSpace > &space3, const Ref< OrbitalSpace > &space4) | |
| 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. | |
|
const Ref < MOIntsTransformFactory > & | factory () const |
| factory who created this | |
| std::string | name () const |
| Returns the name of the transform. | |
| virtual std::string | type () const =0 |
| Returns a short label which uniquely identifies the type of transform. | |
| const Ref< MemoryGrp > & | mem () const |
| Returns the MemoryGrp object. | |
| const Ref< MessageGrp > & | msg () const |
| Returns the MessageGrp object. | |
| const Ref< TwoBodyIntDescr > & | intdescr () const |
| Returns the integral set descriptor. | |
| const Ref< DistArray4 > & | ints_distarray4 () |
| Returns the DistArray4 object that holds the integrals. | |
| const Ref< OrbitalSpace > & | space1 () const |
| Returns OrbitalSpace object 1. | |
| const Ref< OrbitalSpace > & | space2 () const |
| Returns OrbitalSpace object 2. | |
| const Ref< OrbitalSpace > & | space3 () const |
| Returns OrbitalSpace object 3. | |
| const Ref< OrbitalSpace > & | space4 () const |
| Returns OrbitalSpace object 4. | |
| virtual void | partially_transformed_ints (const Ref< DistArray4 > &) |
| Supplies the partially transformed integrals. | |
| size_t | memory () const |
| Returns amount of memory used by this object after compute() has been called. | |
| size_t | peak_memory () const |
| Returns the maximum amount of memory that will be used by this object. | |
| int | batchsize () const |
| Returns the batchsize for each pass of the transformation. | |
| bool | dynamic () const |
| Returns whether to use dynamic load balancing. | |
| unsigned int | num_te_types () const |
| Returns the number of types of two body integrals computed. | |
| virtual size_t | memgrp_blksize () const =0 |
| Returns the number of bytes allocated for each ij-block of integrals of one type in MemoryGrp. | |
| void | set_top_mole (const Ref< MolecularEnergy > &top_mole) |
| Specifies the top-level MolecularEnergy object to use for checkpointing. | |
| void | set_dynamic (bool dynamic) |
| virtual void | compute ()=0 |
| Computes transformed integrals. | |
| virtual void | check_int_symm (double threshold=TwoBodyMOIntsTransform::zero_integral)=0 throw (ProgrammingError) |
| Check symmetry of transformed integrals. | |
| virtual void | obsolete () |
| Make the transform obsolete. Next call to compute() will recompute. | |
| DistShellPair::SharedData * | shell_pair_data () |
| Returns a that data that must be shared between all DistShellPair objects. | |
Static Public Member Functions | |
| static void | set_print_percent (double pp) |
| static double | print_percent () |
| static void | set_debug (int d) |
| static int | debug () |
Protected Member Functions | |
| unsigned int | restart_orbital () const |
| returns index in range of space1_ where to start the transformation | |
| void | init_vars () |
| void | reinit_acc () |
| void | alloc_mem (const size_t localmem) |
| void | dealloc_mem () |
| void | set_memgrp (const Ref< MemoryGrp > &new_mem) |
| int | compute_transform_batchsize_ (size_t mem_static, int rank_i) |
| void | memory_report (std::ostream &os=ExEnv::out0()) const |
| Generates a report on memory for the transform : user-specified limits, projected and actual use. | |
| void | mospace_report (std::ostream &os=ExEnv::out0()) const |
| Generates a report on MO spaces for the transform. | |
| void | print_header (std::ostream &os=ExEnv::out0()) const |
| Prints out standard header. | |
| void | print_footer (std::ostream &os=ExEnv::out0()) const |
| Prints out standard footer. | |
| void | check_tbint (const Ref< TwoBodyInt > &tbint) const |
| Checks whether this TwoBodyInt is compatible with this TwoBodyMOIntsTransform. | |
Static Protected Member Functions | |
| static int | compute_nij (const int rank_i, const int rank_j, const int nproc, const int me) |
Protected Attributes | |
| std::string | name_ |
| Ref< MOIntsTransformFactory > | factory_ |
| Ref< MolecularEnergy > | top_mole_ |
| Ref< MessageGrp > | msg_ |
| Ref< MemoryGrp > | mem_ |
| Ref< ThreadGrp > | thr_ |
| Ref< TwoBodyIntDescr > | tbintdescr_ |
| Ref< DistArray4 > | ints_acc_ |
| Ref< OrbitalSpace > | space1_ |
| Ref< OrbitalSpace > | space2_ |
| Ref< OrbitalSpace > | space3_ |
| Ref< OrbitalSpace > | space4_ |
| int | restart_orbital_ |
| size_t | peak_memory_ |
| size_t | memory_ |
| bool | dynamic_ |
| DistShellPair::SharedData | spdata_ |
| MOIntsTransform::StoreMethod::type | ints_method_ |
| std::string | file_prefix_ |
| size_t | max_memory_ |
| size_t | static_memory_ |
| int | batchsize_ |
| int | npass_ |
Static Protected Attributes | |
| static double | zero_integral |
| By default, integrals smaller than zero_integral are considered zero. | |
TwoBodyMOIntsTransform computes two-body integrals in MO basis using parallel integrals-direct AO->MO transformation.
The target MO integrals are put into an DistArray4 object.
| const Ref<DistArray4>& sc::TwoBodyMOIntsTransform::ints_distarray4 | ( | ) |
Returns the DistArray4 object that holds the integrals.
Referenced by sc::R12IntEval::compute_tbint_tensor(), and sc::R12IntEval::contract_tbint_tensors_to_obtensor().
| virtual size_t sc::TwoBodyMOIntsTransform::memgrp_blksize | ( | ) | const [pure virtual] |
Returns the number of bytes allocated for each ij-block of integrals of one type in MemoryGrp.
It's guaranteed to be divisible by sizeof(double).
Implemented in sc::TwoBodyMOIntsTransform_ixjy_df, sc::TwoBodyMOIntsTransform_iRjS, sc::TwoBodyMOIntsTransform_ixjy, sc::TwoBodyMOIntsTransform_ijxy, and sc::TwoBodyMOIntsTransform_ikjy.
| void sc::TwoBodyMOIntsTransform::memory_report | ( | std::ostream & | os = ExEnv::out0() | ) | const [protected] |
Generates a report on memory for the transform : user-specified limits, projected and actual use.
Assumes formatting info from ExEnv::out0().
| void sc::TwoBodyMOIntsTransform::mospace_report | ( | std::ostream & | os = ExEnv::out0() | ) | const [protected] |
Generates a report on MO spaces for the transform.
Assumes formatting info from ExEnv::out0().
| void sc::TwoBodyMOIntsTransform::print_footer | ( | std::ostream & | os = ExEnv::out0() | ) | const [protected] |
Prints out standard footer.
Call at the end of compute().
| void sc::TwoBodyMOIntsTransform::print_header | ( | std::ostream & | os = ExEnv::out0() | ) | const [protected] |
Prints out standard header.
Call at the beginning of compute().
| void sc::TwoBodyMOIntsTransform::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.
Reimplemented in sc::TwoBodyMOIntsTransform_ixjy_df, sc::TwoBodyMOIntsTransform_ixjy, sc::TwoBodyMOIntsTransform_iRjS, sc::TwoBodyMOIntsTransform_ikjy, and sc::TwoBodyMOIntsTransform_ijxy.
Returns a that data that must be shared between all DistShellPair objects.
double sc::TwoBodyMOIntsTransform::zero_integral [static, protected] |
By default, integrals smaller than zero_integral are considered zero.
This constant is only used in checking integrals, not computing them.