Scine::Sparrow
5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
|
CalculatorTest | |
TestCalculatorPythonBindings | |
CalculatorWithReferenceTest | |
TestCalculatorWithReferencePythonBindings | |
Python | |
setup | |
EmptyListWithLength | |
Scine | |
Sparrow | |
detail | |
RestrictedBase | Result of the pruning procedure. Restricted specialization. Note: all quantities are sorted in increasing energy order |
UnrestrictedBase | Result of the pruning procedure. Unrestricted specialization. Has an additional "isBeta" bool vector. Note: all quantities are sorted in increasing energy order |
BetaExcitation | |
dftb | |
DFTB0 | |
DFTB2 | |
DFTB3 | |
ParameterSet | |
DensityGuess | |
IncompleteParametersException | |
DFTBCommon | |
Overlap | |
PairwiseRepulsion | |
Repulsion | |
RepulsionParameters | |
Spline | |
ScfFock | |
SDFTB | |
SecondOrderFock | Implementation of FockMatrixCalculator for DFTB2, the SCC-DFTB. It calculates the electronic contributions to the energy and their derivatives with respect to the nuclear cartesian coordinates |
SKAtom | |
SkfData | |
SameElementLine | |
SkfSpinConstants | |
SkfHubbardDerivatives | |
InterpolationValues | |
SKPair | |
GammaDerivativeTerms | |
GammaTerms | |
ThirdOrderFock | Implementation of FockMatrixCalculator for DFTB3. It calculates the electronic contributions to the energy and their derivatives with respect to the nuclear cartesian coordinates |
ZeroOrderFock | |
ZeroOrderMatricesCalculator | This class calculates the matrices resulting from the zeroth order expansion of the DFT energy for the DFTB methods |
nddo | |
GeneralTypes | |
InvalidMultipoleException | |
InvalidOrbitalPairException | |
InvalidQuantumNumbersException | |
multipole | |
ChargesInMultipoles | |
Global2c2eMatrix | |
RotationTerm | |
Global2c2eTerms | |
Local2c2eIntegralCalculator | This class is responsible for the calculation of the 2-center-2-electron integrals in the local coordinate system |
LocalTerm | Struct defining an interaction between two multipoles. It consists of a prefactor, f, the charge distributions and the corresponding multipoles. It thus uniquely defines an interaction |
Local2c2eMatrix | |
MMTermCreator | |
MultipoleCharge | |
MultipoleChargePair | |
MultipoleMultipoleInteraction | This header-only class performs the actual calculation of the multipole-multipole interaction |
MultipoleMultipoleInteractionContainer | This class keeps a list of terms of charge-charge-interactions for a pair of multipoles |
MultipoleMultipoleTerm | This header-only class defines an object for the calculation of an interaction between two charges in a multipole |
VuvB | |
ZeroLocal2c2eIntegrals | Class that specifies which local two-center two-electron integrals are equal to zero in the semi-empirical approximation |
ChargeSeparationParameter | Charge separation D of semi-empirical models. It describes the separation between two charges of opposite sign in a multipole |
KlopmanParameter | This class is the container for the Klopman-Ohno parameters used for the evaluation of the multipoles |
AM1Method | |
AM1PairwiseRepulsion | |
AM1RepulsionEnergy | This class sums up the core-core repulsion energies and the corresponding derivatives with respect to the nuclear cartesian coordinate between all pairs of cores. It inherits from Utils::RepulsionCalculator in order for it to work with the LCAO/ScfMethod polymorphic system |
ConstexprAtomic | |
ConstexprDiatomic | |
ConstexprParameters | |
MNDOMethod | |
MNDOPairwiseRepulsion | This class calculates the core-core repulsion between two atoms |
MNDORepulsionEnergy | This class sums up the core-core repulsion energies and the corresponding derivatives with respect to the nuclear cartesian coordinate between all pairs of cores. It inherits from Utils::RepulsionCalculator in order for it to work with the LCAO/ScfMethod polymorphic system |
Parameters | Nddo method parameters |
Atomic | |
GaussianRepulsion | |
Pack | Pack of implicitly constexpr part of atomic parameters |
Spd | |
Diatomic | Diatomic parameters |
PM6Method | |
PM6PairwiseRepulsion | |
PM6RepulsionEnergy | This class sums up the core-core repulsion energies and the corresponding derivatives with respect to the nuclear cartesian coordinate between all pairs of cores. It inherits from Utils::RepulsionCalculator in order for it to work with the LCAO/ScfMethod polymorphic system |
FockMatrix | |
AtomPairOverlap | This class computes a block of the overlap matrix for two atoms. The actual calculation is done by the GTOOverlapMatrixBlock class, here the blocks that need calculation are identified and scheduled for calculation |
AngularMomentum | |
GTOOverlapMatrixBlock | This class calculates the overlap matrix block and its derivatives for two groups of orbitals on different atoms, each group of which shares the same angular momentum. F.i. s-s, s-p, p-d, d-d, ... according to the Obara-Saika method |
OneCenterIntegralContainer | |
OneCenterSlaterIntegral | |
OneCenterTwoElectronCalculator | |
OneCenterTwoElectronIntegralExpression | |
NoElementSetException | |
NoExponentsSetException | |
OneCenterTwoElectronIntegrals | |
OrbitalRotation | |
OverlapMatrix | This class computes the whole overlap matrix and returns it in lower diagonal form. The basis function overlap, as well as its first and second order derivatives with respect to the nuclear cartesian coordinates is calculated. It inherits from OverlapCalculator in order to make this class compatible with its polymorphic useage |
TwoCenterIntegralContainer | This class contains smart pointers to two-center two-electron matrices for different atoms |
TwoElectronIntegralIndexes | This class initializes and stores as a static array the indices of the charge distributions on one center playing a role in the multipole expansion |
NDDODensityGuess | |
NDDOElectronicEnergyCalculator | |
NDDOInitializer | Settings for generic NDDO methods. Reads the parameters and applies them to the system of interest. Depending on the method, the basis functions used can either be BasisFunction::sp (MNDO, AM1) of BasisFunction::spd (i.e. PM6, AM1*, MNDO/d) and it can have just atomic parameters (i.e. AM1, MNDO) or also diatomic parameters (i.e. PM6) |
OneElectronMatrix | This class generates the one-electron matrix H for semi-empirical methods |
AtomicParameters | |
DiatomicParameters | |
ElementPairParameters | |
ElementParameters | |
PM6DiatomicParameters | |
RawParameterProcessor | |
SlaterCondonParameters | |
TwoElectronMatrix | Class to generate the two-electron matrix G for semi-empirical methods. This class is parallelized with OpenMP |
RealTimeSpectroscopy | |
IntensitiesCalculator | |
IRCalculator | |
SpectroscopySettings | |
IRSettings | |
UvVisSettings | |
GeometryOptimizationProfile | |
VeryTightOptimizationProfile | |
TightOptimizationProfile | |
MediumOptimizationProfile | |
LooseOptimizationProfile | |
VeryLooseOptimizationProfile | |
ARealTimeSpectroscopyTest | |
LineWidthGenerator | |
GradientObserver | |
IncorrectSpectrumSizeException | |
Spectrum | |
UvVisCalculator | |
GuessPropagator | |
Tests | |
AMoldenFileGeneratorTest | |
MethodNotAvailableException | Exception thrown if a non available method is requested |
FileInaccessibleException | |
CalculationHandler | Class handling the main calculation routines |
CommandLineOptions | Class to parse the command line options for non-default options and passes them to a Util::Settings class. This class uses the pImpl idiom to hide the boost::program_options dependency |
Impl | |
SparrowInitializer | This class initializes the resource and base directories from the position of the program |
DFTB0MethodWrapper | A method wrapper handling DFTB0 calculations |
DFTB0Settings | The Settings specific to the DFTB0 method, a non SCF method. Please note that since DFTB0 is not an SCF method, it will not contain SCF options. Furthermore, it is not capable of performing calculation in unrestricted formalism |
DFTB2MethodWrapper | A method wrapper handling DFTB2 calculations, also known as SCC-DFTB, self-consistent charge DFTB |
DFTB2Settings | The Settings specific to the DFTB2 (SCC-DFTB) method |
DFTB3MethodWrapper | A method wrapper handling DFTB3 calculations |
DFTB3Settings | The Settings specific to the DFTB3 method |
DFTBMethodWrapper | |
NumberOfConfigurations | Strongly named int representing the number of electronic configurations.Used in return type to give some infos on the number |
EnergyThreshold | Strongly named double representing an energy threshold.Used in function signature to differentiate from a PerturbativeThreshold |
PerturbativeThreshold | Strongly named double representing a perturbation threshold.Used in function signature to differentiate from an EnergyThreshold |
BasisPruner | |
OrderedInput | Ordered input for the TDDFTB eigenvalue solver. Contains quantities in increasing energetic order |
TDDFTBEigenvalueSolver | |
TDDFTBCalculator | |
TDDFTBData | This class contains the infos needed to perform a TD-DFTB calculation. This way excited states properties can be calculated in a LR-TD approach. The data are given by reference to prevent useless copies. Right now the data needed to perform TD-SCC-DFTB are present. In order to implement TD-DFTB3 other data might be needed |
TDDFTBSettings | |
TDDFTBSigmaVectorEvaluator | |
DFTBDipoleMatrixCalculator | Class responsible for the calculation of the dipole matrix in MO basis for DFTB methods. This class calculates the dipole matrix in MO basis according to R. Rüger, E. van Lenthe, T. Heine and L. Visscher, Tight-Binding Approximations to Time-Dependent Density Functional Theory |
DFTBDipoleMomentCalculator | This class calculates the electrical dipole moment for the DFTB methods. Right now it calculates the dipole through a Mulliken population analysis. New methods can then be implemented if deemed necessary. In particular, with this approximation transition dipoles from orbitals on the same atom can be vastly underestimated, which is of importance for TD-DFTB |
InvalidOccupationException | |
SpinPolarizedTransitionChargesNotImplementedException | |
SpinPolarizedOrbitalsNotAvailableException | |
TransitionChargesCalculator | |
DipoleMatrixTypeNotAvailableException | |
DipoleMatrixCalculator | Interface for the calculation of the dipole matrix in semiempirical methods |
DipoleMomentCalculator | Interface for the calculation of the electrical dipole moment in a semiempirical method |
InvalidCalculatorType | |
InvalidCalculatorTypeForCIS | Exception thrown if a non-NDDO calculator is set |
InvalidCalculatorTypeForTDDFTB | Exception thrown if a non-DFTB calculator is set |
SpinConstantsNotAvailableException | Exception for the case in which an unrestricted or triplet TD-DFTB calculation is asked for, but no spin constants are available |
InvalidReferenceCalculationException | Exception for invalid reference calculations |
MissingReferenceCalculatorException | Exception thrown if no reference calculator was set |
InvalidSpinMultiplicityException | |
GenericMethodWrapper | A MethodWrapper running Generic calculations |
MoldenFileGenerator | Class to create the wavefunction information needed for outputting densities,... Note that NDDO methods have their own STO-6G expansion, fine tuned according to their parameters, while for DFTB methods the STO-6G expansion of the PM6 method was used. Since STO-6G expansions are very similar one-another, the implementation ease of this was deemed a satisfactory compromise. If the underlying calculator has not been initialized, then care must be taken that outside of this function a calculation is performed. This class handles only s, p and d orbitals |
AM1TypeSettings | The Settings specific to all the AM1-type methods, i.e. AM1, RM1, PM3. This class uses the curiously recurrent template pattern to have compile-time resolution of the parameters position and settings descriptions, which both are method-dependant. Having independent classes would lead to unwanted code duplication |
AM1Settings | |
RM1Settings | |
PM3Settings | |
AM1TypeMethodWrapper | A parent class for all AM1-type methods using the same formalism but different parameters (AM1, RM1, PM3). This class uses the curiously recurrent template pattern to have compile-time resolution of the model names, as well as the use of the right constructor. The constructors are method-dependant, having independent classes would lead to unwanted code duplication |
AM1MethodWrapper | |
RM1MethodWrapper | |
PM3MethodWrapper | |
MNDOMethodWrapper | A method wrapper handling MNDO calculations |
MNDOSettings | |
NDDOMethodWrapper | Abstract class acting as a genericWrapper for NDDO methods |
PM6MethodWrapper | A method wrapper running PM6 calculations |
PM6Settings | The Settings specific to the PM6 method |
CISData | This class contains the infos needed to perform a CIS calculation. This way excited states properties can be calculated in a LR-TD approach. The data are given by value (i.e. copied) to allow the calculation to work also in an interactive setting |
CISLinearResponseTimeDependentCalculator | |
CISMatrixAOFockBuilderBase | |
CISMatrixAOFockBuilder | |
CISMatrixAOFockBuilderFactory | |
CISPseudoDensityBuilder | This class evaluates pseudo-density matrices for the construction of the sigma-vectors in the Davidson-Liu algorithm. The calculation is performed according to J. B. Foresman, M. Head-Gordon, J. A. Pople and M. J. Frisch; J. Phys. Chem. 1992, 96, 1, 135-149 |
CISSettings | |
CISSigmaVectorEvaluator | |
CISSpinContaminator | |
AnalyticalDipoleIntegralOverGTOsCalculator | |
AtomPairDipole | Class responsible for calculating a block of the dipole matrix |
GTODipoleMatrixBlock | Class responsible for calculating a block of the dipole matrix in GTO ao basis. The basis must be one of the STO-nG type |
NDDODipoleMatrixCalculator | Class responsible for the calculation of the dipole matrix |
NDDODipoleMomentCalculator | Class resposible for the calculation of the dipole in the NDDO methods. It must be able to calculate the dipole both with the NDDO approximation and with the use of the dipole matrix |
OrbitalSteeringCalculator | |
InvalidCalculatorTypeForOrbitalSteerer | |
OrbitalSteeringSettings | |
PostScfCorrections | A class for post-SCF corrections (e.g., D3) |
DiagonalPreconditionerEvaluator | Direct preconditioner calculator |
LinearResponseCalculator | |
GuessSpecifier | |
LinearResponseData | This class contains the infos needed to perform a linear response calculation. This way excited states properties can be calculated in a LR-TD approach. It serves as a common base class for TD-DFTB and CIS data. The data are given by reference to prevent useless copies |
LinearResponseSettings | Generic settings for linear response methods, i.e. CIS and TD-DFTB |
OrderTag | Tag to define the order in the preconditioner evaluators. This is in a single file to prevent needing to include a huge header for this |
ExcitedStatesParam | |
TimeDependentUtils | Class containing utility functions for excites-states calculations such as (NDDO-)CIS or TD-DFT(B).This class contains static functions to calculate occupied-virtual energy difference vectors, generate excitation labels (occ -> vir) for restricted and unrestricted reference calculations |
SparrowModule | The SCINE Module implementation for Sparrow |
IncompatibleStateException | |
SparrowState | Definition of a calculation state for methods implemented in Sparrow. The calculation state is defined as the density matrix and the coefficient matrix at some point. If the density matrix is empty, an exception is thrown at loading time |
CommonDipoleCalculation | |
SlowDipoleCalculation | |
SlaterToGaussianDipoleTest | |
AAM1PairwiseRepulsion | |
AAM1Calculation | |
ADFTB0Calculation | |
ADFTB2Calculation | |
ADFTB3Calculation | |
ADFTBStatesHandlerTest | |
AMNDOPairwiseRepulsion | |
AMNDOCalculation | |
ANDDOStatesHandlerTest | |
APM6PairwiseRepulsion | |
APM6Calculation | |
AAtomicParameters | |
AAtomPairOverlapMatrix | |
AMultipoleChargePair | |
AChargesInMultipoles | |
ALocal2c2eIntegralCalculator | |
AMultipoleCharge | |
AChargeSeparationParameter | |
AKlopmanParameter | |
OneCenterSlaterIntegralCalculation | |
OneCenterTwoElectronIntegralCalculation | |
AGTOOverlapMatrixBlock | |
AOverlapMatrix | |
APairwiseParameters | |
ARawParameterProcessing | |
SlaterCondonParameterCalculation | |
Sto6gBasisTest | |
AVuvBMatrix | |
ABasisPruningTest | |
ACISTestCalculation | |
ASlowCalculation | |
ATDDFTBTestCalculation | |
Utils | |
BSplines | |
ExternalQC | |
Geometry | |
test_sparrow | |
Calculation | |
TestSparrowFast | |
TestSparrowSlow | |
Basispruner | This class takes care of pruning the singly excited determinant space. It is called when a pruned calculation is started. It prunes the vector of energy differences of the substituted orbitals in a determinant and the respective exciations (short: energy difference vector) |
CISTestSigmaVectorEvaluator | This class evaluates the -vectors for the Davidson-Liu algorithm for both reference calculations (J. B. Foresman, M. Head-Gordon, J. A. Pople and M. J. Frisch; J. Phys. Chem. 1992, 96, 1, 135-149.) |
CppFileStructure | |
GuessPropagation | Calculates the expansion coefficients for a new set of atomic positions. The coefficients are recovered by a DIIS-type procedure on error vectors calculated by the difference in coordinate. See Accelerating Wave Function Convergence in Interactive QuantumChemical Reactivity Studies Adrian H. Mühlbach, Alain C. Vaucher, and Markus Reiher for implementation details. Electronic states vectors are extrapolated instead of density matrices |
Indent | |
Indented | |
Joiner | |
MNDOCalculatorSettings | The Settings specific to the MNDOCalculator |
OptionalWrapper | |
Skf | |
SparrowModuleLoad |