|
DOCI-Exact
1.0
|
#include <Molecule.h>
Inheritance diagram for doci::PSI_C1_Molecule:
Collaboration diagram for doci::PSI_C1_Molecule:Public Member Functions | |
| PSI_C1_Molecule (std::string) | |
| PSI_C1_Molecule (const PSI_C1_Molecule &) | |
| PSI_C1_Molecule (PSI_C1_Molecule &&) | |
| PSI_C1_Molecule & | operator= (const PSI_C1_Molecule &) |
| PSI_C1_Molecule & | operator= (PSI_C1_Molecule &&) |
| PSI_C1_Molecule * | clone () const |
| PSI_C1_Molecule * | move () |
| double | getT (int, int) const |
| double | getV (int, int, int, int) const |
| void | Print () const |
| double | HF_Energy () const |
| PSI_C1_Molecule (std::string) | |
| PSI_C1_Molecule (const PSI_C1_Molecule &) | |
| PSI_C1_Molecule (PSI_C1_Molecule &&) | |
| PSI_C1_Molecule & | operator= (const PSI_C1_Molecule &) |
| PSI_C1_Molecule & | operator= (PSI_C1_Molecule &&) |
| PSI_C1_Molecule * | clone () const |
| PSI_C1_Molecule * | move () |
| double | getT (int, int) const |
| double | getV (int, int, int, int) const |
| void | Print () const |
| double | HF_Energy () const |
Public Member Functions inherited from doci::Molecule | |
| virtual | ~Molecule ()=default |
| virtual double | get_nucl_rep () const |
| virtual unsigned int | get_n_sp () const |
| virtual unsigned int | get_n_electrons () const |
| virtual | ~Molecule ()=default |
| virtual double | get_nucl_rep () const |
| virtual unsigned int | get_n_sp () const |
| virtual unsigned int | get_n_electrons () const |
Additional Inherited Members | |
Protected Attributes inherited from doci::Molecule | |
| unsigned int | n_electrons |
| number of electrons More... | |
| double | nucl_rep |
| nuclear repulsion (const part to add to the energy) More... | |
| unsigned int | n_sp |
| the size of the single particles space (without spin) More... | |
We will store the matrix elements generated by our PSI4 plugin in this this class. We don't use any symmetry (aka, C1 symmetry). It needs nice orthonormal matrix elements. Currently, we supply them from a HDF5 file. We use a RHF basis as starting point but you can do anything.
Definition at line 55 of file Molecule.h.
| PSI_C1_Molecule::PSI_C1_Molecule | ( | std::string | filename | ) |
Constructor. This reads a HDF5 file with the integrals. It expects following file format: /integrals/OEI => array with One electron integrals /integrals/TEI => array with Two electron integrals /integrals should have following attributes:
| filename | the HDF5 file to read the OEI and TEI from |
Definition at line 50 of file Molecule.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| PSI_C1_Molecule::PSI_C1_Molecule | ( | const PSI_C1_Molecule & | orig | ) |
Copy constructor
Definition at line 124 of file Molecule.cpp.
| PSI_C1_Molecule::PSI_C1_Molecule | ( | PSI_C1_Molecule && | orig | ) |
Move constructor
Definition at line 137 of file Molecule.cpp.
| doci::PSI_C1_Molecule::PSI_C1_Molecule | ( | std::string | ) |
| doci::PSI_C1_Molecule::PSI_C1_Molecule | ( | const PSI_C1_Molecule & | ) |
| doci::PSI_C1_Molecule::PSI_C1_Molecule | ( | PSI_C1_Molecule && | ) |
|
virtual |
Clone the current object. Needed because the base class is pure virtual and thus has no copy constructor.
Implements doci::Molecule.
Definition at line 177 of file Molecule.cpp.
Here is the call graph for this function:
|
virtual |
Implements doci::Molecule.
|
virtual |
Get the matrix element \(<a|\hat T|b>\) where T is the one body operator
| a | the first sp index |
| b | the second sp index |
Implements doci::Molecule.
Definition at line 194 of file Molecule.cpp.
Here is the caller graph for this function:
|
virtual |
Implements doci::Molecule.
|
virtual |
Get the matrix element \(<ab|\hat V|cd>\) where V is the two body operator
| a | the first sp index |
| b | the second sp index |
| c | the thirth sp index |
| d | the fourth sp index |
Implements doci::Molecule.
Definition at line 210 of file Molecule.cpp.
Here is the caller graph for this function:
|
virtual |
Implements doci::Molecule.
| double PSI_C1_Molecule::HF_Energy | ( | ) | const |
This will calculate the (restricted) Hartree-Fock energy.
Definition at line 244 of file Molecule.cpp.
Here is the call graph for this function:| double doci::PSI_C1_Molecule::HF_Energy | ( | ) | const |
|
virtual |
Implements doci::Molecule.
Definition at line 182 of file Molecule.cpp.
Here is the call graph for this function:
|
virtual |
Implements doci::Molecule.
| PSI_C1_Molecule& doci::PSI_C1_Molecule::operator= | ( | const PSI_C1_Molecule & | ) |
| PSI_C1_Molecule & PSI_C1_Molecule::operator= | ( | const PSI_C1_Molecule & | orig | ) |
Definition at line 147 of file Molecule.cpp.
| PSI_C1_Molecule& doci::PSI_C1_Molecule::operator= | ( | PSI_C1_Molecule && | ) |
| PSI_C1_Molecule & PSI_C1_Molecule::operator= | ( | PSI_C1_Molecule && | orig | ) |
Definition at line 159 of file Molecule.cpp.
| void doci::PSI_C1_Molecule::Print | ( | ) | const |
| void PSI_C1_Molecule::Print | ( | ) | const |
Print the molecular integrals. Usefull for input into other codes
Definition at line 221 of file Molecule.cpp.
Here is the call graph for this function: