sisi4s
Loading...
Searching...
No Matches
sisi4s::CcsdPerturbativeTriples Class Reference

Caclulates perturbative triples correction. More...

#include <CcsdPerturbativeTriples.hpp>

Inheritance diagram for sisi4s::CcsdPerturbativeTriples:
Collaboration diagram for sisi4s::CcsdPerturbativeTriples:

Public Member Functions

virtual std::string getName ()
 
 CcsdPerturbativeTriples (std::vector< Argument > const &argumentList)
 
virtual ~CcsdPerturbativeTriples ()
 
virtual void run ()
 Calculates perturbative triples correction. Routine based on Helgaker book.
 
virtual void dryRun ()
 Dry run for perturbative triples correction based on Helgaker book.
 
- Public Member Functions inherited from sisi4s::Algorithm
 Algorithm (std::vector< Argument > const &argumentList)
 
virtual ~Algorithm ()
 
virtual std::string getName ()=0
 
virtual void run ()=0
 
virtual void dryRun ()
 The dryRun estimates resource consumption, especially memory and processor time.
 
bool isArgumentGiven (std::string const &argumentName)
 
std::string getTextArgument (std::string const &argumentName)
 
std::string getTextArgument (std::string const &argumentName, std::string const &defaultValue)
 
bool getBooleanArgument (std::string const &name)
 
bool getBooleanArgument (std::string const &name, bool const &defaultValue)
 
int64_t getIntegerArgument (std::string const &argumentName)
 
int64_t getIntegerArgument (std::string const &argumentName, int64_t const defaultValue)
 
real getRealArgument (std::string const &argumentName)
 
real getRealArgument (std::string const &argumentName, real const defaultValue)
 
template<typename F = real, typename T = Tensor<F>>
T * getTensorArgument (std::string const &argumentName)
 
template<typename F = real, typename C = std::vector<F>>
C * getContainerArgument (std::string const &argumentName)
 
template<typename F = real, typename C = std::vector<F>>
void allocateContainerArgument (std::string const &argumentName, C *container)
 
std::vector< std::string > getGivenArgumentNames () const
 
void checkArgumentsOrDie (const std::vector< std::string > args) const
 
template<typename F = real, typename T = Tensor<F>>
void allocatedTensorArgument (std::string const &argumentName, T *tensor)
 Specifies the location of an output tensor data.
 
void setRealArgument (std::string const &argumentName, real const value)
 
void setIntegerArgument (std::string const &argumentName, int const value)
 
real getRealArgumentFromInteger (IntegerData *data)
 
real getRealArgumentFromTensor (TensorData< real > *data)
 
template<typename F = real, typename T = Tensor<F>>
T * getTensorArgumentFromReal (RealData *realData)
 Converts the given real data into a scalar tensor.
 
DatagetArgumentData (std::string const &argumentName)
 

Static Public Attributes

static sisi4s::AlgorithmRegistrar< CcsdPerturbativeTriplesregistrar_
 

Protected Member Functions

void sliceTensors ()
 
Tensor< double > & getSinglesContribution (const Map< 3 > &)
 
Tensor< double > & getDoublesContribution (const Map< 3 > &)
 
Tensor< double > & getEnergyDenominator (const Map< 3 > &)
 

Protected Attributes

int No
 
int Nv
 
Tensor< double > * SVabc
 
Tensor< double > * DVabc
 
Tensor< double > * realGammaFab
 
Tensor< double > * imagGammaFab
 
SlicedCtfTensorTai
 
SlicedCtfTensorTabij
 
SlicedCtfTensorTabil
 
SlicedCtfTensorVabij
 
SlicedCtfTensorVijla
 
SlicedCtfTensorrealGammaFai
 
SlicedCtfTensorimagGammaFai
 

Additional Inherited Members

- Public Attributes inherited from sisi4s::Algorithm
std::string note
 
bool fallible = false
 
std::map< std::string, std::string > arguments
 

Detailed Description

Caclulates perturbative triples correction.

Constructor & Destructor Documentation

◆ CcsdPerturbativeTriples()

CcsdPerturbativeTriples::CcsdPerturbativeTriples ( std::vector< Argument > const &  argumentList)

◆ ~CcsdPerturbativeTriples()

CcsdPerturbativeTriples::~CcsdPerturbativeTriples ( )
virtual

Member Function Documentation

◆ dryRun()

void CcsdPerturbativeTriples::dryRun ( )
virtual

Dry run for perturbative triples correction based on Helgaker book.

Reimplemented from sisi4s::Algorithm.

Here is the call graph for this function:

◆ getDoublesContribution()

Tensor< double > & CcsdPerturbativeTriples::getDoublesContribution ( const Map< 3 > &  i)
protected
Here is the caller graph for this function:

◆ getEnergyDenominator()

Tensor< double > & CcsdPerturbativeTriples::getEnergyDenominator ( const Map< 3 > &  i)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getName()

virtual std::string sisi4s::CcsdPerturbativeTriples::getName ( )
inlinevirtual

Implements sisi4s::Algorithm.

◆ getSinglesContribution()

Tensor< double > & CcsdPerturbativeTriples::getSinglesContribution ( const Map< 3 > &  i)
protected
Here is the caller graph for this function:

◆ run()

void CcsdPerturbativeTriples::run ( )
virtual

Calculates perturbative triples correction. Routine based on Helgaker book.

Implements sisi4s::Algorithm.

Here is the call graph for this function:

◆ sliceTensors()

void CcsdPerturbativeTriples::sliceTensors ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ DVabc

Tensor<double> * sisi4s::CcsdPerturbativeTriples::DVabc
protected

◆ imagGammaFab

Tensor<double> * sisi4s::CcsdPerturbativeTriples::imagGammaFab
protected

◆ imagGammaFai

SlicedCtfTensor * sisi4s::CcsdPerturbativeTriples::imagGammaFai
protected

◆ No

int sisi4s::CcsdPerturbativeTriples::No
protected

◆ Nv

int sisi4s::CcsdPerturbativeTriples::Nv
protected

◆ realGammaFab

Tensor<double>* sisi4s::CcsdPerturbativeTriples::realGammaFab
protected

◆ realGammaFai

SlicedCtfTensor * sisi4s::CcsdPerturbativeTriples::realGammaFai
protected

◆ registrar_

sisi4s::AlgorithmRegistrar< CcsdPerturbativeTriples > CcsdPerturbativeTriples::registrar_
static

◆ SVabc

Tensor<double>* sisi4s::CcsdPerturbativeTriples::SVabc
protected

◆ Tabij

SlicedCtfTensor * sisi4s::CcsdPerturbativeTriples::Tabij
protected

◆ Tabil

SlicedCtfTensor * sisi4s::CcsdPerturbativeTriples::Tabil
protected

◆ Tai

SlicedCtfTensor* sisi4s::CcsdPerturbativeTriples::Tai
protected

◆ Vabij

SlicedCtfTensor* sisi4s::CcsdPerturbativeTriples::Vabij
protected

◆ Vijla

SlicedCtfTensor * sisi4s::CcsdPerturbativeTriples::Vijla
protected

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