Psi4
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::IntegralTransform Class Reference

#include <integraltransform.h>

Public Types

enum  HalfTrans { MakeAndKeep, ReadAndKeep, MakeAndNuke, ReadAndNuke }
 
enum  TransformationType { Restricted, Unrestricted, SemiCanonical }
 
enum  MOOrdering { QTOrder, PitzerOrder }
 
enum  OutputType { DPDOnly, IWLOnly, IWLAndDPD }
 
enum  FrozenOrbitals { None, OccOnly, VirOnly, OccAndVir }
 
enum  SpinType { Alpha, Beta }
 

Public Member Functions

 IntegralTransform (std::shared_ptr< Wavefunction > wfn, SpaceVec spaces, TransformationType transformationType=Restricted, OutputType outputType=DPDOnly, MOOrdering moOrdering=QTOrder, FrozenOrbitals frozenOrbitals=OccAndVir, bool initialize=true)
 
 IntegralTransform (SharedMatrix H, SharedMatrix c, SharedMatrix i, SharedMatrix a, SharedMatrix v, SpaceVec spaces, TransformationType transformationType=Restricted, OutputType outputType=DPDOnly, MOOrdering moOrdering=QTOrder, FrozenOrbitals frozenOrbitals=OccAndVir, bool initialize=true)
 
 ~IntegralTransform ()
 
void initialize ()
 
void presort_so_tei ()
 
void generate_oei ()
 
void update_orbitals ()
 
void transform_oei (const std::shared_ptr< MOSpace > s1, const std::shared_ptr< MOSpace > s2, const char *label)
 
void transform_tei (const std::shared_ptr< MOSpace > s1, const std::shared_ptr< MOSpace > s2, const std::shared_ptr< MOSpace > s3, const std::shared_ptr< MOSpace > s4, HalfTrans=MakeAndNuke)
 
void transform_tei_first_half (const std::shared_ptr< MOSpace > s1, const std::shared_ptr< MOSpace > s2)
 
void transform_tei_second_half (const std::shared_ptr< MOSpace > s1, const std::shared_ptr< MOSpace > s2, const std::shared_ptr< MOSpace > s3, const std::shared_ptr< MOSpace > s4)
 
void backtransform_density ()
 
void backtransform_tpdm_restricted ()
 
void backtransform_tpdm_unrestricted ()
 
void print_dpd_lookup ()
 
std::vector< SharedMatrixcompute_fock_like_matrices (SharedMatrix Hcore, std::vector< SharedMatrix > Cmats)
 Computes Fock matrices, frozen core operators and other Fock-like quantities. This shouldn't be needed because those quantities are computed during the SO integral presort. However, in Brueckner CC and other orbital optimized methods, the Fock matrices need an update so this function may be called to extract them from the DPD buffers, allowing the IWL buffers to be nuked after the first integral transformation.. More...
 
int DPD_ID (const char c)
 
int DPD_ID (char *str)
 
int DPD_ID (const char *str)
 
int DPD_ID (const std::string &str)
 
int DPD_ID (const std::shared_ptr< MOSpace > s1, const std::shared_ptr< MOSpace > s2, SpinType spin, bool pack)
 
void set_so_tei_file (int so_tei_file)
 Sets the SO IWL file to read the TEIs from. More...
 
void set_write_dpd_so_tpdm (bool t_f)
 Set whether to write a DPD formatted SO basis TPDM to disk after density transformations. More...
 
void set_print (int n)
 Set the level of printing used during transformations (0 -> 6) More...
 
void set_orbitals (SharedMatrix C)
 
int get_print () const
 The level of printing used during transformations. More...
 
double get_frozen_core_energy () const
 Returns the frozen-core energy. More...
 
void set_keep_ht_ints (bool val)
 Set the library to keep or delete the half-transformed integrals in DPD form after processing. More...
 
bool get_keep_ht_ints () const
 Whether the library will keep or delete the half-transformed integrals in DPD form after processing. More...
 
void set_keep_dpd_so_ints (bool val)
 Set the library to keep or delete the SO integrals in DPD form after processing. More...
 
bool get_keep_dpd_so_ints () const
 Whether the library will keep or delete the SO integrals in DPD form after processing. More...
 
void set_keep_iwl_so_ints (bool val)
 Set the library to keep or delete the SO integrals in IWL form after processing. More...
 
bool get_keep_iwl_so_ints () const
 Whether the library will keep or delete the SO integrals in IWL form after processing. More...
 
void set_tpdm_already_presorted (bool val)
 Whether TPDM has already presorted. More...
 
bool get_tei_already_presorted ()
 Whether SO intergals are already presorted. More...
 
void set_tei_already_presorted (bool val)
 
void set_memory (size_t memory)
 Set the memory (in MB) available to the library. More...
 
size_t get_memory () const
 The amount of memory (in MB) available to the library. More...
 
void set_dpd_id (int n)
 Set the number of the DPD instance to be used in the transformation. More...
 
int get_dpd_id () const
 The number of the DPD instance used in the transformation. More...
 
std::shared_ptr< PSIOget_psio () const
 Get the psio object being used by this object. More...
 
void set_psio (std::shared_ptr< PSIO > psio)
 Set the psio object to be used. You must delay initialization in the ctor for this to work. More...
 
void set_dpd_int_file (int file)
 The file to output DPD integrals to. More...
 
void set_aa_int_name (const std::string &name)
 
void set_ab_int_name (const std::string &name)
 
void set_bb_int_name (const std::string &name)
 
const int * alpha_corr_to_pitzer () const
 Get the alpha correlated to Pitzer ordering array, used in backtransforms. More...
 
const int * beta_corr_to_pitzer () const
 Get the beta correlated to Pitzer ordering array, used in backtransforms. More...
 
int nirrep () const
 
void reset_so_int ()
 

Protected Member Functions

void check_initialized ()
 
void common_initialize ()
 
void process_eigenvectors ()
 
void process_spaces ()
 
void presort_mo_tpdm_restricted ()
 
void presort_mo_tpdm_unrestricted ()
 
void setup_tpdm_buffer (const dpdbuf4 *D)
 
void sort_so_tpdm (const dpdbuf4 *B, int irrep, size_t first_row, size_t num_rows, bool first_run)
 
void trans_one (int m, int n, double *input, double *output, double **C, int soOffset, int *order, bool backtransform=false, double scale=0.0)
 

Protected Attributes

bool initialized_
 
std::vector< size_t > tpdm_buffer_sizes_
 
double * tpdm_buffer_
 
double frozen_core_energy_
 
std::shared_ptr< Wavefunctionwfn_
 
std::shared_ptr< PSIOpsio_
 
TransformationType transformationType_
 
SpaceVec uniqueSpaces_
 
MOOrdering moOrdering_
 
OutputType outputType_
 
FrozenOrbitals frozenOrbitals_
 
std::vector< char > spacesUsed_
 
std::vector< int * > spaceArray_
 
std::map< char, int * > aOrbsPI_
 
std::map< char, int * > bOrbsPI_
 
std::map< char, SharedMatrixaMOCoefficients_
 
std::map< char, SharedMatrixbMOCoefficients_
 
std::map< char, int * > aIndices_
 
std::map< char, int * > bIndices_
 
std::map< std::string, int > dpdLookup_
 
bool alreadyPresorted_
 
bool write_dpd_so_tpdm_
 
int dpdIntFile_
 
int soIntTEIFile_
 
int aHtIntFile_
 
int bHtIntFile_
 
int iwlAAIntFile_
 
int iwlABIntFile_
 
int iwlBBIntFile_
 
int nirreps_
 
int nmo_
 
int nso_
 
int nTriSo_
 
int nTriMo_
 
int nfzc_
 
int nfzv_
 
std::string aaIntName_
 
std::string abIntName_
 
std::string bbIntName_
 
char * spaces_
 
std::vector< std::string > labels_
 
double tolerance_
 
size_t memory_
 
int moIntFileAA_
 
int moIntFileAB_
 
int moIntFileBB_
 
int myDPDNum_
 
int print_
 
int * zeros_
 
int * aQT_
 
int * bQT_
 
int * aCorrToPitzer_
 
int * bCorrToPitzer_
 
Dimension sopi_
 
int * sosym_
 
int * mosym_
 
Dimension mopi_
 
Dimension clsdpi_
 
Dimension openpi_
 
Dimension frzcpi_
 
Dimension frzvpi_
 
Dimension nalphapi_
 
Dimension nbetapi_
 
int * cacheFiles_
 
int ** cacheList_
 
std::shared_ptr< MatrixCa_
 
std::shared_ptr< MatrixCb_
 
std::shared_ptr< MatrixH_
 
bool keepIwlSoInts_
 
bool keepIwlMoTpdm_
 
bool keepDpdSoInts_
 
bool keepDpdMoTpdm_
 
bool keepHtInts_
 
bool keepHtTpdm_
 
bool printTei_
 
bool useIWL_
 
bool useDPD_
 
bool tpdmAlreadyPresorted_
 
std::map< char, int > labelsUsed_
 

Detailed Description

The IntegralTransform class transforms one- and two-electron integrals within general spaces

Member Enumeration Documentation

Which orbitals are to be "frozen" i.e. excluded from the transformation. N.B. Orbitals are only frozen if input detected a request to do so. That means that requesting a frozen-core transformation will result in an all-electron transformation, unless some orbitals were actually frozen.

None - No orbitals are excluded OccOnly - Only the frozen occupied orbitals are excluded VirOnly - Only the frozen virtual orbitals are excluded OccAndVir - The frozen occupied and the frozen core orbitals are excluded

Enumerator
None 
OccOnly 
VirOnly 
OccAndVir 

How to handle reuse of intermediates in two-electron integral transformations

MakeAndKeep - Compute the half-transformed integrals for this transformation, and keep after use ReadAndKeep - Read the half-transformed integrals for this transformation from disk, and keep after use MakeAndNuke - Compute the half-transformed integrals for this transformation, and delete after use ReadAndNuke - Read the half-transformed integrals for this transformation from disk, and delete after use

Enumerator
MakeAndKeep 
ReadAndKeep 
MakeAndNuke 
ReadAndNuke 

Ordering of the resulting integrals:-

QTOrder - Ordered by class (frozen docc < docc < socc < virtual < frozen virtual ) then by irrep within these classes Pitzer - Ordered by irreps, then by orbital energy within irreps

Enumerator
QTOrder 
PitzerOrder 

Output format for the resulting integrals:-

DPDOnly - Write the integrals to (a) DPD structure(s) IWLOnly - Write the integrals to (an) IWL structure(s) IWLAndDPD - Write the integrals to an IWL-formatted file in addition to the

Enumerator
DPDOnly 
IWLOnly 
IWLAndDPD 

The spin of the electron. This could, of course, be a boolean but an enum makes things a little more transparent

Alpha = spin up Beta = spin down

Enumerator
Alpha 
Beta 

Possible Transformations:-

Restricted - Same alpha and beta orbitals Unrestricted - Different alpha and beta orbitals SemiCanonical - Start from restricted orbitals and diagnonalize alpha

  • and beta occ-occ and vir-vir block seperately, leading
  • to different alpha and beta orbitals
Enumerator
Restricted 
Unrestricted 
SemiCanonical 

Constructor & Destructor Documentation

IntegralTransform::IntegralTransform ( std::shared_ptr< Wavefunction wfn,
SpaceVec  spaces,
TransformationType  transformationType = Restricted,
OutputType  outputType = DPDOnly,
MOOrdering  moOrdering = QTOrder,
FrozenOrbitals  frozenOrbitals = OccAndVir,
bool  initialize = true 
)

Set up a transformation involving four MO spaces

Parameters
wfnA (shared pointer to a) wavefunction object with the orbital info
spacesA vector containing smart pointers to the unique space(s) involved in any transformations that this object will perform
transformationTypeThe type of transformation, described by the enum TransformationType
moOrderingThe ordering convention of the resulting integrals, see enum MOOrdering. This only affects IWL output.
outputTypeThe storage format of the transformed integrals, see enum OutputType
frozenOrbitalsWhich orbitals are to be excluded from the transformation, see enum FrozenOrbitals
initializeWhether to initialize during construction or not. Useful if some options need to be tweaked before initialization.
IntegralTransform::IntegralTransform ( SharedMatrix  H,
SharedMatrix  c,
SharedMatrix  i,
SharedMatrix  a,
SharedMatrix  v,
SpaceVec  spaces,
TransformationType  transformationType = Restricted,
OutputType  outputType = DPDOnly,
MOOrdering  moOrdering = QTOrder,
FrozenOrbitals  frozenOrbitals = OccAndVir,
bool  initialize = true 
)
IntegralTransform::~IntegralTransform ( )

Member Function Documentation

const int* psi::IntegralTransform::alpha_corr_to_pitzer ( ) const
inline

Get the alpha correlated to Pitzer ordering array, used in backtransforms.

void IntegralTransform::backtransform_density ( )

Transform the one- and two-particle density matrices from the MO to the SO basis

void IntegralTransform::backtransform_tpdm_restricted ( )
void IntegralTransform::backtransform_tpdm_unrestricted ( )
const int* psi::IntegralTransform::beta_corr_to_pitzer ( ) const
inline

Get the beta correlated to Pitzer ordering array, used in backtransforms.

void IntegralTransform::check_initialized ( )
protected
void IntegralTransform::common_initialize ( )
protected
std::vector< SharedMatrix > IntegralTransform::compute_fock_like_matrices ( SharedMatrix  Hcore,
std::vector< SharedMatrix Cmats 
)

Computes Fock matrices, frozen core operators and other Fock-like quantities. This shouldn't be needed because those quantities are computed during the SO integral presort. However, in Brueckner CC and other orbital optimized methods, the Fock matrices need an update so this function may be called to extract them from the DPD buffers, allowing the IWL buffers to be nuked after the first integral transformation..

Parameters
Hcore- the SO basis core Hamiltonian contribution to the Fock matrix.
Cmats- a list of the subset of C matrices for each Fock-like quantity, e.g. the nso*nfzc subset for the frozen core operator.
Returns
a list of the Fock matrices associated with each incoming C matrix.
int IntegralTransform::DPD_ID ( const char  c)

Computes the DPD number of the space corresponding to a given MO space label

Parameters
c- the label of the MO space
Returns
the number associated with the MO space in the transformation object's DPD instance
int IntegralTransform::DPD_ID ( char *  str)

Just a wrapper to the string version.

int IntegralTransform::DPD_ID ( const char *  str)

Just a wrapper to the string version, provided for those const-safe role models out there

int IntegralTransform::DPD_ID ( const std::string &  str)

Computes the DPD number that gives the most packing for a given pair of spaces

Parameters
str- a string describing the pair packing scheme

The following entries are possible for str "[a,a]" - Both indices belong to space 'a' and are not packed "[a>a]+" - Both indices belong to space 'a' and are packed without the diagonal elements. The tensor is symmetric w.r.t. permutation of these indices. "[a>a]-" - Both indices belong to space 'a' and are packed without the diagonal elements. The tensor is antisymmetric w.r.t. permutation of these indices. "[a>=a]+" - Both indices belong to space 'a' and are packed with the diagonal elements. The tensor is symmetric w.r.t. permutation of these indices. "[a>=a]-" - Both indices belong to space 'a' and are packed with the diagonal elements. The tensor is antisymmetric w.r.t. permutation of these indices. [a,b] - One index belongs to space 'a', the other to 'b'. No packing is possible.

int IntegralTransform::DPD_ID ( const std::shared_ptr< MOSpace s1,
const std::shared_ptr< MOSpace s2,
SpinType  spin,
bool  pack 
)

Computes the DPD number that gives the most packing for a given pair of spaces This version is specifically for chemists' notation integrals and is useful when the spaces are not known at call time, because it can decide how to pack the integrals based on whether s1 and s2 are equivalent or not. For all other purposes, use the string based routines of the same name.

Parameters
s1- the first MoSpace
s2- the second MoSpace
spin- the spin of the first MoSpace; either Alpha or Beta can be specified
  • for SO spaces or for restricted transformations
pack- if true, compute the pair number with maximum packing (for disk storage),
  • else assume no packing (for in-core handling)
Returns
the DPD number to use for disk storage
void IntegralTransform::generate_oei ( )

Generates the frozen core operator, Fock matrix and one electron integrals in the MO basis by looping over the IWL SO integral file on disk. The resulting integrals are written to PSIF_SO_OEI and are labelled according to the macros in psifiles.h. Regardless of any parameters, all integrals are transformed and only IWL format is used to store the results.

int psi::IntegralTransform::get_dpd_id ( ) const
inline

The number of the DPD instance used in the transformation.

double psi::IntegralTransform::get_frozen_core_energy ( ) const
inline

Returns the frozen-core energy.

bool psi::IntegralTransform::get_keep_dpd_so_ints ( ) const
inline

Whether the library will keep or delete the SO integrals in DPD form after processing.

bool psi::IntegralTransform::get_keep_ht_ints ( ) const
inline

Whether the library will keep or delete the half-transformed integrals in DPD form after processing.

bool psi::IntegralTransform::get_keep_iwl_so_ints ( ) const
inline

Whether the library will keep or delete the SO integrals in IWL form after processing.

size_t psi::IntegralTransform::get_memory ( ) const
inline

The amount of memory (in MB) available to the library.

int psi::IntegralTransform::get_print ( ) const
inline

The level of printing used during transformations.

std::shared_ptr< PSIO > IntegralTransform::get_psio ( ) const

Get the psio object being used by this object.

bool psi::IntegralTransform::get_tei_already_presorted ( )
inline

Whether SO intergals are already presorted.

void IntegralTransform::initialize ( )

Sets up the DPD buffers and performs semicanonicalization, if necessary.

int psi::IntegralTransform::nirrep ( void  ) const
inline
void IntegralTransform::presort_mo_tpdm_restricted ( )
protected

Presort the (restricted) MO TPDM into DPD buffers to prepare it for the the transformation.

void IntegralTransform::presort_mo_tpdm_unrestricted ( )
protected

Presort the (unrestricted) MO TPDMs into DPD buffers to prepare them for the the transformation.

void IntegralTransform::presort_so_tei ( )

Presort the two-electron integrals into DPD buffers to prepare them for the transformation. The frozen core operator is built simultaneously. If this action has already been performed, it will just load the frozen core operator from disk and return.

void IntegralTransform::print_dpd_lookup ( )

Prints the dpd index for each pair type used in this object

void IntegralTransform::process_eigenvectors ( )
protected

Sets up the eigenvectors for the transformation by querying the MO spaces passed into the constructor. This is done seperately to the DPD setup to give us a chance to semicanonicalize the orbitals if necessary.

void IntegralTransform::process_spaces ( )
protected

Sets up the DPD information for the transformation by querying the MO spaces passed into the constructor

void psi::IntegralTransform::reset_so_int ( )
inline
void psi::IntegralTransform::set_aa_int_name ( const std::string &  name)
inline

Set the name used for the Alpha-Alpha integrals in the DPD file. Needs to be called before each transformation in order to override the default name.

void psi::IntegralTransform::set_ab_int_name ( const std::string &  name)
inline

Set the name used for the Alpha-Beta integrals in the DPD file. Needs to be called before each transformation in order to override the default name.

void psi::IntegralTransform::set_bb_int_name ( const std::string &  name)
inline

Set the name used for the Beta-Beta integrals in the DPD file. Needs to be called before each transformation in order to override the default name.

void psi::IntegralTransform::set_dpd_id ( int  n)
inline

Set the number of the DPD instance to be used in the transformation.

void psi::IntegralTransform::set_dpd_int_file ( int  file)
inline

The file to output DPD integrals to.

void psi::IntegralTransform::set_keep_dpd_so_ints ( bool  val)
inline

Set the library to keep or delete the SO integrals in DPD form after processing.

void psi::IntegralTransform::set_keep_ht_ints ( bool  val)
inline

Set the library to keep or delete the half-transformed integrals in DPD form after processing.

void psi::IntegralTransform::set_keep_iwl_so_ints ( bool  val)
inline

Set the library to keep or delete the SO integrals in IWL form after processing.

void psi::IntegralTransform::set_memory ( size_t  memory)
inline

Set the memory (in MB) available to the library.

void IntegralTransform::set_orbitals ( SharedMatrix  C)

Sets the orbitals to the given C matrix. This is a hack for MCSCF wavefunctions. Use with caution.

Sets the orbital matrix, but touches nothing else. This is used for a MCSCF wavefunction and is a bit of a hack, use at your own risk.

void psi::IntegralTransform::set_print ( int  n)
inline

Set the level of printing used during transformations (0 -> 6)

void IntegralTransform::set_psio ( std::shared_ptr< PSIO psio)

Set the psio object to be used. You must delay initialization in the ctor for this to work.

void psi::IntegralTransform::set_so_tei_file ( int  so_tei_file)
inline

Sets the SO IWL file to read the TEIs from.

void psi::IntegralTransform::set_tei_already_presorted ( bool  val)
inline
void psi::IntegralTransform::set_tpdm_already_presorted ( bool  val)
inline

Whether TPDM has already presorted.

void psi::IntegralTransform::set_write_dpd_so_tpdm ( bool  t_f)
inline

Set whether to write a DPD formatted SO basis TPDM to disk after density transformations.

void psi::IntegralTransform::setup_tpdm_buffer ( const dpdbuf4 D)
protected
void psi::IntegralTransform::sort_so_tpdm ( const dpdbuf4 B,
int  irrep,
size_t  first_row,
size_t  num_rows,
bool  first_run 
)
protected
void IntegralTransform::trans_one ( int  m,
int  n,
double *  input,
double *  output,
double **  C,
int  offset,
int *  order,
bool  backtransform = false,
double  scale = 0.0 
)
protected

Transforms a packed symmetric matrix.

Parameters
m- input matrix row dimension
n- output matrix row dimension
input- pointer to input integrals (the lower-triangle of a symmetric matrix)
pointerto output integrals (the lower-triangle of a symmetric matrix)
Ctransformation matrix (rectangular, m X n)
offset- the point in the full list of SOs where we want to start. This is useful for transforming integrals one irrep at a time and in this case the offset would correspond to the position of the first orbital in the current irrep.
order- a reordering array to change the order of the output
backtransform- whether this is a forward or backwards transformation
scale- the amount of the existing output buffer to mix into the result
void IntegralTransform::transform_oei ( const std::shared_ptr< MOSpace s1,
const std::shared_ptr< MOSpace s2,
const char *  label 
)

Transforms the one-electron integrals. This function is currently limited to IWL input and output and Pitzer ordering, regarless of how the parameters passed to the constructor.

Parameters
s1- the MOSpace for the bra
s2- the MOSpace for the ket

N.B. This need not be called if a two-electron transformation is performed, as the sort_so_tei routine will perform this transformation in addition to the Fock matrix construction.

void IntegralTransform::transform_tei ( const std::shared_ptr< MOSpace s1,
const std::shared_ptr< MOSpace s2,
const std::shared_ptr< MOSpace s3,
const std::shared_ptr< MOSpace s4,
HalfTrans  ht = MakeAndNuke 
)

Transform the two-electron integrals from the SO to the MO basis in the spaces specified

Parameters
s1- the MO space for the first index
s2- the MO space for the second index
s3- the MO space for the third index
s4- the MO space for the fourth index
void IntegralTransform::transform_tei_first_half ( const std::shared_ptr< MOSpace s1,
const std::shared_ptr< MOSpace s2 
)
void IntegralTransform::transform_tei_second_half ( const std::shared_ptr< MOSpace s1,
const std::shared_ptr< MOSpace s2,
const std::shared_ptr< MOSpace s3,
const std::shared_ptr< MOSpace s4 
)
void IntegralTransform::update_orbitals ( )

Re-reads the MO coeffiecients from the checkpoint file and sets up the computation. For default spaces, it is sufficient to call this. For custom MOSpaces, the MOSpace objects' MO coefficients should be updated first. All one-electron integrals are generate in the new basis, including the Fock matrix.

Member Data Documentation

std::string psi::IntegralTransform::aaIntName_
protected
std::string psi::IntegralTransform::abIntName_
protected
int* psi::IntegralTransform::aCorrToPitzer_
protected
int psi::IntegralTransform::aHtIntFile_
protected
std::map<char, int* > psi::IntegralTransform::aIndices_
protected
bool psi::IntegralTransform::alreadyPresorted_
protected
std::map<char, SharedMatrix> psi::IntegralTransform::aMOCoefficients_
protected
std::map<char, int* > psi::IntegralTransform::aOrbsPI_
protected
int* psi::IntegralTransform::aQT_
protected
std::string psi::IntegralTransform::bbIntName_
protected
int* psi::IntegralTransform::bCorrToPitzer_
protected
int psi::IntegralTransform::bHtIntFile_
protected
std::map<char, int* > psi::IntegralTransform::bIndices_
protected
std::map<char, SharedMatrix> psi::IntegralTransform::bMOCoefficients_
protected
std::map<char, int* > psi::IntegralTransform::bOrbsPI_
protected
int* psi::IntegralTransform::bQT_
protected
std::shared_ptr<Matrix> psi::IntegralTransform::Ca_
protected
int* psi::IntegralTransform::cacheFiles_
protected
int ** psi::IntegralTransform::cacheList_
protected
std::shared_ptr<Matrix> psi::IntegralTransform::Cb_
protected
Dimension psi::IntegralTransform::clsdpi_
protected
int psi::IntegralTransform::dpdIntFile_
protected
std::map<std::string, int> psi::IntegralTransform::dpdLookup_
protected
double psi::IntegralTransform::frozen_core_energy_
protected
FrozenOrbitals psi::IntegralTransform::frozenOrbitals_
protected
Dimension psi::IntegralTransform::frzcpi_
protected
Dimension psi::IntegralTransform::frzvpi_
protected
std::shared_ptr<Matrix> psi::IntegralTransform::H_
protected
bool psi::IntegralTransform::initialized_
protected
int psi::IntegralTransform::iwlAAIntFile_
protected
int psi::IntegralTransform::iwlABIntFile_
protected
int psi::IntegralTransform::iwlBBIntFile_
protected
bool psi::IntegralTransform::keepDpdMoTpdm_
protected
bool psi::IntegralTransform::keepDpdSoInts_
protected
bool psi::IntegralTransform::keepHtInts_
protected
bool psi::IntegralTransform::keepHtTpdm_
protected
bool psi::IntegralTransform::keepIwlMoTpdm_
protected
bool psi::IntegralTransform::keepIwlSoInts_
protected
std::vector<std::string> psi::IntegralTransform::labels_
protected
std::map<char, int> psi::IntegralTransform::labelsUsed_
protected
size_t psi::IntegralTransform::memory_
protected
int psi::IntegralTransform::moIntFileAA_
protected
int psi::IntegralTransform::moIntFileAB_
protected
int psi::IntegralTransform::moIntFileBB_
protected
MOOrdering psi::IntegralTransform::moOrdering_
protected
Dimension psi::IntegralTransform::mopi_
protected
int* psi::IntegralTransform::mosym_
protected
int psi::IntegralTransform::myDPDNum_
protected
Dimension psi::IntegralTransform::nalphapi_
protected
Dimension psi::IntegralTransform::nbetapi_
protected
int psi::IntegralTransform::nfzc_
protected
int psi::IntegralTransform::nfzv_
protected
int psi::IntegralTransform::nirreps_
protected
int psi::IntegralTransform::nmo_
protected
int psi::IntegralTransform::nso_
protected
int psi::IntegralTransform::nTriMo_
protected
int psi::IntegralTransform::nTriSo_
protected
Dimension psi::IntegralTransform::openpi_
protected
OutputType psi::IntegralTransform::outputType_
protected
int psi::IntegralTransform::print_
protected
bool psi::IntegralTransform::printTei_
protected
std::shared_ptr<PSIO> psi::IntegralTransform::psio_
protected
int psi::IntegralTransform::soIntTEIFile_
protected
Dimension psi::IntegralTransform::sopi_
protected
int* psi::IntegralTransform::sosym_
protected
std::vector<int*> psi::IntegralTransform::spaceArray_
protected
char* psi::IntegralTransform::spaces_
protected
std::vector<char> psi::IntegralTransform::spacesUsed_
protected
double psi::IntegralTransform::tolerance_
protected
double* psi::IntegralTransform::tpdm_buffer_
protected
std::vector<size_t> psi::IntegralTransform::tpdm_buffer_sizes_
protected
bool psi::IntegralTransform::tpdmAlreadyPresorted_
protected
TransformationType psi::IntegralTransform::transformationType_
protected
SpaceVec psi::IntegralTransform::uniqueSpaces_
protected
bool psi::IntegralTransform::useDPD_
protected
bool psi::IntegralTransform::useIWL_
protected
std::shared_ptr<Wavefunction> psi::IntegralTransform::wfn_
protected
bool psi::IntegralTransform::write_dpd_so_tpdm_
protected
int* psi::IntegralTransform::zeros_
protected

The documentation for this class was generated from the following files: