v2DM-DOCI  1.0
doci2DM::BoundaryPoint Class Reference

#include <BoundaryPoint.h>

+ Inheritance diagram for doci2DM::BoundaryPoint:
+ Collaboration diagram for doci2DM::BoundaryPoint:

Public Member Functions

 BoundaryPoint (const CheMPS2::Hamiltonian &)
 
 BoundaryPoint (const TPM &)
 
 BoundaryPoint (const BoundaryPoint &)
 
 BoundaryPoint (BoundaryPoint &&)=default
 
virtual ~BoundaryPoint ()=default
 
BoundaryPointoperator= (const BoundaryPoint &)
 
BoundaryPointoperator= (BoundaryPoint &&)=default
 
BoundaryPointClone () const
 
BoundaryPointMove ()
 
void BuildHam (const CheMPS2::Hamiltonian &)
 
void BuildHam (const TPM &)
 
unsigned int Run ()
 
double getFullEnergy () const
 
void set_tol_PD (double)
 
void set_tol_en (double)
 
void set_mazzy (double)
 
void set_sigma (double)
 
void set_max_iter (unsigned int)
 
double get_tol_PD () const
 
SUPgetX () const
 
SUPgetZ () const
 
LineqgetLineq () const
 
TPMgetRDM () const
 
TPMgetHam () const
 
void set_use_prev_result (bool)
 
double evalEnergy () const
 
void ReturnHighWhenBailingOut (bool)
 
void Reset_avg_iters ()
 
double get_P_conv () const
 
double get_D_conv () const
 
double get_convergence () const
 
bool FullyConverged () const
 
std::vector< double > energyperirrep (const CheMPS2::Hamiltonian &, bool print=false)
 
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< SUPX
 
std::unique_ptr< SUPZ
 
std::unique_ptr< Lineqlineq
 
double nuclrep
 
double tol_PD
 
double tol_en
 
double mazzy
 
double sigma
 
unsigned int max_iter
 
unsigned int avg_iters
 
unsigned int iters
 
unsigned int runs
 
bool useprevresult
 
bool returnhigh
 when true, return very high value for the energy if the calculation takes too many iterations More...
 
double D_conv
 the 3 convergence criteria More...
 
double P_conv
 
double convergence
 

Detailed Description

Definition at line 34 of file BoundaryPoint.h.

Constructor & Destructor Documentation

BoundaryPoint::BoundaryPoint ( const CheMPS2::Hamiltonian hamin)

Definition at line 42 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

BoundaryPoint::BoundaryPoint ( const TPM hamin)

Definition at line 82 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

BoundaryPoint::BoundaryPoint ( const BoundaryPoint orig)

Definition at line 122 of file BoundaryPoint.cpp.

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

Member Function Documentation

void BoundaryPoint::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 213 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BoundaryPoint::BuildHam ( const TPM hamin)
virtual

Copy the new reduced hamiltonian from the TPM object

Parameters
haminthe TPM object to use

Implements doci2DM::Method.

Definition at line 225 of file BoundaryPoint.cpp.

BoundaryPoint * BoundaryPoint::Clone ( ) const
virtual

Implements doci2DM::Method.

Definition at line 198 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

std::vector< double > BoundaryPoint::energyperirrep ( const CheMPS2::Hamiltonian hamin,
bool  print = false 
)

The energy split up by irrep according to operators

Returns
list of energies per irrep (order according to convention in irrep.h)

Definition at line 541 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double BoundaryPoint::evalEnergy ( ) const
virtual

Give the energy with the current rdm and ham

Returns
the newly evaluated energy

Implements doci2DM::Method.

Definition at line 488 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

bool BoundaryPoint::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 532 of file BoundaryPoint.cpp.

double BoundaryPoint::get_convergence ( ) const

Definition at line 523 of file BoundaryPoint.cpp.

double BoundaryPoint::get_D_conv ( ) const

Definition at line 518 of file BoundaryPoint.cpp.

double BoundaryPoint::get_P_conv ( ) const

Definition at line 513 of file BoundaryPoint.cpp.

double BoundaryPoint::get_tol_PD ( ) const

Definition at line 474 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

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

Definition at line 59 of file Method.h.

+ Here is the caller graph for this function:

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

Definition at line 413 of file BoundaryPoint.cpp.

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

Implements doci2DM::Method.

Definition at line 479 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

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

Definition at line 453 of file BoundaryPoint.cpp.

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

Implements doci2DM::Method.

Definition at line 459 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

doci2DM::SUP & BoundaryPoint::getX ( ) const

Definition at line 443 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

doci2DM::SUP & BoundaryPoint::getZ ( ) const

Definition at line 448 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

BoundaryPoint * BoundaryPoint::Move ( )
virtual

Implements doci2DM::Method.

Definition at line 203 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

BoundaryPoint & BoundaryPoint::operator= ( const BoundaryPoint orig)

Definition at line 159 of file BoundaryPoint.cpp.

BoundaryPoint& doci2DM::BoundaryPoint::operator= ( BoundaryPoint &&  )
default
void BoundaryPoint::Reset_avg_iters ( )

Reset the avg_iters to high number, so the calculation does not really have a limit

Definition at line 508 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

void BoundaryPoint::ReturnHighWhenBailingOut ( bool  set)

Should be stop the main loop when the number of iterations is too high? Set to true to do this. Default to false

Parameters
setwhen true, stop main loop when too many iterations

Definition at line 499 of file BoundaryPoint.cpp.

unsigned int BoundaryPoint::Run ( )
virtual

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

Implements doci2DM::Method.

Definition at line 234 of file BoundaryPoint.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void BoundaryPoint::set_max_iter ( unsigned int  iters)

Definition at line 438 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

void BoundaryPoint::set_mazzy ( double  maz)

Definition at line 428 of file BoundaryPoint.cpp.

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 BoundaryPoint::set_sigma ( double  sig)

Definition at line 433 of file BoundaryPoint.cpp.

void BoundaryPoint::set_tol_en ( double  tol)

Definition at line 423 of file BoundaryPoint.cpp.

void BoundaryPoint::set_tol_PD ( double  tol)

Definition at line 418 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

void BoundaryPoint::set_use_prev_result ( bool  new_val)

Should we use the previous point as a starting point for a new calculation?

Parameters
new_valwhen true, use previous point as starting point

Definition at line 469 of file BoundaryPoint.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

unsigned int doci2DM::BoundaryPoint::avg_iters
private

Definition at line 124 of file BoundaryPoint.h.

double doci2DM::BoundaryPoint::convergence
private

Definition at line 135 of file BoundaryPoint.h.

double doci2DM::BoundaryPoint::D_conv
private

the 3 convergence criteria

Definition at line 135 of file BoundaryPoint.h.

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::BoundaryPoint::ham
private

Definition at line 106 of file BoundaryPoint.h.

unsigned int doci2DM::BoundaryPoint::iters
private

Definition at line 126 of file BoundaryPoint.h.

int doci2DM::Method::L
protectedinherited

Definition at line 69 of file Method.h.

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

Definition at line 112 of file BoundaryPoint.h.

unsigned int doci2DM::BoundaryPoint::max_iter
private

Definition at line 122 of file BoundaryPoint.h.

double doci2DM::BoundaryPoint::mazzy
private

Definition at line 118 of file BoundaryPoint.h.

int doci2DM::Method::N
protectedinherited

Definition at line 71 of file Method.h.

double doci2DM::BoundaryPoint::nuclrep
private

Definition at line 114 of file BoundaryPoint.h.

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

Definition at line 77 of file Method.h.

double doci2DM::BoundaryPoint::P_conv
private

Definition at line 135 of file BoundaryPoint.h.

bool doci2DM::BoundaryPoint::returnhigh
private

when true, return very high value for the energy if the calculation takes too many iterations

Definition at line 132 of file BoundaryPoint.h.

unsigned int doci2DM::BoundaryPoint::runs
private

Definition at line 127 of file BoundaryPoint.h.

double doci2DM::BoundaryPoint::sigma
private

Definition at line 120 of file BoundaryPoint.h.

double doci2DM::BoundaryPoint::tol_en
private

Definition at line 116 of file BoundaryPoint.h.

double doci2DM::BoundaryPoint::tol_PD
private

Definition at line 116 of file BoundaryPoint.h.

bool doci2DM::BoundaryPoint::useprevresult
private

Definition at line 129 of file BoundaryPoint.h.

std::unique_ptr<SUP> doci2DM::BoundaryPoint::X
private

Definition at line 108 of file BoundaryPoint.h.

std::unique_ptr<SUP> doci2DM::BoundaryPoint::Z
private

Definition at line 110 of file BoundaryPoint.h.


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