/usr/include/libmints/wavefunction.h is in libpsi3-dev 3.4.0-6+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #ifndef _psi_src_lib_libmints_wavefunction_h
#define _psi_src_lib_libmints_wavefunction_h
/*!
\file libmints/wavefunction.h
\ingroup MINTS
*/
#include <libmints/factory.h>
#include <libmints/ref.h>
#include <libmints/molecule.h>
#include <libmints/basisset.h>
#include <libpsio/psio.hpp>
#define MAX_IOFF 30000
extern int ioff[MAX_IOFF];
#define MAX_DF 500
extern double df[MAX_DF];
#define MAX_BC 20
extern double bc[MAX_BC][MAX_BC];
#define MAX_FAC 50
extern double fac[MAX_FAC];
#define INDEX2(i, j) ( i >= j ? ioff[i] + j : ioff[j] + i )
#define INDEX4(i, j, k, l) ( INDEX2( INDEX2(i, j), INDEX2(k, l) ) )
namespace psi {
//! Simple wavefunction base class.
class Wavefunction {
protected:
Ref<BasisSet> basisset_;
Ref<Molecule> molecule_;
// PSI file access variables
Ref<psi::PSIO> psio_;
Ref<psi::Chkpt> chkpt_;
MatrixFactory factory_;
long int memory_;
unsigned int debug_;
double energy_threshold_;
double density_threshold_;
private:
Wavefunction() {}
void common_init();
public:
/// Set the PSIO object. Note: Wavefunction assumes ownership of the object. DO NOT DELETE!
Wavefunction(psi::PSIO *psio, psi::Chkpt *chkpt = 0);
/// Set the PSIO object. Note: Wavefunction assumes shared ownership of the object.
Wavefunction(Ref<psi::PSIO>& psio, Ref<psi::Chkpt>& chkpt);
virtual ~Wavefunction();
/// Compute energy. Subclasses override this function to compute its energy.
virtual double compute_energy();
/// Initialize internal variables from checkpoint file.
void init_with_chkpt();
Ref<Molecule> molecule() { return molecule_; }
static void initialize_singletons();
};
}
#endif
|