minihf.hamiltonian.integral.nuclear_attraction module

class minihf.hamiltonian.integral.nuclear_attraction.NuclearAttraction[source]

Bases: object

The Obara-Saika scheme for nuclear attraction integral.

contracted(self, cga, cgb)[source]

Evaluate integral over contracted GTOs.

primitive(self, pga, pgb)[source]

Evaluate integral over primitive GTOs.

target(self, r, pga, pgb)[source]

Obtain the target integral in the Obara-Saika recurrence relations.

recurrence(self, r, pga, pgb, pga_1, pga_2, pgb_1)[source]

Run the recurrence.

new_gaussian(self, r, pga, pgb):

Generate all the new primitive GTOs in the Obara-Saika recurrence relations.

contracted(cga, cgb, mol)[source]

Evaluate integral over contracted GTOs.

Parameters:
Returns:

result – Integral value.

Return type:

float

primitive(pga, pgb, C)[source]

Evaluate integral over primitive gaussian orbitals.

Parameters:
  • pga (PrimitiveGaussian) – The first primitive gaussian orbital.

  • pgb (PrimitiveGaussian) – The second primitive gaussian orbital.

  • C (list) – The coordinates of the center of the molecule.

Returns:

result – Integral value.

Return type:

float

target(N, shell_a, shell_b)[source]

Obtain the target integral using shell tuples instead of objects.

recurrence(r, N, shell_a, shell_b)[source]

Run recurrence without creating new Gaussian objects.

recurrence_swapped(r, N, shell_a, shell_b)[source]

Recurrence with swapped roles (when pgb has angular momentum).