6
#include <libchkpt/chkpt.h>
7
#include <libciomr/libciomr.h>
13
HFWavefunction::HFWavefunction()
16
if (!psio_open_check(PSIF_CHKPT)) {
17
chkpt_init(PSIO_OPEN_OLD);
21
num_mo_ = chkpt_rd_nmo();
22
num_so_ = chkpt_rd_nso();
23
num_ao_ = chkpt_rd_nao();
25
refnum_ = (reftype) chkpt_rd_ref();
27
nirreps_ = chkpt_rd_nirreps();
28
clsdpi_ = chkpt_rd_clsdpi();
29
openpi_ = chkpt_rd_openpi();
30
orbspi_ = chkpt_rd_orbspi();
33
for(int i=0; i<nirreps_; i++) {
38
aotoso_ = chkpt_rd_usotao();
39
rref_ = chkpt_rd_rref();
40
if (refnum_ == ref_uhf || refnum_ == ref_uks) {
41
alpha_evec_ = chkpt_rd_alpha_scf();
42
beta_evec_ = chkpt_rd_beta_scf();
45
alpha_evec_ = chkpt_rd_scf();
53
HFWavefunction::~HFWavefunction()
60
free_block(alpha_evec_);
61
if (beta_evec_ != NULL) free_block(beta_evec_);
65
HFWavefunction::num_mo() { return num_mo_; }
68
HFWavefunction::num_so() { return num_so_; }
71
HFWavefunction::ndocc() { return ndocc_; }
74
HFWavefunction::nsocc() { return nsocc_; }
77
HFWavefunction::nalpha() { return ndocc_ + nsocc_; }
80
HFWavefunction::nbeta() { return ndocc_; }
83
HFWavefunction::num_ao() { return num_ao_; }
86
HFWavefunction::nirreps() { return nirreps_; }
89
HFWavefunction::clsdpi() { return clsdpi_; }
92
HFWavefunction::openpi() { return openpi_; }
95
HFWavefunction::orbspi() { return orbspi_; }
98
HFWavefunction::alpha_evec() { return alpha_evec_; }
101
HFWavefunction::beta_evec() {
102
if (refnum_ == ref_uhf || refnum_ == ref_uks)
109
HFWavefunction::aotoso() { return aotoso_; }
112
HFWavefunction::rref() { return rref_; }
115
HFWavefunction::set_rref(double** rref)
117
for(int i=0; i<3; i++)
118
for(int j=0; j<3; j++)
119
rref_[i][j] = rref[i][j];