File RandomOrbitalMixer.h¶
- Copyright
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
-
namespace
Scine This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.
This header contains alias definitions defining which classes to use for the different degrees of derivatives.
-
namespace
Utils -
namespace
MultipleScfSolutions¶ -
class
RandomOrbitalMixer - #include <RandomOrbitalMixer.h>
Class to randomly mix randomly chosen molecular orbitals. In the restricted case, the alphaHomo_ and betaHomo_ are both holding the value for restrictedHomo_.
Public Functions
-
RandomOrbitalMixer(MolecularOrbitals &orbitals, int nRestrictedElectrons) Constructor for the restricted case.
-
RandomOrbitalMixer(MolecularOrbitals &orbitals, int nAlphaElectrons, int nBetaElectrons) Constructor for the unrestricted case.
-
void
mix()¶
-
void
setNumberMixes(int numberMixes)¶
-
void
setMaximalMixAngle(double maxAngle)¶
-
void
setMinimalMixAngle(double minAngle)¶
-
void
considerOnlyOrbitalsCloseToFrontierOrbitals(int numberToConsider) - numberToConsider Will be the same both for occupied and virtual orbitals.
-
void
considerAllOrbitals()¶
Public Static Functions
-
static std::mt19937 &
getRandomNumberGenerator()¶
Private Functions
-
void
checkValidNumberOfMixes()¶
-
std::vector<LcaoUtil::MolecularOrbitalsManipulation::Mix>
calculateMixes(int homoIndex) const¶
-
std::vector<int>
getRandomOccupiedOrbitals(int homoIndex) const¶
-
std::vector<int>
getRandomVirtualOrbitals(int homoIndex) const¶
-
std::vector<int>
selectUniqueRandomNumbers(int min, int max) const¶
-
std::vector<LcaoUtil::MolecularOrbitalsManipulation::Mix>
createMixes(const std::vector<int> &occ, const std::vector<int> &virt) const¶
-
int
calculateMaximalVirtualIndex(int homoIndex) const¶
-
int
calculateMinimalOccupiedIndex(int homoIndex) const¶
-
bool
invalidMolecularOrbitals(const MolecularOrbitals &mo) const¶
-
-
class
-
namespace
-
namespace