sc::R12IntEvalInfo Class Reference

Class R12IntEvalInfo contains information necessary for R12 intermediate evaluators. More...

#include <chemistry/qc/mbptr12/vxb_eval_info.h>

Inheritance diagram for sc::R12IntEvalInfo:

Inheritance graph
[legend]

List of all members.

Public Types

typedef
MOIntsTransformFactory::StoreMethod 
StoreMethod
 Describes the method of storing transformed MO integrals. See MBPT2_R12.

Public Member Functions

 R12IntEvalInfo (StateIn &)
 R12IntEvalInfo (const Ref< KeyVal > &keyval, Wavefunction *wfn, const Ref< SCF > &ref, unsigned int nfzc, unsigned int nfzv, bool spinadapted, bool deflayed_initialization=false)
 KeyVal constructor uses keywords of R12Technology and the following keywords.
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.
void initialize ()
 performs tasks that semantically belong in constructor but can't be performed there
void set_dynamic (bool dynamic)
 Sets whether to use dynamic load balancing in parallel MO transformations.
void set_print_percent (double print_percent)
 Sets how frequently updates of progress are printed out. Default is 10%.
void set_debug_level (int debug)
 Set debug level. Default is 0.
void set_ints_method (const StoreMethod::type method)
 Sets the method of storing transformed MO integrals.
void set_ints_file (const std::string &filename)
 Sets name of the file used to store transformed integrals.
void set_memory (const size_t nbytes)
 Sets the amount of memory to use for the calculation.
Wavefunctionwfn () const
Ref< R12Technologyr12tech () const
Ref< Integralintegral () const
Ref< GaussianBasisSetbasis () const
 Returns the orbital basis set (OBS) object.
Ref< GaussianBasisSetbasis_vir () const
 Returns the virtuals basis set (VBS) obje19ct.
Ref< GaussianBasisSetbasis_ri () const
 Returns the resolution-of-the-identity basis set (RIBS) object.
Ref< SCMatrixKitmatrixkit () const
Ref< MemoryGrpmem () const
Ref< MessageGrpmsg () const
Ref< ThreadGrpthr () const
bool dynamic () const
double print_percent () const
int debug_level () const
const StoreMethod::type ints_method () const
const std::string & ints_file () const
const size_t memory () const
int nvir () const
int nvir_act () const
const Ref
< LinearR12::CorrelationFactor > & 
corrfactor () const
LinearR12::StandardApproximation stdapprox () const
const Ref< LinearR12Ansatz > & ansatz () const
LinearR12::ABSMethod abs_method () const
bool bc () const
 return true if the Brillouin condition does not hold (e.g., if ROHF reference is used, or VBS != OBS)
bool gbc () const
bool ebc () const
bool spinadapted () const
unsigned int maxnabs () const
bool omit_P () const
bool safety_check () const
const
LinearR12::PositiveDefiniteB & 
posdef_B () const
const Ref< OrbitalSpace > & vir () const
 Returns the OrbitalSpace object for all unoccupied MOs ordered by energy.
const Ref< OrbitalSpace > & vir_sb () const
 Returns the OrbitalSpace object for all unoccupied MOs ordered by symmetry.
const Ref< OrbitalSpace > & vir_act () const
 Returns the OrbitalSpace object for the active unoccupied MOs.
const Ref< OrbitalSpace > & vir (const SpinCase1 &S) const
 Returns the OrbitalSpace object for all unoccupied MOs ordered by energy.
const Ref< OrbitalSpace > & vir_sb (const SpinCase1 &S) const
 Returns the OrbitalSpace object for all unoccupied MOs ordered by symmetry.
const Ref< OrbitalSpace > & vir_act (const SpinCase1 &S) const
 Returns the OrbitalSpace object for the active unoccupied MOs.
void vir (const SpinCase1 &S, const Ref< OrbitalSpace > &space)
 Cheating! fock() is not available yet standalone, thus these spaces must be modified after canonicalization.
void vir_sb (const SpinCase1 &S, const Ref< OrbitalSpace > &space)
void vir_act (const SpinCase1 &S, const Ref< OrbitalSpace > &space)
const Ref< OrbitalSpace > & abs_space () const
 Returns the OrbitalSpace object for ABS.
const Ref< OrbitalSpace > & ribs_space () const
 Returns the OrbitalSpace object for RI-BS: approximates the identity.
const Ref< OrbitalSpace > & ribs_space (const SpinCase1 &S) const
 Returns the OrbitalSpace object for RI-BS: if CABS/CABS+ -- approximates the complement to OBS, if ABS/ABS+ -- throw.
const Ref
< MOIntsTransformFactory > & 
tfactory () const
 Returns the MOIntsTransformFactory object.
const Ref< MOIntsRuntime > & moints_runtime () const
 Returns the MOIntsRuntime object.
const Ref< FockBuildRuntime > & fockbuild_runtime () const
 Returns the MOIntsRuntime object.
const Ref< SingleRefInfo > & refinfo () const
 Return the SingleRefInfo object.
void print (std::ostream &o) const
 Print the object.

Static Public Member Functions

static Ref< OrbitalSpaceorthogonalize (const std::string &id, const std::string &name, const Ref< GaussianBasisSet > &bs, const Ref< Integral > &integral, OverlapOrthog::OrthogMethod orthog_method, double lindep_tol, int &nlindep)
 Compute span of bs and create corresponding mospace referred to by name.
static Ref< OrbitalSpacegen_project (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, const std::string &id, const std::string &name, double lindep_tol)
 Project space1 on space2.
static Ref< OrbitalSpaceorthog_comp (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, const std::string &id, const std::string &name, double lindep_tol)
 Compute subspace X2 of space2 which is orthogonal complement to space1, i.e., C1.S12.X2=0, where 0 is the null matrix.
static void compute_overlap_ints (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, RefSCMatrix &S)
 Compute overlap matrices in the basis of space1 and space2.
static void compute_multipole_ints (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, RefSCMatrix &MX, RefSCMatrix &MY, RefSCMatrix &MZ, RefSCMatrix &MXX, RefSCMatrix &MYY, RefSCMatrix &MZZ)
 Compute electric dipole and quadrupole moment matrices in the basis of space1 and space2.

Classes

struct  SpinSpaces
 Maintains virtual orbitals and RI space info if VBS != OBS. More...


Detailed Description

Class R12IntEvalInfo contains information necessary for R12 intermediate evaluators.

Constructor & Destructor Documentation

sc::R12IntEvalInfo::R12IntEvalInfo ( const Ref< KeyVal > &  keyval,
Wavefunction wfn,
const Ref< SCF > &  ref,
unsigned int  nfzc,
unsigned int  nfzv,
bool  spinadapted,
bool  deflayed_initialization = false 
)

KeyVal constructor uses keywords of R12Technology and the following keywords.

store_ints
This specifies how to store transformed MO integrals. Valid values are:

posix
Store integrals in a binary file on task 0's node using POSIX I/O. This method does not allow all steps to be parallelized but it is most likely to work in all environments.

mpi
Store integrals in a binary file using MPI-I/O. This method allows parallelization of all steps, but requires MPI-I/O capability (including MPI-I/O capable file system; see keyword ints_file)

mem
Store integrals in memory. Can only be used with single-pass transformations for MP2-R12/A and MP2-R12/A' methods. This choice is the most efficient, but requires significant amount memory. It is probably only feasible when stdapprox = A'.

mem-posix
The program will choose between mem and posix automatically.

mem-mpi
The program will choose between mem and mpi automatically.

The default is posix.

ints_file
This specifies the prefix for the transformed MO integrals file if ints is set to posix or mpi. If the prefix ends in '/' (slash character) then basename.moints is appended to it where basename is the basename as defined in SCFormIO. The default value for the prefix is "./". 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.

dynamic
This boolean keyword specifies whether dynamic load balancing is used by MO integrals transforms. The default is false.


Member Function Documentation

void sc::R12IntEvalInfo::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.

void sc::R12IntEvalInfo::set_dynamic ( bool  dynamic  )  [inline]

Sets whether to use dynamic load balancing in parallel MO transformations.

void sc::R12IntEvalInfo::set_ints_method ( const StoreMethod::type  method  )  [inline]

Sets the method of storing transformed MO integrals.

Default depends on how the object was constructed.

void sc::R12IntEvalInfo::set_ints_file ( const std::string &  filename  )  [inline]

Sets name of the file used to store transformed integrals.

Default depends on how the object was constructed.

void sc::R12IntEvalInfo::set_memory ( const size_t  nbytes  ) 

Sets the amount of memory to use for the calculation.

Default is determined by DEFAULT_SC_MEMORY.

static Ref<OrbitalSpace> sc::R12IntEvalInfo::orthogonalize ( const std::string &  id,
const std::string &  name,
const Ref< GaussianBasisSet > &  bs,
const Ref< Integral > &  integral,
OverlapOrthog::OrthogMethod  orthog_method,
double  lindep_tol,
int &  nlindep 
) [static]

Compute span of bs and create corresponding mospace referred to by name.

Number linear dependencies is returned in nlindep

static Ref<OrbitalSpace> sc::R12IntEvalInfo::gen_project ( const Ref< OrbitalSpace > &  space1,
const Ref< OrbitalSpace > &  space2,
const std::string &  id,
const std::string &  name,
double  lindep_tol 
) [static]

Project space1 on space2.

This routine computes X2 such that C1.S12.X2 = I, where I is identity matrix, C1 is space1, and X2 spans subspace of space2. X2 is returned.


The documentation for this class was generated from the following file:

Generated at Sun Feb 22 10:12:47 2009 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.5.6.
These pages are hosted on SourceForge.net