20 #ifndef PROBLEM_CHEMPS2_H 21 #define PROBLEM_CHEMPS2_H 23 #include "Hamiltonian.h" 44 Problem(
const Hamiltonian * Hamin,
const int TwoSin,
const int Nin,
const int Irrepin);
51 int gL()
const{
return L; }
60 int gIrrep(
const int nOrb)
const;
64 int gTwoS()
const{
return TwoS; }
68 int gN()
const{
return N; }
84 double gMxElement(
const int alpha,
const int beta,
const int gamma,
const int delta)
const;
92 void setMxElement(
const int alpha,
const int beta,
const int gamma,
const int delta,
const double value);
108 int gf1(
const int HamOrb)
const;
113 int gf2(
const int DMRGOrb)
const;
void setMxElement(const int alpha, const int beta, const int gamma, const int delta, const double value)
Set the matrix elements: Note that each time you create a DMRG object, they will be overwritten with ...
void setup_reorder_dinfh(int *docc, const double sp_threshold=1e-5)
Reorder the orbitals for d(infinity)h. Previous reorderings are cleared.
bool gReorder() const
Get whether the Hamiltonian orbitals are reordered for the DMRG calculation.
bool checkConsistency() const
Check whether the given parameters L, N, and TwoS are not inconsistent and whether 0<=Irrep<nIrreps...
void setup_reorder_custom(int *dmrg2ham)
Reorder the orbitals to a custom ordering. Previous reorderings are cleared.
int gN() const
Get the targeted particle number.
int gTwoS() const
Get twice the targeted spin.
double gMxElement(const int alpha, const int beta, const int gamma, const int delta) const
Get a specific interaction matrix element.
int gf1(const int HamOrb) const
Get the DMRG index corresponding to a Ham index.
void SetupReorderC2v()
Reorder the orbitals, so that they form irrep blocks, with order of irreps A1 B1 B2 A2...
int gL() const
Get the number of orbitals.
void SetupReorderD2h()
Reorder the orbitals, so that they form irrep blocks, with order of irreps Ag B1u B3u B2g B2u B3g B1g...
virtual ~Problem()
Destructor.
void construct_mxelem()
Construct a table with the h-matrix elements (two-body augmented with one-body). Remember to recall t...
int getNGroup() const
Get the group number.
double getEconst() const
Get the constant energy.
double gEconst() const
Get the constant part of the Hamiltonian.
Problem(const Hamiltonian *Hamin, const int TwoSin, const int Nin, const int Irrepin)
Constructor.
int gIrrep() const
Get the targeted irrep.
int gSy() const
Get the point group symmetry.
int gf2(const int DMRGOrb) const
Get the Ham index corresponding to a DMRG index.