votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::QMRegion Class Reference

#include <qmregion.h>

Inheritance diagram for votca::xtp::QMRegion:
Collaboration diagram for votca::xtp::QMRegion:

Public Member Functions

 QMRegion (Index id, Logger &log, std::string workdir)
 ~QMRegion () override=default
void Initialize (const tools::Property &prop) override
bool Converged () const override
void Evaluate (std::vector< std::unique_ptr< Region > > &regions) override
void WriteToCpt (CheckpointWriter &w) const override
void ReadFromCpt (CheckpointReader &r) override
void ApplyQMFieldToPolarSegments (std::vector< PolarSegment > &segments) const
void PrepareEwaldPotentialGrid ()
Index size () const override
void WritePDB (csg::PDBWriter &writer) const override
std::string identify () const override
void push_back (const QMMolecule &mol)
void Reset () override
double charge () const override
double Etotal () const override
std::vector< Eigen::Vector3d > copyEwaldGrid ()
bool EnvironmentScreeningEnabled () const
 Embedded GW-BSE, screened by the polar regions (see EnvironmentScreening, GWBSE::setScreeningEnvironment).
void EvaluateScreenedGWBSE (std::vector< std::unique_ptr< Region > > &regions)
void AppendScreenedSiteEnergies (tools::Property &prop) const
void CheckScreeningEnvironment (const std::vector< std::unique_ptr< Region > > &regions) const
Public Member Functions inherited from votca::xtp::Region
 Region (Index id, Logger &log)
virtual ~Region ()=default
bool Successful () const
std::string ErrorMsg () const
void AddResults (tools::Property &prop) const
Index getId () const

Protected Member Functions

void AppendResult (tools::Property &prop) const override
double InteractwithQMRegion (const QMRegion &region) override
double InteractwithPolarRegion (const PolarRegion &region) override
double InteractwithStaticRegion (const StaticRegion &region) override
double InteractwithEwaldRegion (const EwaldRegion &region) override
Protected Member Functions inherited from votca::xtp::Region
std::vector< double > ApplyInfluenceOfOtherRegions (std::vector< std::unique_ptr< Region > > &regions)

Private Member Functions

void AddNucleiFields (std::vector< PolarSegment > &segments, const StaticSegment &seg) const
ScreeningEnvironment BuildScreeningEnvironment (const std::vector< std::unique_ptr< Region > > &regions) const
std::string ScreeningAuxBasisName () const
void UpdateOverlapSqrt ()
void PrepareOrbitalsForGWBSE ()
double StateEnergy (const QMState &state) const

Private Attributes

Index size_ = 0
Orbitals orb_
QMState initstate_
std::string workdir_ = ""
std::unique_ptr< QMPackage > qmpackage_ = nullptr
std::shared_ptr< DFTSetupCache > setup_cache_
std::string grid_accuracy_for_ext_interaction_ = "medium"
hist< double > E_hist_
hist< Eigen::MatrixXd > Dmat_hist_
Eigen::MatrixXd overlap_sqrt_
double DeltaD_ = 5e-5
double DeltaE_ = 5e-5
double DeltaDmax_ = 1e-3
bool do_gwbse_ = false
bool screening_ = false
bool screening_include_kreac_ = true
std::vector< Index > screening_shell_regions_
double screening_shell_dielectric_ = 4.0
double screening_site_width_ = 0.5
bool screened_done_ = false
QMState screened_state_
bool do_localize_ = false
bool do_dft_in_dft_ = false
tools::Property dftoptions_
tools::Property gwbseoptions_
tools::Property localize_options_
StateTracker statetracker_
Vxc_Grid ewaldgrid_
bool ewald_grid_ready_ = false
bool ewald_potential_evaluated_ = false
double ewald_nuclear_energy_ = 0.0

Additional Inherited Members

Protected Attributes inherited from votca::xtp::Region
bool info_ = true
std::string errormsg_ = ""
Index id_ = -1
Logger & log_

Detailed Description

Definition at line 46 of file qmregion.h.

Constructor & Destructor Documentation

◆ QMRegion()

votca::xtp::QMRegion::QMRegion ( Index id,
Logger & log,
std::string workdir )
inline

Definition at line 49 of file qmregion.h.

◆ ~QMRegion()

votca::xtp::QMRegion::~QMRegion ( )
overridedefault

Member Function Documentation

◆ AddNucleiFields()

void votca::xtp::QMRegion::AddNucleiFields ( std::vector< PolarSegment > & segments,
const StaticSegment & seg ) const
private

Definition at line 761 of file qmregion.cc.

◆ AppendResult()

void votca::xtp::QMRegion::AppendResult ( tools::Property & prop) const
overrideprotectedvirtual

Implements votca::xtp::Region.

Definition at line 719 of file qmregion.cc.

◆ AppendScreenedSiteEnergies()

void votca::xtp::QMRegion::AppendScreenedSiteEnergies ( tools::Property & prop) const

Definition at line 344 of file qmregion.cc.

◆ ApplyQMFieldToPolarSegments()

void votca::xtp::QMRegion::ApplyQMFieldToPolarSegments ( std::vector< PolarSegment > & segments) const

Definition at line 770 of file qmregion.cc.

◆ BuildScreeningEnvironment()

ScreeningEnvironment votca::xtp::QMRegion::BuildScreeningEnvironment ( const std::vector< std::unique_ptr< Region > > & regions) const
private

Definition at line 202 of file qmregion.cc.

◆ charge()

double votca::xtp::QMRegion::charge ( ) const
overridevirtual

Implements votca::xtp::Region.

Definition at line 687 of file qmregion.cc.

◆ CheckScreeningEnvironment()

void votca::xtp::QMRegion::CheckScreeningEnvironment ( const std::vector< std::unique_ptr< Region > > & regions) const

Definition at line 272 of file qmregion.cc.

◆ Converged()

bool votca::xtp::QMRegion::Converged ( ) const
overridevirtual

Implements votca::xtp::Region.

Definition at line 422 of file qmregion.cc.

◆ copyEwaldGrid()

std::vector< Eigen::Vector3d > votca::xtp::QMRegion::copyEwaldGrid ( )

Definition at line 374 of file qmregion.cc.

◆ EnvironmentScreeningEnabled()

bool votca::xtp::QMRegion::EnvironmentScreeningEnabled ( ) const
inline

Embedded GW-BSE, screened by the polar regions (see EnvironmentScreening, GWBSE::setScreeningEnvironment).

With environment_screening on, the inter-region loop converges the GROUND state: the QM density polarizes the polar regions, and their induced dipoles act back on it – the embedding H0. The excitation's own polarization of the environment is not iterated; it enters the screened interaction of one GW-BSE run instead, which this does, once the loop has converged. The polar regions respond through their Thole operator; those listed as shell regions through alpha/epsilon without coupling. Updates the region energy with the state energy found.

Definition at line 109 of file qmregion.h.

◆ Etotal()

double votca::xtp::QMRegion::Etotal ( ) const
inlineoverridevirtual

Implements votca::xtp::Region.

Definition at line 89 of file qmregion.h.

◆ Evaluate()

void votca::xtp::QMRegion::Evaluate ( std::vector< std::unique_ptr< Region > > & regions)
overridevirtual

Implements votca::xtp::Region.

Definition at line 461 of file qmregion.cc.

◆ EvaluateScreenedGWBSE()

void votca::xtp::QMRegion::EvaluateScreenedGWBSE ( std::vector< std::unique_ptr< Region > > & regions)

Definition at line 311 of file qmregion.cc.

◆ identify()

std::string votca::xtp::QMRegion::identify ( ) const
inlineoverridevirtual

Implements votca::xtp::Region.

Definition at line 82 of file qmregion.h.

◆ Initialize()

void votca::xtp::QMRegion::Initialize ( const tools::Property & prop)
overridevirtual

Implements votca::xtp::Region.

Definition at line 45 of file qmregion.cc.

◆ InteractwithEwaldRegion()

double votca::xtp::QMRegion::InteractwithEwaldRegion ( const EwaldRegion & region)
overrideprotectedvirtual

Implements votca::xtp::Region.

Definition at line 859 of file qmregion.cc.

◆ InteractwithPolarRegion()

double votca::xtp::QMRegion::InteractwithPolarRegion ( const PolarRegion & region)
overrideprotectedvirtual

Implements votca::xtp::Region.

Definition at line 748 of file qmregion.cc.

◆ InteractwithQMRegion()

double votca::xtp::QMRegion::InteractwithQMRegion ( const QMRegion & region)
overrideprotectedvirtual

Implements votca::xtp::Region.

Definition at line 743 of file qmregion.cc.

◆ InteractwithStaticRegion()

double votca::xtp::QMRegion::InteractwithStaticRegion ( const StaticRegion & region)
overrideprotectedvirtual

Implements votca::xtp::Region.

Definition at line 752 of file qmregion.cc.

◆ PrepareEwaldPotentialGrid()

void votca::xtp::QMRegion::PrepareEwaldPotentialGrid ( )

Definition at line 383 of file qmregion.cc.

◆ PrepareOrbitalsForGWBSE()

void votca::xtp::QMRegion::PrepareOrbitalsForGWBSE ( )
private

Definition at line 164 of file qmregion.cc.

◆ push_back()

void votca::xtp::QMRegion::push_back ( const QMMolecule & mol)

Definition at line 678 of file qmregion.cc.

◆ ReadFromCpt()

void votca::xtp::QMRegion::ReadFromCpt ( CheckpointReader & r)
overridevirtual

Implements votca::xtp::Region.

Definition at line 836 of file qmregion.cc.

◆ Reset()

void votca::xtp::QMRegion::Reset ( )
overridevirtual

Implements votca::xtp::Region.

Definition at line 727 of file qmregion.cc.

◆ ScreeningAuxBasisName()

std::string votca::xtp::QMRegion::ScreeningAuxBasisName ( ) const
private

Definition at line 258 of file qmregion.cc.

◆ size()

Index votca::xtp::QMRegion::size ( ) const
inlineoverridevirtual

Implements votca::xtp::Region.

Definition at line 78 of file qmregion.h.

◆ StateEnergy()

double votca::xtp::QMRegion::StateEnergy ( const QMState & state) const
private

Definition at line 190 of file qmregion.cc.

◆ UpdateOverlapSqrt()

void votca::xtp::QMRegion::UpdateOverlapSqrt ( )
private

Definition at line 654 of file qmregion.cc.

◆ WritePDB()

void votca::xtp::QMRegion::WritePDB ( csg::PDBWriter & writer) const
overridevirtual

Implements votca::xtp::Region.

Definition at line 757 of file qmregion.cc.

◆ WriteToCpt()

void votca::xtp::QMRegion::WriteToCpt ( CheckpointWriter & w) const
overridevirtual

Implements votca::xtp::Region.

Definition at line 814 of file qmregion.cc.

Member Data Documentation

◆ DeltaD_

double votca::xtp::QMRegion::DeltaD_ = 5e-5
private

Definition at line 155 of file qmregion.h.

◆ DeltaDmax_

double votca::xtp::QMRegion::DeltaDmax_ = 1e-3
private

Definition at line 157 of file qmregion.h.

◆ DeltaE_

double votca::xtp::QMRegion::DeltaE_ = 5e-5
private

Definition at line 156 of file qmregion.h.

◆ dftoptions_

tools::Property votca::xtp::QMRegion::dftoptions_
private

Definition at line 176 of file qmregion.h.

◆ Dmat_hist_

hist<Eigen::MatrixXd> votca::xtp::QMRegion::Dmat_hist_
private

Definition at line 148 of file qmregion.h.

◆ do_dft_in_dft_

bool votca::xtp::QMRegion::do_dft_in_dft_ = false
private

Definition at line 174 of file qmregion.h.

◆ do_gwbse_

bool votca::xtp::QMRegion::do_gwbse_ = false
private

Definition at line 159 of file qmregion.h.

◆ do_localize_

bool votca::xtp::QMRegion::do_localize_ = false
private

Definition at line 173 of file qmregion.h.

◆ E_hist_

hist<double> votca::xtp::QMRegion::E_hist_
private

Definition at line 147 of file qmregion.h.

◆ ewald_grid_ready_

bool votca::xtp::QMRegion::ewald_grid_ready_ = false
private

Definition at line 231 of file qmregion.h.

◆ ewald_nuclear_energy_

double votca::xtp::QMRegion::ewald_nuclear_energy_ = 0.0
private

Definition at line 240 of file qmregion.h.

◆ ewald_potential_evaluated_

bool votca::xtp::QMRegion::ewald_potential_evaluated_ = false
private

Definition at line 237 of file qmregion.h.

◆ ewaldgrid_

Vxc_Grid votca::xtp::QMRegion::ewaldgrid_
private

Definition at line 230 of file qmregion.h.

◆ grid_accuracy_for_ext_interaction_

std::string votca::xtp::QMRegion::grid_accuracy_for_ext_interaction_ = "medium"
private

Definition at line 145 of file qmregion.h.

◆ gwbseoptions_

tools::Property votca::xtp::QMRegion::gwbseoptions_
private

Definition at line 177 of file qmregion.h.

◆ initstate_

QMState votca::xtp::QMRegion::initstate_
private

Definition at line 138 of file qmregion.h.

◆ localize_options_

tools::Property votca::xtp::QMRegion::localize_options_
private

Definition at line 178 of file qmregion.h.

◆ orb_

Orbitals votca::xtp::QMRegion::orb_
private

Definition at line 136 of file qmregion.h.

◆ overlap_sqrt_

Eigen::MatrixXd votca::xtp::QMRegion::overlap_sqrt_
private

Definition at line 151 of file qmregion.h.

◆ qmpackage_

std::unique_ptr<QMPackage> votca::xtp::QMRegion::qmpackage_ = nullptr
private

Definition at line 140 of file qmregion.h.

◆ screened_done_

bool votca::xtp::QMRegion::screened_done_ = false
private

Definition at line 167 of file qmregion.h.

◆ screened_state_

QMState votca::xtp::QMRegion::screened_state_
private

Definition at line 168 of file qmregion.h.

◆ screening_

bool votca::xtp::QMRegion::screening_ = false
private

Definition at line 162 of file qmregion.h.

◆ screening_include_kreac_

bool votca::xtp::QMRegion::screening_include_kreac_ = true
private

Definition at line 163 of file qmregion.h.

◆ screening_shell_dielectric_

double votca::xtp::QMRegion::screening_shell_dielectric_ = 4.0
private

Definition at line 165 of file qmregion.h.

◆ screening_shell_regions_

std::vector<Index> votca::xtp::QMRegion::screening_shell_regions_
private

Definition at line 164 of file qmregion.h.

◆ screening_site_width_

double votca::xtp::QMRegion::screening_site_width_ = 0.5
private

Definition at line 166 of file qmregion.h.

◆ setup_cache_

std::shared_ptr<DFTSetupCache> votca::xtp::QMRegion::setup_cache_
private

Definition at line 143 of file qmregion.h.

◆ size_

Index votca::xtp::QMRegion::size_ = 0
private

Definition at line 135 of file qmregion.h.

◆ statetracker_

StateTracker votca::xtp::QMRegion::statetracker_
private

Definition at line 180 of file qmregion.h.

◆ workdir_

std::string votca::xtp::QMRegion::workdir_ = ""
private

Definition at line 139 of file qmregion.h.


The documentation for this class was generated from the following files: