Class Scine::Utils::LCAOMethod

class LCAOMethod : public Scine::Utils::SinglePointMethod

Base class describing a method based on a LCAO ansatz.

Subclassed by Scine::Utils::SCFMethod

Public Functions

virtual void initialize()

Initialize the method after the parameters have been set or loaded.

void calculate(Utils::derivativeType d)

Performs one single-point calculation of the energy.

Parameters
  • derivativesOrder: which derivative to calculate up to, if possible.

bool basisSetIsOrthogonal() const

Return

true if the basis set is orthogonal and the electronic structure is optimized in a normal eigenvalue problem, false if it is a generalized eigenvalue problem.

double getHomoLumoGap() const

Get the HOMO-LUMO gap (Unit: Hartree).

const AtomsOrbitalsIndexes &getAtomsOrbitalsIndexesHolder() const

Returns a const reference to the object containing information about which atoms have how many orbitals and what their indexes are.

const SingleParticleEnergies &getSingleParticleEnergies() const

Returns a const reference to the object containing information about single-particle energies.

const LcaoUtil::ElectronicOccupation &getElectronicOccupation() const

Returns a const reference to the object containing information about the electronic occupation.

void setElectronicOccupationGenerator(std::unique_ptr<LcaoUtil::ElectronicOccupationGenerator> &&electronicOccupationSetter)

Set how the electronic occupation is to be set. By default, the Aufbau principle is used.

Protected Functions

void resizeLCAOMethodMatrices()

Resets the size of the different matrices. To be called during initialization of the specific method.