Scine::Sparrow  5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
CISData.h
Go to the documentation of this file.
1 
7 #ifndef SPARROW_CISDATA_H
8 #define SPARROW_CISDATA_H
9 
16 namespace Scine {
17 namespace Sparrow {
18 
24 struct CISData : public LinearResponseData {
25  const nddo::OneCenterIntegralContainer& oneCenterIntegrals;
26  const nddo::TwoCenterIntegralContainer& twoCenterIntegrals;
27 
39  CISData(const nddo::OneCenterIntegralContainer& oneCenterIntegralContainer,
40  const nddo::TwoCenterIntegralContainer& twoCenterIntegralContainer, const Utils::MolecularOrbitals& MOs,
41  const Utils::SingleParticleEnergies& orbitalEnergies, Utils::AtomsOrbitalsIndexes aoIndex,
43  const Eigen::MatrixXd& overlapMatrix)
44  : LinearResponseData(MOs, orbitalEnergies, std::move(aoIndex), elements, occupation, overlapMatrix),
45  oneCenterIntegrals(oneCenterIntegralContainer),
46  twoCenterIntegrals(twoCenterIntegralContainer) {
47  }
48 
49  template<class NDDOMethod>
50  static CISData constructCISDataFromNDDOMethod(const NDDOMethod& method) {
51  return CISData(method.getTwoElectronMatrix().getOneCenterIntegrals(),
52  method.getTwoElectronMatrix().getTwoCenterIntegrals(), method.getMolecularOrbitals(),
53  method.getSingleParticleEnergies(), method.getInitializer().getAtomsOrbitalsIndexes(),
54  method.getElementTypes(), method.getElectronicOccupation(), method.getOverlapMatrix());
55  }
56 };
57 
58 } // namespace Sparrow
59 } // namespace Scine
60 #endif // SPARROW_CISDATA_H
CISData(const nddo::OneCenterIntegralContainer &oneCenterIntegralContainer, const nddo::TwoCenterIntegralContainer &twoCenterIntegralContainer, const Utils::MolecularOrbitals &MOs, const Utils::SingleParticleEnergies &orbitalEnergies, Utils::AtomsOrbitalsIndexes aoIndex, const Utils::ElementTypeCollection &elements, const Utils::LcaoUtils::ElectronicOccupation &occupation, const Eigen::MatrixXd &overlapMatrix)
Constructor for an instance of the CISData struct.
Definition: CISData.h:39
Definition: oneCenterIntegralContainer.h:32
This class contains the infos needed to perform a linear response calculation. This way excited state...
Definition: LinearResponseData.h:28
This class contains smart pointers to two-center two-electron matrices for different atoms...
Definition: TwoCenterIntegralContainer.h:33
This class contains the infos needed to perform a CIS calculation. This way excited states properties...
Definition: CISData.h:24