psi::libtrans::MOSpace Class Reference

#include <mospace.h>

List of all members.

Public Member Functions

 MOSpace (const char label, const int nirreps, const int *aOrbsPI, const int *bOrbsPI, const double ***aEvecs, const double ***bEvecs, const int *aIndex, const int *bIndex)
char label ()
 Get the unique identifier for this space.
const int * aOrbsPI ()
 Get the number of alpha orbitals per irrep.
const int * bOrbsPI ()
 Get the number of beta orbitals per irrep.
const int * aOrbSym ()
 Get the alpha orbital symmetries.
const int * bOrbSym ()
 Get the beta orbital symmetries.
const int * aIndex ()
 Get the alpha orbital indexing array for IWL.
const int * bIndex ()
 Get the beta orbital indexing array for IWL.
const double *** aEvecs ()
 Get the alpha MO coefficients for this space.
const double *** bEvecs ()
 Get the beta MO coefficients for this space.

Static Public Attributes

static shared_ptr< MOSpaceocc
static shared_ptr< MOSpacevir
static shared_ptr< MOSpaceall
static shared_ptr< MOSpacenil

Protected Member Functions

 MOSpace (const char label)

Protected Attributes

const char _label
const int * _aOrbsPI
const int * _bOrbsPI
const int * _aIndex
const int * _bIndex
int * _aOrbSym
int * _bOrbSym
const double *** _aEvecs
const double *** _bEvecs

Static Protected Attributes

static std::map< char, int > labelsUsed
 Keeps track of which labels have been assigned, for safety.

Friends

bool operator== (const MOSpace &lhs, const MOSpace &rhs)
bool operator>= (const MOSpace &lhs, const MOSpace &rhs)
bool operator!= (const MOSpace &lhs, const MOSpace &rhs)
bool operator<= (const MOSpace &lhs, const MOSpace &rhs)
bool operator< (const MOSpace &lhs, const MOSpace &rhs)
bool operator> (const MOSpace &lhs, const MOSpace &rhs)
bool operator== (const MOSpace &lhs, const char c)
bool operator>= (const MOSpace &lhs, const char c)
bool operator!= (const MOSpace &lhs, const char c)
bool operator<= (const MOSpace &lhs, const char c)
bool operator< (const MOSpace &lhs, const char c)
bool operator> (const MOSpace &lhs, const char c)


Detailed Description

The MOSpace class is used to define orbital spaces in which to transform integrals

Constructor & Destructor Documentation

psi::libtrans::MOSpace::MOSpace ( const char  label,
const int  nirreps,
const int *  aOrbsPI,
const int *  bOrbsPI,
const double ***  aEvecs,
const double ***  bEvecs,
const int *  aIndex,
const int *  bIndex 
)

Defines a custom orbital space with different alpha and beta spaces

Parameters:
label - a single character to label this space. This must be unique to this space, so see the MOSpace static member variables for a list of the labels already used. The uniqueness is checked internally.
nirreps - the number of irreducible representations in the Abelian point group of the molecule.
aOrbsPI - an array of dimension irreps, describing the number of alpha orbitals per irrep
bOrbsPI - an array of dimension irreps, describing the number of beta orbitals per irrep. This is assumed to be the same as a aOrbsPI for restricted transformations, so in this case it can be passed in a NULL.
aEvecs - an array of matrices of dimension irreps. For each irrep h, aEvecs[h] should be an NSO[h] X aOrbsPI[h] block matrix containing the alpha MO coefficients for this space.
bEvecs - an array of matrices of dimension irreps. For each irrep h, bEvecs[h] should be an NSO[h] X bOrbsPI[h] block matrix containing the beta MO coefficients for this space. Pass in as NULL for restricted transformations; the alpha coefficients will be used in this case.
aIndex - an array of dimension orbitals describing the number of each alpha orbital in the space. This is only for the purposes of IWL output, so it can be passed as NULL for DPD output.
bIndex - an array of dimension orbitals describing the number of each beta orbital in the space. For restricted transformations or for DPD output only, this can be passed as NULL.

psi::libtrans::MOSpace::MOSpace ( const char  label  )  [protected]

This creates an empty MOSpace with just a label. This is solely for the construction of the pre-defined spaces; use the longer form of the constructor for custom spaces.


Member Data Documentation

const char psi::libtrans::MOSpace::_label [protected]

The identifier for this space; this must be unique for each space. See the documentation for the static spaces in MOSpace to see which labels have already been used


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

Generated on Mon Dec 21 14:14:49 2009 for PSI by  doxygen 1.5.6