MADNESS  0.10.1
Classes | Public Types | Public Member Functions | List of all members
madness::MacroTaskIteratePair Class Reference

#include <CCStructures.h>

Inheritance diagram for madness::MacroTaskIteratePair:
Inheritance graph
[legend]
Collaboration diagram for madness::MacroTaskIteratePair:
Collaboration graph
[legend]

Classes

class  IteratePairPartitioner
 

Public Types

typedef std::tuple< const std::vector< CCPair > &, const std::vector< real_function_6d > &, const CC_vecfunction &, const CC_vecfunction &, const Info &, const std::size_t & > argtupleT
 
using resultT = std::vector< real_function_6d >
 

Public Member Functions

 MacroTaskIteratePair ()
 
resultT allocator (World &world, const argtupleT &argtuple) const
 
resultT operator() (const std::vector< CCPair > &pair, const std::vector< real_function_6d > &local_coupling, const CC_vecfunction &gs_singles, const CC_vecfunction &ex_singles, const Info &info, const std::size_t &maxiter) const
 iterate a given pair of the MP2, CC2 or LRCC2 calculation More...
 
- Public Member Functions inherited from madness::MacroTaskOperationBase
 MacroTaskOperationBase ()
 

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

typedef std::tuple< const std::vector<CCPair>&, const std::vector<real_function_6d>&, const CC_vecfunction&, const CC_vecfunction&, const Info&, const std::size_t& > madness::MacroTaskIteratePair::argtupleT

◆ resultT

Constructor & Destructor Documentation

◆ MacroTaskIteratePair()

madness::MacroTaskIteratePair::MacroTaskIteratePair ( )
inline

Member Function Documentation

◆ allocator()

resultT madness::MacroTaskIteratePair::allocator ( World world,
const argtupleT argtuple 
) const
inline

◆ operator()()

std::vector< real_function_6d > madness::MacroTaskIteratePair::operator() ( const std::vector< CCPair > &  pair,
const std::vector< real_function_6d > &  local_coupling,
const CC_vecfunction gs_singles,
const CC_vecfunction ex_singles,
const Info info,
const std::size_t &  maxiter 
) const

iterate a given pair of the MP2, CC2 or LRCC2 calculation

will NOT compute the local coupling, will apply the Fock operators (J-K+V)|pair> and use the (excited) singles vectors to update the pair

Parameters
[in]pairthe pair which will be updated
[in]gs_singlesthe ground state singles, may be dummy for MP2
[in]ex_singlesthe excited state singles, may be dummy for MP2, CC2
[in]all_coords_vecthe coordinates of the atoms
[in]infothe info structure
[in]maxiterthe maximal number of iterations

References maxiter, madness::Info::mo_ket, and madness::World::size().


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