File OneCenterTwoElectronCalculator.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine
namespace Sparrow
namespace nddo
class OneCenterTwoElectronCalculator
#include <OneCenterTwoElectronCalculator.h>

This class implements formulas for the calculation of the one-center two-electron integrals from 14 Slater-Condon parameters and three radial parameters. The main reference is Pelikan, P; Turi Nagy L., Chemical Papers, 1974, 28, 594-598. The indexes used here are the same as in the reference minus one. In formula 17 of the reference, sqrt(12) is used instead of 12. In formula 54, R1sppd would be correct instead of R1spdd In formulas 51, 53, 56, 57, R2sppd is R2sdpp

Public Functions

OneCenterTwoElectronCalculator()

constructor

double getIntegral(int ind, const SlaterCondonParameters *p)

Public Static Functions

static void setIndexes()

Generates the set of used indexes for the one center two electrons statically This functions defines the first time the indexes through the private method setUniqueIndexes().

The generated index array (containing all the possible orbital combination, so a 9x9x9x9 array) contains for each element the index of the corresponding integral value.

static int getIndex(int i, int j, int k, int l)

Private Static Functions

static void setUniqueIndexes()
static void setIndex(int i, int j, int k, int l, int *p)

Private Static Attributes

bool indexesSet_
int index[9][9][9][9]
OneCenterTwoElectronIntegralExpression expr[58]