sisi4s
Loading...
Searching...
No Matches
CcsdEnergyFromCoulombIntegrals.hpp
Go to the documentation of this file.
1#ifndef CCSD_ENERGY_FROM_COULOMB_INTEGRALS_DEFINED
2#define CCSD_ENERGY_FROM_COULOMB_INTEGRALS_DEFINED
3
5
6namespace sisi4s {
7// this algorithm is now based on the ClusterSinglesDoublesAlgorithm
8// inheriting its iteration and slicing functionality.
9// Only the abstract (left out) methods getAbbreviation and iterate have
10// to be implemented.
19public:
21 CcsdEnergyFromCoulombIntegrals(std::vector<Argument> const &argumentList);
23
28 virtual std::string getAbbreviation() { return "Ccsd"; }
29
30 static int64_t constexpr DEFAULT_SLICE_SIZE = -1;
31 static int64_t constexpr DEFAULT_DISTINGUISHABLE = 0;
32
33protected:
39 virtual PTR(FockVector<double>)
40 getResiduum(const int iteration,
41 const PTR(const FockVector<double>) &amplitudes);
43 getResiduum(const int iteration,
44 const PTR(const FockVector<complex>) &amplitudes);
45};
46} // namespace sisi4s
47
48#endif
#define ALGORITHM_REGISTRAR_DECLARATION(NAME)
Auxiliary macro declaring the algorithm registrar for the algorithm type of the given name....
Definition Algorithm.hpp:169
#define PTR(TYPE)
Definition SharedPointer.hpp:8
Implements the iteration routine for the Ccsd method. Calculates the amplitudes and from the Coulom...
Definition CcsdEnergyFromCoulombIntegrals.hpp:18
static int64_t constexpr DEFAULT_SLICE_SIZE
Definition CcsdEnergyFromCoulombIntegrals.hpp:30
static int64_t constexpr DEFAULT_DISTINGUISHABLE
Definition CcsdEnergyFromCoulombIntegrals.hpp:31
virtual ~CcsdEnergyFromCoulombIntegrals()
Definition CcsdEnergyFromCoulombIntegrals.cxx:20
virtual std::string getAbbreviation()
Returns the abbreviation of the routine (CCSD).
Definition CcsdEnergyFromCoulombIntegrals.hpp:28
virtual std::shared_ptr< FockVector< double > > getResiduum(const int iteration, const std::shared_ptr< const FockVector< double > > &amplitudes)
Implements the iterate method with the CCSD iteration. Iteration routine taken from So Hirata,...
Definition CcsdEnergyFromCoulombIntegrals.cxx:27
Contains all the necessary tools for an algorithm with singles and doubles amplitudes....
Definition ClusterSinglesDoublesAlgorithm.hpp:22
Represents the direct sum of Tensors and provides the vector space operations of addition,...
Definition FockVector.hpp:26
Definition Algorithm.hpp:10
Complex< real > complex
Definition Complex.hpp:17