Class Avogadro::Core::GaussianSetTools#

class GaussianSetTools#

Provide tools to calculate molecular orbitals, electron densities and other derived data stored in a GaussianSet result.

Author

Marcus D. Hanwell

Public Functions

explicit GaussianSetTools(Molecule *mol = nullptr)#
~GaussianSetTools()#
inline void setElectronType(BasisSet::ElectronType type)#

Set the electron type, must be called once MOs are available.

Parameters:

type – The electron type - Alpha, Beta, or Paired (default).

bool calculateMolecularOrbital(Cube &cube, int molecularOrbitalNumber) const#

Populate the cube with values for the molecular orbital.

Parameters:
  • cube – The cube to be populated with values.

  • molecularOrbitalNumber – The molecular orbital number.

Returns:

True on success, false on failure.

double calculateMolecularOrbital(const Vector3 &position, int molecularOrbitalNumber) const#

Calculate the value of the specified molecular orbital at the position specified.

Parameters:
  • position – The position in space to calculate the value.

  • molecularOrbitalNumber – The molecular orbital number.

Returns:

The value of the molecular orbital at the position specified.

bool calculateElectronDensity(Cube &cube) const#

Populate the cube with values for the electron density.

Parameters:

cube – The cube to be populated with values.

Returns:

True on success, false on failure.

double calculateElectronDensity(const Vector3 &position) const#

Calculate the value of the electron density at the position specified.

Parameters:

position – The position in space to calculate the value.

Returns:

The value of the electron density at the position specified.

bool calculateSpinDensity(Cube &cube) const#

Populate the cube with values for the spin density.

Parameters:

cube – The cube to be populated with values.

Returns:

True on success, false on failure.

double calculateSpinDensity(const Vector3 &position) const#

Calculate the value of the electron spin density at the position specified.

Parameters:

position – The position in space to calculate the value.

Returns:

The value of the spin density at the position specified.

bool isValid() const#

Check that the basis set is valid and can be used.

Returns:

True if valid, false otherwise.