20 #ifndef HAMILTONIAN_CHEMPS2_H 21 #define HAMILTONIAN_CHEMPS2_H 27 #include "FourIndex.h" 61 Hamiltonian(
const int Norbitals,
const int nGroup,
const int * OrbIrreps);
66 Hamiltonian(
const string filename,
const int psi4groupnumber);
73 Hamiltonian(
const bool fileh5,
const string main_file=HAMILTONIAN_ParentStorageName,
const string file_tmat=HAMILTONIAN_TmatStorageName,
const string file_vmat=HAMILTONIAN_VmatStorageName);
99 void setTmat(
const int index1,
const int index2,
const double val);
107 void setVmat(
const int index1,
const int index2,
const int index3,
const int index4,
const double val);
115 void addToVmat(
const int index1,
const int index2,
const int index3,
const int index4,
const double val);
125 double getTmat(
const int index1,
const int index2)
const;
133 double getVmat(
const int index1,
const int index2,
const int index3,
const int index4)
const;
147 void save(
const string file_parent=HAMILTONIAN_ParentStorageName,
const string file_tmat=HAMILTONIAN_TmatStorageName,
const string file_vmat=HAMILTONIAN_VmatStorageName)
const;
153 void read(
const string file_parent=HAMILTONIAN_ParentStorageName,
const string file_tmat=HAMILTONIAN_TmatStorageName,
const string file_vmat=HAMILTONIAN_VmatStorageName);
160 void writeFCIDUMP(
const string fcidumpfile,
const int Nelec,
const int TwoS,
const int TargetIrrep )
const;
169 void readfock(
const string fockfile,
double * fockmx,
const bool printinfo )
const;
198 void CreateAndFillFromH5(
const string file_parent,
const string file_tmat,
const string file_vmat);
201 void CreateAndFillFromFCIDUMP(
const string fcidumpfile );
void readfock(const string fockfile, double *fockmx, const bool printinfo) const
Read in a FOCK file.
void setTmat(const int index1, const int index2, const double val)
Set a Tmat element.
int getOrbitalIrrep(const int nOrb) const
Get an orbital irrep number.
void debugcheck() const
Debug check certain elements and sums.
void setVmat(const int index1, const int index2, const int index3, const int index4, const double val)
Set a Vmat element.
void save(const string file_parent=HAMILTONIAN_ParentStorageName, const string file_tmat=HAMILTONIAN_TmatStorageName, const string file_vmat=HAMILTONIAN_VmatStorageName) const
Save the Hamiltonian.
void setEconst(const double val)
Set the constant energy.
virtual ~Hamiltonian()
Destructor.
void writeFCIDUMP(const string fcidumpfile, const int Nelec, const int TwoS, const int TargetIrrep) const
Write the Hamiltonian to a FCIDUMP file.
void read(const string file_parent=HAMILTONIAN_ParentStorageName, const string file_tmat=HAMILTONIAN_TmatStorageName, const string file_vmat=HAMILTONIAN_VmatStorageName)
Load the Hamiltonian.
void addToVmat(const int index1, const int index2, const int index3, const int index4, const double val)
Add to Vmat element.
FourIndex * getVmat()
Get the pointer to the two-electron integrals.
int getNGroup() const
Get the group number.
double getEconst() const
Get the constant energy.
Hamiltonian(const int Norbitals, const int nGroup, const int *OrbIrreps)
Constructor.
const TwoIndex * getTmat()
Get the pointer to the one-electron integrals.
int getL() const
Get the number of orbitals.