|
votca 2026-dev
|
The periodic Ewald background, as a Region. More...
#include <ewaldregion.h>


Public Member Functions | |
| EwaldRegion (Index id, Logger &log) | |
| ~EwaldRegion () override=default | |
| std::string | identify () const override |
| void | Initialize (const tools::Property &prop) override |
| bool | Converged () const override |
| void | Evaluate (std::vector< std::unique_ptr< Region > > ®ions) override |
| void | Reset () override |
| Index | size () const override |
| double | charge () const override |
| double | Etotal () const override |
| void | WriteToCpt (CheckpointWriter &w) const override |
| void | ReadFromCpt (CheckpointReader &r) override |
| void | WritePDB (csg::PDBWriter &writer) const override |
| const EwaldRegistry & | Registry () const |
| const EwaldParameters & | Parameters () const |
| double | ApplyFieldTo (std::vector< PolarSegment > &foreground) const |
| void | RegisterForeground (const std::vector< std::pair< Index, Eigen::Vector3d > > &foreground) |
| Eigen::VectorXd | PotentialAt (const std::vector< Eigen::Vector3d > &points) 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 &) override |
| double | InteractwithPolarRegion (const PolarRegion &) override |
| double | InteractwithStaticRegion (const StaticRegion &) override |
| double | InteractwithEwaldRegion (const EwaldRegion &) override |
| Protected Member Functions inherited from votca::xtp::Region | |
| std::vector< double > | ApplyInfluenceOfOtherRegions (std::vector< std::unique_ptr< Region > > ®ions) |
Private Member Functions | |
| void | BuildSums (const std::vector< PolarSegment > &fallback) const |
| void | CheckForegroundIsSubset (const std::vector< PolarSegment > &foreground) const |
Private Attributes | |
| std::unique_ptr< EwaldRealSpaceSum > | real_sum_ |
| std::unique_ptr< EwaldReciprocalSpaceSum > | recip_sum_ |
| std::unique_ptr< EwaldShapeCorrection > | shape_ |
| std::unique_ptr< EwaldRealSpaceInteractor > | interactor_ |
| std::vector< std::pair< Index, Eigen::Vector3d > > | foreground_copies_ |
| std::vector< std::pair< Index, Eigen::Vector3d > > | built_foreground_ |
| std::vector< std::pair< Index, Eigen::Vector3d > > | registered_foreground_ |
| bool | warned_no_energy_ = false |
| std::string | checkpoint_file_ |
| EwaldRegistry | registry_ |
| EwaldParameters | params_ |
| bool | loaded_ = false |
Additional Inherited Members | |
| Protected Attributes inherited from votca::xtp::Region | |
| bool | info_ = true |
| std::string | errormsg_ = "" |
| Index | id_ = -1 |
| Logger & | log_ |
The periodic Ewald background, as a Region.
SKELETON. The region plumbing is complete and correct; the periodic field evaluation is deliberately absent, and every entry point that would need it throws rather than returning a plausible zero. Filling it in is the next step.
This region is unlike the others in three ways, all consequences of the same fact – it represents an environment that was converged once, beforehand, by the ewaldbackground calculator:
The influence in the other direction – this region acting ON a polar or QM region – is implemented by THAT region's own InteractwithEwaldRegion, following the existing convention in Region::ApplyInfluenceOfOtherRegions, where each region computes the influence of others upon itself.
Definition at line 76 of file ewaldregion.h.
Definition at line 78 of file ewaldregion.h.
|
overridedefault |
|
overrideprotectedvirtual |
Implements votca::xtp::Region.
Definition at line 152 of file ewaldregion.cc.
| double votca::xtp::EwaldRegion::ApplyFieldTo | ( | std::vector< PolarSegment > & | foreground | ) | const |
Definition at line 388 of file ewaldregion.cc.
|
private |
Definition at line 239 of file ewaldregion.cc.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 83 of file ewaldregion.cc.
|
private |
Definition at line 204 of file ewaldregion.cc.
|
inlineoverridevirtual |
Implements votca::xtp::Region.
Definition at line 87 of file ewaldregion.h.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 99 of file ewaldregion.cc.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 69 of file ewaldregion.cc.
|
inlineoverridevirtual |
Implements votca::xtp::Region.
Definition at line 81 of file ewaldregion.h.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 49 of file ewaldregion.cc.
|
inlineoverrideprotectedvirtual |
Implements votca::xtp::Region.
Definition at line 115 of file ewaldregion.h.
|
inlineoverrideprotectedvirtual |
Implements votca::xtp::Region.
Definition at line 113 of file ewaldregion.h.
|
inlineoverrideprotectedvirtual |
Implements votca::xtp::Region.
Definition at line 112 of file ewaldregion.h.
|
inlineoverrideprotectedvirtual |
Implements votca::xtp::Region.
Definition at line 114 of file ewaldregion.h.
|
inline |
Definition at line 125 of file ewaldregion.h.
| Eigen::VectorXd votca::xtp::EwaldRegion::PotentialAt | ( | const std::vector< Eigen::Vector3d > & | points | ) | const |
Definition at line 322 of file ewaldregion.cc.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 121 of file ewaldregion.cc.
| void votca::xtp::EwaldRegion::RegisterForeground | ( | const std::vector< std::pair< Index, Eigen::Vector3d > > & | foreground | ) |
Definition at line 175 of file ewaldregion.cc.
|
inline |
Definition at line 120 of file ewaldregion.h.
|
inlineoverridevirtual |
Implements votca::xtp::Region.
Definition at line 92 of file ewaldregion.h.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 77 of file ewaldregion.cc.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 146 of file ewaldregion.cc.
|
overridevirtual |
Implements votca::xtp::Region.
Definition at line 112 of file ewaldregion.cc.
|
mutableprivate |
Definition at line 235 of file ewaldregion.h.
|
private |
Definition at line 241 of file ewaldregion.h.
|
mutableprivate |
Definition at line 229 of file ewaldregion.h.
|
mutableprivate |
Definition at line 225 of file ewaldregion.h.
|
private |
Definition at line 244 of file ewaldregion.h.
|
private |
Definition at line 243 of file ewaldregion.h.
|
mutableprivate |
Definition at line 222 of file ewaldregion.h.
|
mutableprivate |
Definition at line 223 of file ewaldregion.h.
|
private |
Definition at line 238 of file ewaldregion.h.
|
private |
Definition at line 242 of file ewaldregion.h.
|
mutableprivate |
Definition at line 224 of file ewaldregion.h.
|
mutableprivate |
Definition at line 239 of file ewaldregion.h.