MADNESS 0.10.1
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow Class Reference
Inheritance diagram for madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow:
Inheritance graph
[legend]
Collaboration diagram for madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow:
Collaboration graph
[legend]

Classes

class  MacroTaskPartitionerRow
 custom partitioning for the exchange operator in exchangeoperator.h More...
 

Public Types

typedef std::tuple< const std::vector< Function< T, NDIM > > &, const std::vector< Function< T, NDIM > > &, const std::vector< Function< T, NDIM > > & > argtupleT
 
using resultT = std::vector< Function< T, NDIM > >
 

Public Member Functions

 MacroTaskExchangeRow (const long nresult, const double lo, const double mul_tol)
 
resultT allocator (World &world, const argtupleT &argtuple) const
 
std::vector< Function< T, NDIM > > operator() (const std::vector< Function< T, NDIM > > &vket, const std::vector< Function< T, NDIM > > &mo_bra, const std::vector< Function< T, NDIM > > &mo_ket)
 compute exchange row-wise for a fixed orbital phi_i of vket
 
- Public Member Functions inherited from madness::MacroTaskOperationBase
 MacroTaskOperationBase ()
 

Private Attributes

double lo = 1.e-4
 
double mul_tol = 1.e-7
 
long nresult
 
bool symmetric = false
 

Additional Inherited Members

- Public Attributes inherited from madness::MacroTaskOperationBase
Batch batch
 
std::string name ="unknown_task"
 
std::shared_ptr< MacroTaskPartitionerpartitioner =0
 

Member Typedef Documentation

◆ argtupleT

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
typedef std::tuple<const std::vector<Function<T, NDIM> >&, const std::vector<Function<T, NDIM> >&, const std::vector<Function<T, NDIM> >&> madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::argtupleT

◆ resultT

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
using madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::resultT = std::vector<Function<T, NDIM> >

Constructor & Destructor Documentation

◆ MacroTaskExchangeRow()

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::MacroTaskExchangeRow ( const long  nresult,
const double  lo,
const double  mul_tol 
)
inline

Member Function Documentation

◆ allocator()

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
resultT madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::allocator ( World world,
const argtupleT argtuple 
) const
inline

◆ operator()()

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
std::vector< Function< T, NDIM > > madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::operator() ( const std::vector< Function< T, NDIM > > &  vket,
const std::vector< Function< T, NDIM > > &  mo_bra,
const std::vector< Function< T, NDIM > > &  mo_ket 
)
inline

compute exchange row-wise for a fixed orbital phi_i of vket

References apply(), madness::dot(), lo, madness::mul_sparse(), madness::World::size(), and truncate().

Member Data Documentation

◆ lo

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
double madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::lo = 1.e-4
private

◆ mul_tol

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
double madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::mul_tol = 1.e-7
private

◆ nresult

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
long madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::nresult
private

◆ symmetric

template<typename T , std::size_t NDIM>
template<typename T , std::size_t NDIM>
bool madness::Exchange< T, NDIM >::ExchangeImpl< T, NDIM >::MacroTaskExchangeRow::symmetric = false
private

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