|
MADNESS 0.10.1
|
#include <SCFOperators.h>


Classes | |
| class | ExchangeImpl |
Public Types | |
| enum | ExchangeAlgorithm { small_memory , large_memory , multiworld_efficient , multiworld_efficient_row , fetch_compute } |
| typedef Function< T, NDIM > | functionT |
| using | implT = std::shared_ptr< ExchangeImpl > |
| typedef Tensor< T > | tensorT |
| typedef std::vector< functionT > | vecfuncT |
Public Types inherited from madness::SCFOperatorBase< T, NDIM > | |
| typedef Function< T, NDIM > | functionT |
| typedef Tensor< T > | tensorT |
| typedef std::vector< functionT > | vecfuncT |
Public Member Functions | |
| Exchange (World &world, const double lo, const double thresh=FunctionDefaults< NDIM >::get_thresh()) | |
| ctor | |
| Exchange (World &world, const Nemo *nemo, const int ispin) | |
| ctor with a nemo calculation | |
| Exchange (World &world, const SCF *calc, const int ispin) | |
| ctor with a conventional calculation | |
| std::string | info () const |
| print some information about this operator | |
| bool | is_symmetric () const |
| T | operator() (const Function< T, NDIM > &bra, const Function< T, NDIM > &ket) const |
| compute the matrix element <bra | K | ket> | |
| Function< T, NDIM > | operator() (const Function< T, NDIM > &ket) const |
| Tensor< T > | operator() (const vecfuncT &vbra, const vecfuncT &vket) const |
| compute the matrix < vbra | K | vket > | |
| vecfuncT | operator() (const vecfuncT &vket) const |
| apply the exchange operator on a vector of functions | |
| Exchange & | set_algorithm (const ExchangeAlgorithm &alg) |
| Exchange & | set_bra_and_ket (const vecfuncT &bra, const vecfuncT &ket) |
| Exchange & | set_macro_task_info (const MacroTaskInfo &info) |
| how the cloud will handle the data | |
| Exchange & | set_printlevel (const long &level) |
| Exchange & | set_symmetric (const bool flag) |
| Exchange & | set_taskq (std::shared_ptr< MacroTaskQ > taskq1) |
Public Member Functions inherited from madness::SCFOperatorBase< T, NDIM > | |
| SCFOperatorBase ()=default | |
| SCFOperatorBase (std::shared_ptr< MacroTaskQ > taskq) | |
| virtual | ~SCFOperatorBase () |
Static Public Member Functions | |
| static ExchangeAlgorithm | string2algorithm (const std::string &alg_string) |
| static std::string | to_string (const ExchangeAlgorithm alg) |
Public Attributes | |
| MacroTaskInfo | macro_task_info = MacroTaskInfo::preset("default") |
Public Attributes inherited from madness::SCFOperatorBase< T, NDIM > | |
| nlohmann::json | statistics |
| std::shared_ptr< MacroTaskQ > | taskq =0 |
Private Attributes | |
| implT | impl |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const ExchangeAlgorithm &alg) |
| using madness::Exchange< T, NDIM >::implT = std::shared_ptr<ExchangeImpl> |
| typedef std::vector<functionT> madness::Exchange< T, NDIM >::vecfuncT |
| madness::Exchange< T, NDIM >::Exchange | ( | World & | world, |
| const double | lo, | ||
| const double | thresh = FunctionDefaults<NDIM>::get_thresh() |
||
| ) |
ctor
| madness::Exchange< T, NDIM >::Exchange | ( | World & | world, |
| const SCF * | calc, | ||
| const int | ispin | ||
| ) |
ctor with a conventional calculation
| madness::Exchange< T, NDIM >::Exchange | ( | World & | world, |
| const Nemo * | nemo, | ||
| const int | ispin | ||
| ) |
ctor with a nemo calculation
|
inlinevirtual |
print some information about this operator
Implements madness::SCFOperatorBase< T, NDIM >.
Referenced by madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::set_macro_task_info().
|
inlinevirtual |
compute the matrix element <bra | K | ket>
| [in] | bra | real_function_3d, the bra state |
| [in] | ket | real_function_3d, the ket state |
Implements madness::SCFOperatorBase< T, NDIM >.
References madness::inner().
|
inlinevirtual |
apply this operator on the argument function
| ket | the argument function |
Implements madness::SCFOperatorBase< T, NDIM >.
References madness::nonlinear_vector_solver(), and madness::Exchange< T, NDIM >::operator()().
Referenced by madness::Exchange< T, NDIM >::operator()(), and madness::Exchange< T, NDIM >::operator()().
|
inlinevirtual |
compute the matrix < vbra | K | vket >
| [in] | vbra | vector of real_function_3d, the set of bra states |
| [in] | vket | vector of real_function_3d, the set of ket states |
Implements madness::SCFOperatorBase< T, NDIM >.
References madness::matrix_inner(), madness::nonlinear_vector_solver(), and madness::Exchange< T, NDIM >::operator()().
|
virtual |
apply the exchange operator on a vector of functions
note that only one spin is used (either alpha or beta orbitals)
| [in] | vket | the orbitals |i> that the operator is applied on |
Implements madness::SCFOperatorBase< T, NDIM >.
| Exchange< T, NDIM > & madness::Exchange< T, NDIM >::set_algorithm | ( | const ExchangeAlgorithm & | alg | ) |
| Exchange< T, NDIM > & madness::Exchange< T, NDIM >::set_bra_and_ket | ( | const vecfuncT & | bra, |
| const vecfuncT & | ket | ||
| ) |
References MADNESS_CHECK.
Referenced by madness::OEP::compute_exchange_potential(), and make_k().
| Exchange< T, NDIM > & madness::Exchange< T, NDIM >::set_macro_task_info | ( | const MacroTaskInfo & | info | ) |
how the cloud will handle the data
References madness::Exchange< T, NDIM >::set_macro_task_info().
Referenced by madness::Exchange< T, NDIM >::set_macro_task_info().
References madness::nonlinear_vector_solver().
Referenced by madness::Nemo::compute_nemo_potentials(), and madness::Nemo::make_fock_operator().
|
inline |
References madness::nonlinear_vector_solver(), and madness::SCFOperatorBase< T, NDIM >::taskq.
Referenced by madness::Nemo::compute_nemo_potentials().
|
inlinestatic |
References madness::Exchange< T, NDIM >::fetch_compute, madness::Exchange< T, NDIM >::large_memory, MADNESS_EXCEPTION, madness::Exchange< T, NDIM >::multiworld_efficient, madness::Exchange< T, NDIM >::multiworld_efficient_row, madness::nonlinear_vector_solver(), madness::Exchange< T, NDIM >::small_memory, and madness::commandlineparser::tolower().
Referenced by main().
|
inlinestatic |
References madness::nonlinear_vector_solver().
Referenced by madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::gather_statistics().
|
friend |
| MacroTaskInfo madness::Exchange< T, NDIM >::macro_task_info = MacroTaskInfo::preset("default") |