#include <transform_tbint.h>
Inheritance diagram for sc::TwoBodyMOIntsTransform:
Public Member Functions | |
TwoBodyMOIntsTransform (StateIn &) | |
TwoBodyMOIntsTransform (const std::string &name, const Ref< MOIntsTransformFactory > &factory, const Ref< MOIndexSpace > &space1, const Ref< MOIndexSpace > &space2, const Ref< MOIndexSpace > &space3, const Ref< MOIndexSpace > &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. | |
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. | |
Ref< MemoryGrp > | mem () const |
Returns the MemoryGrp object. | |
Ref< MessageGrp > | msg () const |
Returns the MessageGrp object. | |
Ref< R12IntsAcc > | ints_acc () const |
Returns the integrals accumulator object. | |
Ref< MOIndexSpace > | space1 () const |
Returns MOIndexSpace object 1. | |
Ref< MOIndexSpace > | space2 () const |
Returns MOIndexSpace object 2. | |
Ref< MOIndexSpace > | space3 () const |
Returns MOIndexSpace object 3. | |
Ref< MOIndexSpace > | space4 () const |
Returns MOIndexSpace object 4. | |
double | print_percent () const |
Returns the update print frequency. | |
int | batchsize () const |
Returns the batchsize for each pass of the transformation. | |
int | debug () const |
Returns the debug level. | |
bool | dynamic () const |
Returns whether to use dynamic load balancing. | |
int | num_te_types () const |
Returns the number of types of two body integrals computed. | |
virtual const 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_num_te_types (const int num_te_types) |
Specifies how many integral types computed by TwoBodyInt to be transformed Default is 1. | |
void | set_memory (const size_t memory) |
void | set_debug (int debug) |
void | set_dynamic (bool dynamic) |
void | set_print_percent (double print_percent) |
virtual void | compute ()=0 |
Computes transformed integrals. | |
virtual void | check_int_symm (double threshold=TwoBodyMOIntsTransform::zero_integral) const =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. | |
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 () |
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. | |
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< R12IntsAcc > | ints_acc_ |
Ref< MOIndexSpace > | space1_ |
Ref< MOIndexSpace > | space2_ |
Ref< MOIndexSpace > | space3_ |
Ref< MOIndexSpace > | space4_ |
int | num_te_types_ |
size_t | memory_ |
bool | dynamic_ |
double | print_percent_ |
DistShellPair::SharedData | spdata_ |
int | debug_ |
MOIntsTransformFactory::StoreMethod | ints_method_ |
std::string | file_prefix_ |
size_t | mem_static_ |
int | batchsize_ |
int | npass_ |
Static Protected Attributes | |
static const double | zero_integral = 1.0e-12 |
By default, integrals smaller than zero_integral are considered zero. | |
Classes | |
struct | MOSpaces |
Predefined enumerated type for the MO spaces. More... |
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_header | ( | std::ostream & | os = ExEnv::out0() |
) | const [protected] |
Prints out standard header.
Call at the beginning of compute().
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::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_ijxy, sc::TwoBodyMOIntsTransform_ikjy, and sc::TwoBodyMOIntsTransform_ixjy.
virtual const 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_ijxy, sc::TwoBodyMOIntsTransform_ikjy, and sc::TwoBodyMOIntsTransform_ixjy.
void sc::TwoBodyMOIntsTransform::set_num_te_types | ( | const int | num_te_types | ) |
Specifies how many integral types computed by TwoBodyInt to be transformed Default is 1.
DistShellPair::SharedData* sc::TwoBodyMOIntsTransform::shell_pair_data | ( | ) | [inline] |
Returns a that data that must be shared between all DistShellPair objects.
const double sc::TwoBodyMOIntsTransform::zero_integral = 1.0e-12 [static, protected] |
By default, integrals smaller than zero_integral are considered zero.
This constant is only used in checking integrals, not computing them.