v2DM-DOCI  1.0
doci2DM::PotentialReduction Class Reference

#include <PotentialReducation.h>

+ Inheritance diagram for doci2DM::PotentialReduction:
+ Collaboration diagram for doci2DM::PotentialReduction:

Public Member Functions

 PotentialReduction (const CheMPS2::Hamiltonian &)
 
 PotentialReduction (const TPM &)
 
 PotentialReduction (const PotentialReduction &)
 
 PotentialReduction (PotentialReduction &&)=default
 
virtual ~PotentialReduction ()=default
 
PotentialReductionClone () const
 
PotentialReductionMove ()
 
PotentialReductionoperator= (PotentialReduction &&)=default
 
PotentialReductionoperator= (const PotentialReduction &)
 
void BuildHam (const CheMPS2::Hamiltonian &)
 
void BuildHam (const TPM &)
 
unsigned int Run ()
 
double getFullEnergy () const
 
void set_target (double)
 
void set_tolerance (double)
 
void set_reduction (double)
 
TPMgetRDM () const
 
TPMgetHam () const
 
LineqgetLineq () const
 
double evalEnergy () const
 
bool FullyConverged () const
 
double getEnergy () const
 
virtual void set_output (bool out)
 
virtual void set_outfile (std::string filename)
 

Protected Attributes

int L
 
int N
 
double energy
 
bool do_output
 
std::string outfile
 

Private Attributes

std::unique_ptr< TPMham
 
std::unique_ptr< TPMrdm
 
std::unique_ptr< Lineqlineq
 
double nuclrep
 
double norm_ham
 
double target
 
double tolerance
 
double reductionfac
 
double t
 

Detailed Description

Definition at line 34 of file PotentialReducation.h.

Constructor & Destructor Documentation

PotentialReduction::PotentialReduction ( const CheMPS2::Hamiltonian hamin)

Definition at line 34 of file PotentialReduction.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PotentialReduction::PotentialReduction ( const TPM hamin)

Definition at line 55 of file PotentialReduction.cpp.

+ Here is the call graph for this function:

PotentialReduction::PotentialReduction ( const PotentialReduction orig)

Definition at line 76 of file PotentialReduction.cpp.

doci2DM::PotentialReduction::PotentialReduction ( PotentialReduction &&  )
default
virtual doci2DM::PotentialReduction::~PotentialReduction ( )
virtualdefault

Member Function Documentation

void PotentialReduction::BuildHam ( const CheMPS2::Hamiltonian hamin)
virtual

Build the new reduced hamiltonian based on the integrals in ham

Parameters
haminthe integrals to use

Implements doci2DM::Method.

Definition at line 136 of file PotentialReduction.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PotentialReduction::BuildHam ( const TPM hamin)
virtual

Copy the reduced hamiltonian from a TPM object

Parameters
haminthe TPM object to use

Implements doci2DM::Method.

Definition at line 151 of file PotentialReduction.cpp.

PotentialReduction * PotentialReduction::Clone ( ) const
virtual

Implements doci2DM::Method.

Definition at line 121 of file PotentialReduction.cpp.

+ Here is the call graph for this function:

double PotentialReduction::evalEnergy ( ) const
virtual

Give the energy with the current rdm and ham

Returns
the newly evaluated energy

Implements doci2DM::Method.

Definition at line 327 of file PotentialReduction.cpp.

+ Here is the caller graph for this function:

bool PotentialReduction::FullyConverged ( ) const
virtual

Check if last calculation was fully convergenced

Returns
true if all convergence critera are met, false otherwise

Implements doci2DM::Method.

Definition at line 336 of file PotentialReduction.cpp.

double doci2DM::Method::getEnergy ( ) const
inlineinherited

Definition at line 59 of file Method.h.

+ Here is the caller graph for this function:

double PotentialReduction::getFullEnergy ( ) const
Returns
the full energy (with the nuclear replusion part)

Definition at line 288 of file PotentialReduction.cpp.

+ Here is the caller graph for this function:

doci2DM::TPM & PotentialReduction::getHam ( ) const
virtual

Implements doci2DM::Method.

Definition at line 318 of file PotentialReduction.cpp.

+ Here is the caller graph for this function:

doci2DM::Lineq & PotentialReduction::getLineq ( ) const

Definition at line 313 of file PotentialReduction.cpp.

doci2DM::TPM & PotentialReduction::getRDM ( ) const
virtual

Implements doci2DM::Method.

Definition at line 308 of file PotentialReduction.cpp.

+ Here is the caller graph for this function:

PotentialReduction * PotentialReduction::Move ( )
virtual

Implements doci2DM::Method.

Definition at line 126 of file PotentialReduction.cpp.

+ Here is the call graph for this function:

PotentialReduction& doci2DM::PotentialReduction::operator= ( PotentialReduction &&  )
default
PotentialReduction & PotentialReduction::operator= ( const PotentialReduction orig)

Definition at line 97 of file PotentialReduction.cpp.

unsigned int PotentialReduction::Run ( )
virtual

Do an actual calculation: calcalute the energy of the reduced hamiltonian in ham

Implements doci2DM::Method.

Definition at line 163 of file PotentialReduction.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void doci2DM::Method::set_outfile ( std::string  filename)
inlinevirtualinherited

Definition at line 63 of file Method.h.

virtual void doci2DM::Method::set_output ( bool  out)
inlinevirtualinherited

Definition at line 61 of file Method.h.

void PotentialReduction::set_reduction ( double  red)

Definition at line 303 of file PotentialReduction.cpp.

void PotentialReduction::set_target ( double  tar)

Definition at line 293 of file PotentialReduction.cpp.

void PotentialReduction::set_tolerance ( double  tol)

Definition at line 298 of file PotentialReduction.cpp.

Member Data Documentation

bool doci2DM::Method::do_output
protectedinherited

Definition at line 75 of file Method.h.

double doci2DM::Method::energy
protectedinherited

Definition at line 73 of file Method.h.

std::unique_ptr<TPM> doci2DM::PotentialReduction::ham
private

Definition at line 82 of file PotentialReducation.h.

int doci2DM::Method::L
protectedinherited

Definition at line 69 of file Method.h.

std::unique_ptr<Lineq> doci2DM::PotentialReduction::lineq
private

Definition at line 86 of file PotentialReducation.h.

int doci2DM::Method::N
protectedinherited

Definition at line 71 of file Method.h.

double doci2DM::PotentialReduction::norm_ham
private

Definition at line 90 of file PotentialReducation.h.

double doci2DM::PotentialReduction::nuclrep
private

Definition at line 88 of file PotentialReducation.h.

std::string doci2DM::Method::outfile
protectedinherited

Definition at line 77 of file Method.h.

std::unique_ptr<TPM> doci2DM::PotentialReduction::rdm
private

Definition at line 84 of file PotentialReducation.h.

double doci2DM::PotentialReduction::reductionfac
private

Definition at line 96 of file PotentialReducation.h.

double doci2DM::PotentialReduction::t
private

Definition at line 98 of file PotentialReducation.h.

double doci2DM::PotentialReduction::target
private

Definition at line 92 of file PotentialReducation.h.

double doci2DM::PotentialReduction::tolerance
private

Definition at line 94 of file PotentialReducation.h.


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