21#ifndef VOTCA_XTP_QMREGION_H
22#define VOTCA_XTP_QMREGION_H
57 void Evaluate(std::vector<std::unique_ptr<Region> >& regions)
override;
82 std::string
identify()
const override {
return "qmregion"; }
86 void Reset()
override;
88 double charge()
const override;
119 const std::vector<std::unique_ptr<Region> >& regions)
const;
132 const std::vector<std::unique_ptr<Region> >& regions)
const;
The periodic Ewald background, as a Region.
Logger is used for thread-safe output of messages.
Container for molecular orbitals and derived one-particle data.
void AppendResult(tools::Property &prop) const override
StateTracker statetracker_
hist< Eigen::MatrixXd > Dmat_hist_
void PrepareEwaldPotentialGrid()
std::string grid_accuracy_for_ext_interaction_
std::string identify() const override
double Etotal() const override
void AddNucleiFields(std::vector< PolarSegment > &segments, const StaticSegment &seg) const
std::shared_ptr< DFTSetupCache > setup_cache_
std::unique_ptr< QMPackage > qmpackage_
bool screening_include_kreac_
void push_back(const QMMolecule &mol)
void WriteToCpt(CheckpointWriter &w) const override
double InteractwithStaticRegion(const StaticRegion ®ion) override
void EvaluateScreenedGWBSE(std::vector< std::unique_ptr< Region > > ®ions)
void AppendScreenedSiteEnergies(tools::Property &prop) const
std::string ScreeningAuxBasisName() const
double ewald_nuclear_energy_
double InteractwithPolarRegion(const PolarRegion ®ion) override
QMRegion(Index id, Logger &log, std::string workdir)
double StateEnergy(const QMState &state) const
Index size() const override
void WritePDB(csg::PDBWriter &writer) const override
double InteractwithEwaldRegion(const EwaldRegion ®ion) override
void ReadFromCpt(CheckpointReader &r) override
ScreeningEnvironment BuildScreeningEnvironment(const std::vector< std::unique_ptr< Region > > ®ions) const
bool Converged() const override
void Evaluate(std::vector< std::unique_ptr< Region > > ®ions) override
tools::Property localize_options_
std::vector< Eigen::Vector3d > copyEwaldGrid()
void PrepareOrbitalsForGWBSE()
double InteractwithQMRegion(const QMRegion ®ion) override
void ApplyQMFieldToPolarSegments(std::vector< PolarSegment > &segments) const
bool ewald_potential_evaluated_
Eigen::MatrixXd overlap_sqrt_
double screening_shell_dielectric_
~QMRegion() override=default
bool EnvironmentScreeningEnabled() const
Embedded GW-BSE, screened by the polar regions (see EnvironmentScreening, GWBSE::setScreeningEnvironm...
void Initialize(const tools::Property &prop) override
std::vector< Index > screening_shell_regions_
double charge() const override
double screening_site_width_
void CheckScreeningEnvironment(const std::vector< std::unique_ptr< Region > > ®ions) const
tools::Property dftoptions_
tools::Property gwbseoptions_
Identifier for QMstates. Strings like S1 are converted into enum +zero indexed int.
Region(Index id, Logger &log)
Tracks from a spectrum of states the state, which fullfills certain criteria.
ClassicalSegment< StaticSite > StaticSegment
Provides a means for comparing floating point numbers.
The polarizable environment a GW-BSE calculation is screened by: what a QM/MM job hands to GWBSE (GWB...