Class Scine::Sparrow::nddo::multipole::ChargeSeparationParameter

class ChargeSeparationParameter

Charge separation D of semi-empirical models. It describes the separation between two charges of opposite sign in a multipole.

The calculation of the charge separation is described in Thiel, Voityuk, Theor Chim Acta, 1992, 81, 391. The charge separation are stored ad a static c-array of size 5. The charge separations are ordered as in the nddo::multipole::multipolePair_t enum, i.e. sp1, pd1, pp2, sd2, dd2. ss0, pp0, dd0 are not present as there is no charge separation for them (they are monopoles).

Public Functions

ChargeSeparationParameter()

constructor, resets the charge separation array to zero.

void computeFromExponents(unsigned int ns, unsigned int np, double zs, double zp)

calculates the charge separation from the main quantum numbers and the orbital exponents of s and p orbitals

Parameters
  • ns: main quantum number of the s orbital

  • np: main quantum number of the p orbital

  • zs: orbital exponent of the s orbital

  • zp: orbital exponent of the p orbital

void computeFromExponents(unsigned int ns, unsigned int np, unsigned int nd, double zs, double zp, double zd)

calculate the charge separation from the main quantum numbers and the orbital exponents of s, p and d orbitals

Parameters
  • ns: main quantum number of the s orbital

  • np: main quantum number of the p orbital

  • nd: main quantum number of the d orbital

  • zs: orbital exponent of the s orbital

  • zp: orbital exponent of the p orbital

  • zd: orbital exponent of the d orbital

void set(multipolePair_t type, double value)

sets the value of a charge separation for a given multipole type

Parameters
  • type: one of the first 5 elements of the nddo::multipole:multipolePair_t enum, corresponding to the dipole and the quadrupole charge configurations. The assignment is not checked.

  • value: the value of the charge separation parameter

double get(multipolePair_t type) const

gets the value corresponding to one of the multipolescharge configuration.

No check is performed to ensure that no monopolar charge configuration is requested.