Skip to content

contraction coefficients: converting between normalization-free and normalized primitives #404

@evaleev

Description

@evaleev

Shell::Contraction::coeff contains coefficients of normalization-free primitives. These are obtained from the coefficients provided to Shell ctor as follows:

  • if embed_normalization_into_coefficients is true, the input coefficients are assumed to be the coefficients of unit-normalized primitives (for Cartesian shells the same coefficient is used for every Cartesian AO; this means that only axis-aligned Cartesians are unit normalized). Furthermore, if Shell::do_enforce_unit_normalization() is true (it is by default), the contraction coefficients will be adjusted uniformly to ensure that the contraction is unit normalized (for most basis sets the contraction coefficients are set to already ensure this).
  • if embed_normalization_into_coefficients is false, the input coefficients are assumed to be the coefficients of normalization-free primitives. The value of Shell::do_enforce_unit_normalization() is not used in this case.

Thus:

  • coefficient of pth normalization-free primitive in cth contraction in shell sh is obtained as sh.contr[c].coeff[p], and
  • coefficient of pth unit-normalized primitive in cth contraction in shell sh is obtained as sh.coeff_normalized(c, p).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions