File MoldenFileGenerator.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
namespace Sparrow
class 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.

Public Functions

MoldenFileGenerator(const GenericMethodWrapper &calculator)

Sets the calculator from which to generate a molden file.

Parameters

~MoldenFileGenerator()
void generateWavefunctionInformation(std::ostream &out) const

Method to generate the molden input and print it somewhere.

Parameters
  • out: The stream the molden input is written to.

Private Functions

virtual std::vector<Utils::AtomicGtos> getStoNGExpansion() const
void generateAtomBlock(std::ostream &out) const
void generateGTOBlock(std::ostream &out) const
void generateMolecularOrbitalsBlock(std::ostream &out) const
void writeMOBlock(std::ostream &out, Eigen::MatrixXd moMatrix, const std::vector<int> &filledOrb, const std::vector<double> &moEnergies, const std::string &spin) const

Private Members

const GenericMethodWrapper &calculator_

Private Static Attributes

std::map<int, nddo::GeneralTypes::orb_t> indexMap_