MPQC
3.0.0-alpha
|
Class WavefunctionWorld describes the environment of a Wavefunction. More...
#include <chemistry/qc/lcao/wfnworld.h>
Public Types | |
typedef MOIntsTransform::StoreMethod | StoreMethod |
Describes the method of storing transformed MO integrals. | |
Public Member Functions | |
WavefunctionWorld (StateIn &) | |
WavefunctionWorld (const Ref< KeyVal > &keyval) | |
KeyVal constructor uses the following keywords. More... | |
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. More... | |
void | obsolete () |
obsoletes this object every wavefunction that owns a WavefunctionWorld must call this method when it's obsolete() method is called More... | |
void | dynamic (bool dynamic) |
Sets whether to use dynamic load balancing in parallel MO transformations. | |
void | print_percent (double print_percent) |
Sets how frequently updates of progress are printed out. Default is 10%. | |
void | debug_level (int debug) |
Set debug level. Default is 0. | |
void | ints_method (const StoreMethod::type method) |
Sets the method of storing transformed MO integrals. More... | |
void | ints_file (const std::string &filename) |
Sets name of the file used to store transformed integrals. More... | |
Wavefunction * | wfn () const |
void | set_wfn (Wavefunction *w) |
bool | df () const |
const Ref< GaussianBasisSet > & | basis_df () const |
const Ref< MemoryGrp > & | mem () const |
const Ref< MessageGrp > & | msg () const |
const Ref< ThreadGrp > & | thr () const |
Ref< Integral > | integral () const |
bool | dynamic () const |
double | print_percent () const |
int | debug_level () const |
StoreMethod::type | ints_method () const |
const std::string & | ints_file () const |
double | ints_precision () const |
const Ref< MOIntsTransformFactory > & | tfactory () const |
Returns the MOIntsTransformFactory object. | |
const Ref< MOIntsRuntime > & | moints_runtime () const |
Returns the MOIntsRuntime object. | |
const Ref< TwoBodyFourCenterMOIntsRuntime > & | moints_runtime4 () const |
const Ref< FockBuildRuntime > & | fockbuild_runtime () const |
Returns the FockBuildRuntime object that can build Fock matrices. | |
void | print (std::ostream &o) const |
Print the object. | |
void | initialize_ao_spaces () |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
Class WavefunctionWorld describes the environment of a Wavefunction.
KeyVal constructor uses the following keywords.
wfn
This specifies the Wavefunction that is in charge of the World ("Czar"). There is no default.
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.
df
df_basis
is provided. df_basis
This optional GaussianBasisSet object specifies the density-fitting basis to use for all density fitting tasks. If df=true
, the default is to (try to) find the matching density fitting basis for the orbital basis.
df_kernel
If density fitting is requsted, this keyword will be queried to determine the kernel for density-fitting. By default this keyword is not needed as the DensityFittingRuntime and other runtime components will try to determine the best density fitting method. If provided, this will provide the world-wide choice for the density fitting kernel. The only supported values are coulomb
(this corresponds to the fitting the density to reproduce the electric field), delta
(the overlap), and exp(X)
(this corresponds to fitting the density to reproduce the potential) where X
is a positive parameter that determines the lengthscale of the region in which to fit the potential.
df_solver
If df_basis is specified, this keyword will be queried to determine the method by which density-fitting will be performed. Valid values are:
cholesky_inv
df_kernel=coulomb
. This is the cheapest option and the default. cholesky
df_kernel=coulomb
. cholesky_refine
Use Cholesky linear solver + iterative refinement. Only valid if df_kernel=coulomb
.
bunchkaufman_inv
df_kernel
. bunchkaufman
df_kernel
. bunchkaufman_refine
Use Bunch-Kaufman linear solver + iterative refinement. Valid for any value of df_kernel
. Use this option if you want the maximum numerical precision of the density fitting.
dynamic
This boolean keyword specifies whether dynamic load balancing is used by MO integrals transforms. The default is false.
ints_precision
This real keyword specifies the precision of MO integrals. Currently, this keyword specifies the precision of AO integrals. The default is to determine the desired precision heuristically according to the desired accuracy of the Czar (the current heuristics set the precision to 1e-15 regardless of the Czar accuracy).
|
inline |
Sets name of the file used to store transformed integrals.
Default depends on how the object was constructed.
|
inline |
Sets the method of storing transformed MO integrals.
Default depends on how the object was constructed.
void sc::WavefunctionWorld::obsolete | ( | ) |
obsoletes this object every wavefunction that owns a WavefunctionWorld must call this method when it's obsolete() method is called
|
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.