CheMPS2
CheMPS2::Irreps Class Reference

#include <Irreps.h>

Public Member Functions

 Irreps ()
 Constructor.
 
 Irreps (const int nGroup)
 Constructor 2. More...
 
virtual ~Irreps ()
 Destructor.
 
bool setGroup (const int nGroup)
 Set the group. More...
 
bool getIsActivated () const
 Whether the group number is already activated. More...
 
int getGroupNumber () const
 Get the group number. More...
 
string getGroupName () const
 Get the name of the group. More...
 
int getNumberOfIrreps () const
 Get the number of irreps for the currently activated group. More...
 
string getIrrepName (const int irrepNumber) const
 Get the name of the irrep with number irrepNumber of the activated group. The irrep with number 0 is always the trivial irrep. More...
 
void symm_psi2molpro (int *psi2molpro) const
 Fill the array psi2molpro with the irrep conventions of molpro for the currently activated group. More...
 

Static Public Member Functions

static string getGroupName (const int nGroup)
 Get the name of the group corresponding to nGroup. More...
 
static int getNumberOfIrreps (const int nGroup)
 Get the number of irreps for a certain group number. More...
 
static int directProd (const int Irrep1, const int Irrep2)
 Get the direct product of the irreps with numbers Irrep1 and Irrep2: a bitwise XOR for psi4's conventions. More...
 
static void symm_psi2molpro (int *psi2molpro, const string SymmLabel)
 Fill the array psi2molpro with the irrep conventions of molpro for the group with symmetry label SymmLabel. More...
 
static void printAll ()
 Print all info contained in this class.
 

Detailed Description

Irreps class.

Author
Sebastian Wouters sebas.nosp@m.tian.nosp@m.woute.nosp@m.rs@g.nosp@m.mail..nosp@m.com
Date
February 7, 2013

This class contains the symmetry group and irrep conventions. The program requires Abelian point groups with real character tables, with hence $I_{\alpha} \otimes I_{\alpha} = I_{trivial}$.

Irrep conventions

The same conventions as in Psi4 (beta5) are used. For convenience, they are listed below:

Symmetry Conventions Irrep Number & Name
Group Number & Name 0 1 2 3 4 5 6 7
0: c1 A
1: ci Ag Au
2: c2 A B
3: cs A' A''
4: d2 A B1 B2 B3
5: c2v A1 A2 B1 B2
6: c2h Ag Bg Au Bu
7: d2h Ag B1g B2g B3g Au B1u B2u B3u
Note that these conventions allow to use the XOR operation for irrep multiplication.

Definition at line 69 of file Irreps.h.

Constructor & Destructor Documentation

CheMPS2::Irreps::Irreps ( const int  nGroup)

Constructor 2.

Parameters
nGroupThe group number (0 <= nGroup <= 7; else isActivated remains false)

Definition at line 36 of file Irreps.cpp.

+ Here is the call graph for this function:

Member Function Documentation

static int CheMPS2::Irreps::directProd ( const int  Irrep1,
const int  Irrep2 
)
inlinestatic

Get the direct product of the irreps with numbers Irrep1 and Irrep2: a bitwise XOR for psi4's conventions.

Parameters
Irrep1The number of the first irrep
Irrep2The number of the second irrep
Returns
The direct product of I1 and I2

Definition at line 123 of file Irreps.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

string CheMPS2::Irreps::getGroupName ( ) const

Get the name of the group.

Returns
The group name ("error" means not activated)

Definition at line 68 of file Irreps.cpp.

+ Here is the caller graph for this function:

string CheMPS2::Irreps::getGroupName ( const int  nGroup)
static

Get the name of the group corresponding to nGroup.

Parameters
nGroupGroup number
Returns
The group name corresponding to nGroup

Definition at line 74 of file Irreps.cpp.

int CheMPS2::Irreps::getGroupNumber ( ) const

Get the group number.

Returns
The group number (-1 means not activated)

Definition at line 66 of file Irreps.cpp.

+ Here is the caller graph for this function:

string CheMPS2::Irreps::getIrrepName ( const int  irrepNumber) const

Get the name of the irrep with number irrepNumber of the activated group. The irrep with number 0 is always the trivial irrep.

Parameters
irrepNumberThe irrep number
Returns
The irrep name (not activated returns "error1"; wrong number returns "error2")

Definition at line 110 of file Irreps.cpp.

+ Here is the caller graph for this function:

bool CheMPS2::Irreps::getIsActivated ( ) const

Whether the group number is already activated.

Returns
Whether the group number is already activated

Definition at line 64 of file Irreps.cpp.

int CheMPS2::Irreps::getNumberOfIrreps ( ) const

Get the number of irreps for the currently activated group.

Returns
The number of irreps for the currently activated group (-1 means not activated)

Definition at line 94 of file Irreps.cpp.

+ Here is the caller graph for this function:

int CheMPS2::Irreps::getNumberOfIrreps ( const int  nGroup)
static

Get the number of irreps for a certain group number.

Parameters
nGroupThe group number for which the number of irreps will be returned
Returns
The number of irreps of that group (-1 means wrong group number)

Definition at line 100 of file Irreps.cpp.

bool CheMPS2::Irreps::setGroup ( const int  nGroup)

Set the group.

Parameters
nGroupNumber from 0 to 7 (7 included)
Returns
Validity of the group number (error returns false)

Definition at line 50 of file Irreps.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CheMPS2::Irreps::symm_psi2molpro ( int *  psi2molpro) const

Fill the array psi2molpro with the irrep conventions of molpro for the currently activated group.

Parameters
psi2molproThe array to be filled: psi2molpro[psi_irrep] = molpro_irrep

Definition at line 177 of file Irreps.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CheMPS2::Irreps::symm_psi2molpro ( int *  psi2molpro,
const string  SymmLabel 
)
static

Fill the array psi2molpro with the irrep conventions of molpro for the group with symmetry label SymmLabel.

Parameters
psi2molproThe array to be filled: psi2molpro[psi_irrep] = molpro_irrep
SymmLabelThe group for which psi2molpro needs to be filled

Definition at line 184 of file Irreps.cpp.


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