MADNESS 0.10.1
|
#include <SCFOperators.h>
Classes | |
class | ExchangeImpl |
Public Types | |
enum | Algorithm { small_memory , large_memory , multiworld_efficient , multiworld_efficient_row } |
typedef Function< T, NDIM > | functionT |
using | implT = std::shared_ptr< ExchangeImpl > |
typedef Tensor< T > | tensorT |
typedef std::vector< functionT > | vecfuncT |
![]() | |
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()) | |
default 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 Algorithm &alg) |
Exchange & | set_bra_and_ket (const vecfuncT &bra, const vecfuncT &ket) |
Exchange & | set_printlevel (const long &level) |
Exchange & | set_symmetric (const bool flag) |
Exchange & | set_taskq (std::shared_ptr< MacroTaskQ > taskq1) |
![]() | |
SCFOperatorBase ()=default | |
SCFOperatorBase (std::shared_ptr< MacroTaskQ > taskq) | |
virtual | ~SCFOperatorBase () |
Private Attributes | |
implT | impl |
Additional Inherited Members | |
![]() | |
std::shared_ptr< MacroTaskQ > | taskq =0 |
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() |
||
) |
default ctor
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 >.
|
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_bra_and_ket | ( | const vecfuncT & | bra, |
const vecfuncT & | ket | ||
) |
References MADNESS_CHECK.
Referenced by madness::OEP::compute_exchange_potential(), and make_k().
References madness::Exchange< T, NDIM >::set_printlevel().
Referenced by madness::Exchange< T, NDIM >::set_printlevel().
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().