List of all members |
Public Types |
Public Member Functions |
Protected Member Functions |
Protected Attributes
mpqc::lcao::cc::CCSDT< Tile, Policy > Class Template Reference
Collaboration diagram for mpqc::lcao::cc::CCSDT< Tile, Policy >:
Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::cc::CCSDT< Tile, Policy >
Public Types | |
using | TArray = TA::DistArray< Tile, Policy > |
using | AOFactory = gaussian::AOFactory< Tile, Policy > |
Public Types inherited from mpqc::lcao::LCAOWavefunction< Tile, Policy > | |
using | AOFactoryType = gaussian::AOFactory< Tile, Policy > |
using | ArrayType = typename AOFactoryType::TArray |
using | DirectTArray = typename AOFactoryType::DirectTArray |
using | LCAOFactoryType = LCAOFactory< Tile, Policy > |
Public Member Functions | |
CCSDT ()=default | |
CCSDT (const KeyVal &kv) | |
virtual | ~CCSDT () |
void | obsolete () override |
TArray | t1 () const |
TArray | t2 () const |
TArray | t3 () const |
bool | is_df () const |
void | set_t1 (const TArray &t1) |
void | set_t2 (const TArray &t2) |
void | set_t3 (const TArray &t3) |
bool | print_detail () const |
void | set_target_precision (double precision) |
const AOFactory::DirectTArray & | get_direct_ao_integral () const |
const TArray | get_Ci () const |
const TArray | get_Ca () const |
vir part More... | |
const TArray | get_Xab () |
get three center integral (X|ab) More... | |
const TArray | get_Xij () |
get three center integral (X|ij) More... | |
const TArray | get_Xai () |
get three center integral (X|ai) More... | |
virtual const TArray | get_ijab () |
<ij|ab> More... | |
virtual const TArray | get_ijkl () |
<ij|kl> More... | |
virtual const TArray | get_abcd () |
<ab|cd> More... | |
virtual const TArray | get_iabc () |
<ia|bc> More... | |
virtual const TArray | get_iajb () |
<ia|jb> More... | |
virtual const TArray | get_ijka () |
<ij|ka> More... | |
virtual const TArray | get_fock_ia () |
<i|f|a> More... | |
virtual const TArray | get_fock_ij () |
<i|f|j> More... | |
virtual const TArray | get_fock_ab () |
<a|f|b> More... | |
virtual const TArray | get_fock_pq () |
<p|f|q> More... | |
bool | can_evaluate (Energy *energy) override |
void | evaluate (Energy *energy) override |
double | compute_ccsdt (TArray &t1, TArray &t2, TArray &t3) |
Public Member Functions inherited from mpqc::lcao::LCAOWavefunction< Tile, Policy > | |
LCAOWavefunction (const KeyVal &kv) | |
The KeyVal constructor. More... | |
virtual | ~LCAOWavefunction ()=default |
LCAOFactoryType & | lcao_factory () |
const LCAOFactoryType & | lcao_factory () const |
AOFactoryType & | ao_factory () |
const AOFactoryType & | ao_factory () const |
void | obsolete () override |
virtual void | init_sdref (std::shared_ptr< lcao::Wavefunction > ref_wfn, double target_ref_precision) |
initializes the orbital spaces associated with a (closed-shell, for now) single-determinant reference state More... | |
const std::shared_ptr< const ::mpqc::utility::TRange1Engine > & | trange1_engine () const |
bool | is_frozen_core () const |
int | charge () const |
size_t | occ_block () const |
size_t | unocc_block () const |
auto | localizer () const |
auto | cluster_occupied_orbitals () const |
Protected Member Functions | |
std::shared_ptr< const Eigen::VectorXd > | orbital_energy () |
void | set_orbital_energy (const Eigen::VectorXd &orbital_energy) |
Protected Member Functions inherited from mpqc::lcao::LCAOWavefunction< Tile, Policy > | |
std::tuple< Eigen::VectorXd, TA::DistArray< Tile, Policy > > | compute_canonical_occupied_orbitals (bool use_df=true) const |
std::unique_ptr< Eigen::VectorXd > | compute_diagonal_fpq (bool df) |
computes the MO-basis Fock matrix and extracts the diagonal elements More... | |
void | init_closed_shell_cabs_svd () |
void | init_closed_shell_dualbasis_cabs_svd (std::string ri_method) |
Protected Attributes | |
TArray | T1_ |
protected members More... | |
TArray | T2_ |
TArray | T3_ |
const KeyVal | kv_ |
std::string | solver_str_ |
std::shared_ptr<::mpqc::cc::Solver< TArray > > | solver_ |
std::shared_ptr< Wavefunction > | ref_wfn_ |
AOFactory::DirectTArray | direct_ao_array_ |
bool | df_ |
bool | reduced_abcd_memory_ = false |
std::string | method_ |
std::size_t | max_iter_ |
double | target_precision_ |
double | computed_precision_ = std::numeric_limits<double>::max() |
bool | verbose_ |
double | CCSDT_corr_energy_ |
bool | cp_ccsdt_ |
bool | cp_ccsd_ |
bool | cp4_on_ |
double | cp3_rank_ |
double | cp4_rank_ |
double | cp3_precision_ |
double | cp4_precision_ |
bool | cp_ps_ |
bool | cp_robust_ |
double | rank_block_factor_ |
int | had_block_size_ |
int | reblock_size_ |
std::string | approximation_ |
double | alpha_ |
double | beta_ |
double | gamma_ |
double | delta_ |
double | eta_ |
bool | zero_t1_ |
bool | ecorr_in_diagrams_ |
std::shared_ptr< const Eigen::VectorXd > | f_pq_diagonal_ |
Member Typedef Documentation
◆ AOFactory
template<typename Tile , typename Policy >
using mpqc::lcao::cc::CCSDT< Tile, Policy >::AOFactory = gaussian::AOFactory<Tile, Policy> |
◆ TArray
template<typename Tile , typename Policy >
using mpqc::lcao::cc::CCSDT< Tile, Policy >::TArray = TA::DistArray<Tile, Policy> |
Constructor & Destructor Documentation
◆ CCSDT() [1/2]
template<typename Tile , typename Policy >
|
default |
◆ CCSDT() [2/2]
template<typename Tile , typename Policy >
|
inline |
KeyVal constructor
- Parameters
-
kv keywords : all keywords for LCAOWavefunciton
Keyword | Type | Default | Description |
---|---|---|---|
ref | Wavefunction | none | a reference Wavefunction; currently it needs to provide Energy and satisfy requirements for LCAOWavefunction::init_sdref (i.e. provide either CanonicalOrbitalSpace or PopulatedOrbitalSpace) |
method | string | standard or df | method to compute ccsd (valid choices are: standard , direct , df , direct_df , reduced_scaling ; see the CCSD KeyVal ctor documentation), the default depends on whether df_basis is provided |
approximation | string | none | approximation to the residual equations to employ (valid choices are none [no approximation, i.e. CCSDT], CCSDT1 , CCSDT1b , CCSDT2 , CCSDT3 , CCSDT4 , CC3 , DCSDT ) |
max_iter | int | 30 | maximum number of solver iterations |
verbose | bool | factory.verbose() | if print more information in CCSDT iteration |
reduced_abcd_memory | bool | false | avoid store another abcd term in standard and df method |
cp_ccsd | bool | false | if method==df OR method==reduced_scaling compute Xab integrals using CP decomposition and use the decomposition in r2 residual equaiton |
cp_ccsdt | bool | false | if method==df or method == reduced_scaling compute Xab integrals using CP decomposition and use it in r3 residual equation |
cp3_rank | double | 3.0 | CP rank of the Xab integral decomposition set to number of auxiliary basis functions times cp3_rank |
cp4_rank | double | 1.0 | CP rank of the (Xai Xma) integral decomposition set to number of auxiliary basis functions times cp4_rank |
cp3_precision | double | 1e-3 | ALS threshold for CP3 decomposition of Xab |
cp4_precision | double | 1e-3 | ALS threshold for the CP4 decomposition |
cp_ps | bool | false | Should the particle particle ladder term be computed using the CP-PS approach? |
cp_robust | bool | false | Should the particle particle ladder term be computed using the CP-Robust approach? Isn't enabled if cp_ps==true |
rank_block_factor | double | 1.0 | Blocking of the rank dimension is rank_block_factor times the auxiliary block size |
had_block_size | int | -1 | New block size for the ab dimensions of the Xab CP decomposition. If new block size is the same as the old block size, no reblocking occurs. If had_block_size==-1 block size is set to occ_block*occ_block/2 |
reblock_size_ | int | 10 | New block size for unocc dimension in the mixed contraction in the CP portion of the r3 residual equation. |
zero_t1 | bool | false | set T1 to zero, i.e. compute CCDT |
ecorr_in_diagrams | bool | false | correlation energy decomposed into individual diagrams from t2 residual equation |
◆ ~CCSDT()
template<typename Tile , typename Policy >
|
inlinevirtual |
Member Function Documentation
◆ can_evaluate()
template<typename Tile , typename Policy >
|
inlineoverride |
◆ compute_ccsdt()
template<typename Tile , typename Policy >
double mpqc::lcao::cc::CCSDT< Tile, Policy >::compute_ccsdt | ( | TArray & | t1, |
TArray & | t2, | ||
TArray & | t3 | ||
) |
◆ evaluate()
template<typename Tile , typename Policy >
|
override |
◆ get_abcd()
template<typename Tile , typename Policy >
|
inlinevirtual |
<ab|cd>
◆ get_Ca()
template<typename Tile , typename Policy >
|
inline |
vir part
◆ get_Ci()
template<typename Tile , typename Policy >
|
inline |
get mo coefficient occ part
◆ get_direct_ao_integral()
template<typename Tile , typename Policy >
|
inline |
◆ get_fock_ab()
template<typename Tile , typename Policy >
|
inlinevirtual |
<a|f|b>
◆ get_fock_ia()
template<typename Tile , typename Policy >
|
inlinevirtual |
<i|f|a>
◆ get_fock_ij()
template<typename Tile , typename Policy >
|
inlinevirtual |
<i|f|j>
◆ get_fock_pq()
template<typename Tile , typename Policy >
|
inlinevirtual |
<p|f|q>
◆ get_iabc()
template<typename Tile , typename Policy >
|
inlinevirtual |
<ia|bc>
◆ get_iajb()
template<typename Tile , typename Policy >
|
inlinevirtual |
<ia|jb>
◆ get_ijab()
template<typename Tile , typename Policy >
|
inlinevirtual |
<ij|ab>
◆ get_ijka()
template<typename Tile , typename Policy >
|
inlinevirtual |
<ij|ka>
◆ get_ijkl()
template<typename Tile , typename Policy >
|
inlinevirtual |
<ij|kl>
◆ get_Xab()
template<typename Tile , typename Policy >
|
inline |
get three center integral (X|ab)
◆ get_Xai()
template<typename Tile , typename Policy >
|
inline |
get three center integral (X|ai)
◆ get_Xij()
template<typename Tile , typename Policy >
|
inline |
get three center integral (X|ij)
◆ is_df()
template<typename Tile , typename Policy >
|
inline |
◆ obsolete()
template<typename Tile , typename Policy >
|
inlineoverride |
◆ orbital_energy()
template<typename Tile , typename Policy >
|
inlineprotected |
◆ print_detail()
template<typename Tile , typename Policy >
|
inline |
◆ set_orbital_energy()
template<typename Tile , typename Policy >
|
inlineprotected |
◆ set_t1()
template<typename Tile , typename Policy >
|
inline |
◆ set_t2()
template<typename Tile , typename Policy >
|
inline |
◆ set_t3()
template<typename Tile , typename Policy >
|
inline |
◆ set_target_precision()
template<typename Tile , typename Policy >
|
inline |
◆ t1()
template<typename Tile , typename Policy >
|
inline |
◆ t2()
template<typename Tile , typename Policy >
|
inline |
◆ t3()
template<typename Tile , typename Policy >
|
inline |
Member Data Documentation
◆ alpha_
template<typename Tile , typename Policy >
|
protected |
◆ approximation_
template<typename Tile , typename Policy >
|
protected |
◆ beta_
template<typename Tile , typename Policy >
|
protected |
◆ CCSDT_corr_energy_
template<typename Tile , typename Policy >
|
protected |
◆ computed_precision_
template<typename Tile , typename Policy >
|
protected |
◆ cp3_precision_
template<typename Tile , typename Policy >
|
protected |
◆ cp3_rank_
template<typename Tile , typename Policy >
|
protected |
◆ cp4_on_
template<typename Tile , typename Policy >
|
protected |
◆ cp4_precision_
template<typename Tile , typename Policy >
|
protected |
◆ cp4_rank_
template<typename Tile , typename Policy >
|
protected |
◆ cp_ccsd_
template<typename Tile , typename Policy >
|
protected |
◆ cp_ccsdt_
template<typename Tile , typename Policy >
|
protected |
◆ cp_ps_
template<typename Tile , typename Policy >
|
protected |
◆ cp_robust_
template<typename Tile , typename Policy >
|
protected |
◆ delta_
template<typename Tile , typename Policy >
|
protected |
◆ df_
template<typename Tile , typename Policy >
|
protected |
◆ direct_ao_array_
template<typename Tile , typename Policy >
|
protected |
◆ ecorr_in_diagrams_
template<typename Tile , typename Policy >
|
protected |
◆ eta_
template<typename Tile , typename Policy >
|
protected |
◆ f_pq_diagonal_
template<typename Tile , typename Policy >
|
protected |
◆ gamma_
template<typename Tile , typename Policy >
|
protected |
◆ had_block_size_
template<typename Tile , typename Policy >
|
protected |
◆ kv_
template<typename Tile , typename Policy >
|
protected |
◆ max_iter_
template<typename Tile , typename Policy >
|
protected |
◆ method_
template<typename Tile , typename Policy >
|
protected |
◆ rank_block_factor_
template<typename Tile , typename Policy >
|
protected |
◆ reblock_size_
template<typename Tile , typename Policy >
|
protected |
◆ reduced_abcd_memory_
template<typename Tile , typename Policy >
|
protected |
◆ ref_wfn_
template<typename Tile , typename Policy >
|
protected |
◆ solver_
template<typename Tile , typename Policy >
|
protected |
◆ solver_str_
template<typename Tile , typename Policy >
|
protected |
◆ T1_
template<typename Tile , typename Policy >
|
protected |
protected members
◆ T2_
template<typename Tile , typename Policy >
|
protected |
◆ T3_
template<typename Tile , typename Policy >
|
protected |
◆ target_precision_
template<typename Tile , typename Policy >
|
protected |
◆ verbose_
template<typename Tile , typename Policy >
|
protected |
◆ zero_t1_
template<typename Tile , typename Policy >
|
protected |
The documentation for this class was generated from the following files: