File MolecularOrbitalsManipulation.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
LcaoUtil
-
class
MolecularOrbitalsManipulation
- #include <MolecularOrbitalsManipulation.h>
Class for transformations on molecular orbitals.
Public Static Functions
-
static void
swapRestricted
(MolecularOrbitals &orbitals, const std::vector<Swap> &swaps)¶
-
static void
swapUnrestricted
(MolecularOrbitals &orbitals, const std::vector<Swap> &alphaSwaps, const std::vector<Swap> &betaSwaps)¶
-
static void
mixRestricted
(MolecularOrbitals &orbitals, const std::vector<Mix> &mixes)¶
-
static void
mixUnrestricted
(MolecularOrbitals &orbitals, const std::vector<Mix> &alphaMixes, const std::vector<Mix> &betaMixes)¶
-
static MolecularOrbitals
createRestrictedWithSwaps
(const MolecularOrbitals &orbitals, const std::vector<Swap> &swaps)¶
-
static MolecularOrbitals
createUnrestrictedWithSwaps
(const MolecularOrbitals &orbitals, const std::vector<Swap> &alphaSwaps, const std::vector<Swap> &betaSwaps)¶
-
static MolecularOrbitals
createRestrictedWithMixes
(const MolecularOrbitals &orbitals, const std::vector<Mix> &mixes)¶
-
static MolecularOrbitals
createUnrestrictedWithMixes
(const MolecularOrbitals &orbitals, const std::vector<Mix> &alphaMixes, const std::vector<Mix> &betaMixes)¶
Private Static Functions
-
struct
DeprecatedMix
- #include <MolecularOrbitalsManipulation.h>
Struct to specify Mixing. Given two orbitals, they will be mixed for the generation of the density matrix. Thereby, lowLyingOrbitalNotToFill is going to be -1 (HOMO), -2, -3, -4, … and highLyingOrbitalToFill is going to be +1 (LUMO), +2, +3, +4, … angleInRad_ specifies the angle with which they will be mixed (0 doesn’t do anything, pi/2 swaps them).
Public Functions
-
DeprecatedMix
(int lowLyingOrbitalNotToFill, int highLyingOrbitalToFill, double angleInrad)¶
-
-
struct
DeprecatedSwap
- #include <MolecularOrbitalsManipulation.h>
Struct to specify swaps. Given two orbitals, they will be switched for the generation of the density matrix. Thereby, lowLyingOrbitalNotToFill is going to be -1 (HOMO), -2, -3, -4, … and highLyingOrbitalToFill is going to be +1 (LUMO), +2, +3, +4, …
Public Functions
-
DeprecatedSwap
(int lowLyingOrbitalNotToFill, int highLyingOrbitalToFill)¶
-
-
struct
Mix
- #include <MolecularOrbitalsManipulation.h>
Struct to specify Mixing. Given two orbitals, they will be mixed. angleInRad_ specifies the angle with which they will be mixed (0 doesn’t do anything, pi/2 swaps them).
Public Functions
-
Mix
(int orbital1, int orbital2, double angleInrad)¶
-
-
struct
Swap
- #include <MolecularOrbitalsManipulation.h>
Struct to specify swaps. Given two orbitals, they will be swapped.
Public Functions
-
Swap
(int orbital1, int orbital2)¶
-
-
static void
-
class
-
namespace
-
namespace