22#ifndef VOTCA_XTP_QMPACKAGE_H
23#define VOTCA_XTP_QMPACKAGE_H
60 template <
class MMRegion>
64 using Sitetype =
typename Segmenttype::Atom_Type;
65 for (
const Segmenttype& segment : mmregion) {
66 for (
const Sitetype& site : segment) {
89 spin_ = std::abs(charge) + 1;
93 return options_.
get(
"initial_guess").
as<std::string>() ==
"orbfile";
118 bool isLinker(std::string name, std::vector<std::string> linker_names);
121 const std::string separators)
const;
Logger is used for thread-safe output of messages.
container for molecular orbitals
virtual ~QMPackage()=default
virtual void WriteChargeOption()=0
void setCharge(Index charge)
std::string log_file_name_
virtual Eigen::Matrix3d GetPolarizability() const =0
virtual const std::array< Index, 49 > & ShellReorder() const =0
void setLog(Logger *pLog)
std::vector< std::string > GetLineAndSplit(std::ifstream &input_file, const std::string separators) const
bool GuessRequested() const
std::vector< std::unique_ptr< StaticSite > > externalsites_
virtual std::string getPackageName() const =0
Eigen::MatrixXd ReorderMOsBack(const Orbitals &orbitals) const
std::vector< MinimalMMCharge > SplitMultipoles(const StaticSite &site) const
void setLogFileName(const std::string &log_file_name)
std::string mo_file_name_
virtual void ParseSpecificOptions(const tools::Property &options)=0
std::string getMOFile() const
virtual bool RunActiveDFT()=0
virtual StaticSegment GetCharges() const =0
virtual bool WriteInputFile(const Orbitals &orbitals)=0
writes a coordinate file WITHOUT taking into account PBCs
void setRunDir(const std::string &run_dir)
void AddRegion(const MMRegion &mmregion)
virtual bool ParseLogFile(Orbitals &orbitals)=0
std::string basisset_name_
bool isLinker(std::string name, std::vector< std::string > linker_names)
void Initialize(const tools::Property &options)
virtual const std::array< Index, 49 > & ShellMulitplier() const =0
virtual bool ParseMOsFile(Orbitals &orbitals)=0
std::string shell_file_name_
void setMOsFileName(const std::string &mo_file)
std::string input_file_name_
void setInputFileName(const std::string &input_file_name)
std::string getLogFile() const
void ReorderOutput(Orbitals &orbitals) const
Class to represent Atom/Site in electrostatic.
base class for all analysis tools
MinimalMMCharge(const Eigen::Vector3d &pos, double q)