ExactExchangeParameters

class ExactExchangeParameters(aux_basis_tolerance=None, number_of_waves=None, maximum_wave_vector=None, integral_tolerance=None, relative_screening_tolerance=None, use_admm=None, basis_set_admm=None, auxiliary_basis_set=None)

Class for representing the parameters for setting the numerical accuracy of an exact exchange calculation.

Parameters:
  • aux_basis_tolerance (dict of string to double, or just a single double used for all element.) – The auxiliary basis is constructed by taking a product basis of the regular basis and throwing away functions that are linearly dependent up to this tolerance.
    Default: 1.0e-3

  • number_of_waves (int) – Parameter for the radial FFT. Will determine accuracy of the exchange integrals.
    Default: 1024

  • maximum_wave_vector (double) – Parameter for the radial FFT. Will determine accuracy of the exchange integrals.
    Default: 50.0

  • integral_tolerance (double) – The integral tolerance for throwing away integral contributions to the exchange matrix
    Default: 1.0e-4

  • relative_screening_tolerance – The tolerance used to throw away contributions to the exchange matrix. Contributions that have an estimated contribution below this tolerance is not calculated. The tolerance is relative to the exchange_integral_tolerance, thus the actual tolerance used is relative_screening_tolerance * exchange_integral_tolerance. The screening tolerance is smaller than the exchange_integral_tolerance due to accumulation of errors.
    Default: 1.0e-2

  • use_admm (boolean) – If true, we use the admm approximation for exact exchange.

  • basis_set_admm (BasisSet) – If we use ADMM, we have a second smaller basis set for exchange, which is provided here.

  • auxiliary_basis_set (NLEngine.BasisSet) – If this is provided, we use this as an auxiliary basis set and not the product space.

auxBasisTolerance()
Returns:

The auxiliary basis is constructed by taking a product basis of the regular basis and throwing away functions that are linearly dependent up to this tolerance.

Return type:

dict of string to double, or just a single double used for all element.

auxiliaryBasisSet()
Returns:

The auxiliary basis set used for PARI, if this is None, the auxiliary basis set used will be the product basis of the exchange basis set.

Return type:

NLEngine.BasisSet

basisSetAdmm()
Returns:

The Auxiliary Density Matrix Method (ADMM) ‘exchange’ basis set.

Return type:

list

integralTolerance()
Returns:

The integral screening tolerance for throwing away integral contributions to the exchange matrix

Return type:

double

maximumWaveVector()
Returns:

Parameter for the radial FFT. Will determine accuracy of the exchange integrals.

Return type:

double

minAuxBasisTolerance()
Returns:

The auxiliary basis is constructed by taking a product basis of the regular basis and throwing away functions that are linearly dependent up to this tolerance.

Return type:

double

nlinfo()
Returns:

The nlinfo.

Return type:

dict

numberOfWaves()
Returns:

Parameter for the radial FFT. Will determine accuracy of the exchange integrals.

Return type:

int

relativeScreeningTolerance()
Returns:

The integral screening tolerance for throwing away integral contributions to the exchange matrix

Return type:

double

uniqueString()

Return a unique string representing the state of the object.

useAdmm()
Returns:

True, then the Auxiliary Density Matrix Method (ADMM) is used.

Return type:

bool