File zeroLocal2c2eIntegrals.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
namespace multipole
class ZeroLocal2c2eIntegrals
#include <zeroLocal2c2eIntegrals.h>

Class that specifies which local two-center two-electron integrals are equal to zero in the semi-empirical approximation.

Public Static Functions

static bool isZero(GeneralTypes::twoElIntegral_t t1, GeneralTypes::twoElIntegral_t t2)

Returns whether the two two electron integral types have as result 0 because of the NDDO approximation.

Return

true if the integral <t1|1/r|t2> is zero due to the NDDO approximation.

Parameters
  • t1: first two electron integral type.

  • t2: second two electron integral type.

Private Types

using Array = std::array<std::array<bool, numberTwoElectronIntegrals>, numberTwoElectronIntegrals>

Private Static Functions

static Array getArrayForZeroIntegrals()
static void setElementToNonZero(Array &array, GeneralTypes::twoElIntegral_t t1, GeneralTypes::twoElIntegral_t t2)

Private Static Attributes

constexpr int numberTwoElectronIntegrals = 40