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

#include <ewaldrealspacesum.h>

Collaboration diagram for votca::xtp::EwaldRealSpaceSum:

Classes

struct  NeighborStats
struct  Translation
struct  PairHash

Public Member Functions

 EwaldRealSpaceSum (const Eigen::Matrix3d &box, const EwaldRegistry &registry, double alpha, double thole_a, double r_min, double field_tol, double shell_width=0.945, Index n_max=15, double screening_factor=6.0, const std::vector< std::pair< Index, Eigen::Vector3d > > &foreground={})
template<enum Estatic CE>
void AddFieldAt (Index target_segment_id, PolarSite &target, EwaldChargeState source_state, bool include_static=true) const
double CalcStaticEnergyAt (const PolarSite &target, EwaldChargeState source_state) const
Eigen::VectorXd PotentialAtMany (Index target_segment_id, const std::vector< Eigen::Vector3d > &points, EwaldChargeState source_state) const
double CalcInducedSourceEnergyAt (const PolarSite &target, EwaldChargeState source_state) const
void PrepareNeighborCache (const std::vector< std::pair< Index, PolarSite * > > &targets, EwaldChargeState source_state) const
NeighborStats GetNeighborStats () const
double RealSpaceCutoff () const

Private Member Functions

std::vector< Translation > GenerateSortedTranslations () const

Private Attributes

double real_space_cutoff_
std::map< Index, std::vector< Eigen::Vector3d > > foreground_
Index cached_targets_ = 0
Index cached_entries_ = 0
Index culled_entries_ = 0
Index foreground_entries_ = 0
double segment_radius_
Eigen::Matrix3d box_
const EwaldRegistry & registry_
EwaldRealSpaceInteractor interactor_
double r_min_
double field_tol_
double shell_width_
Index n_max_
std::vector< Translation > translations_
std::unordered_map< std::pair< const PolarSite *, EwaldChargeState >, std::vector< std::tuple< const PolarSegment *, Index, Eigen::Vector3d > >, PairHash > neighbor_cache_

Static Private Attributes

static constexpr double kForegroundMatchTol = 1e-4
static constexpr double kSelfTranslationTol = 1e-8

Detailed Description

Definition at line 95 of file ewaldrealspacesum.h.

Constructor & Destructor Documentation

◆ EwaldRealSpaceSum()

votca::xtp::EwaldRealSpaceSum::EwaldRealSpaceSum ( const Eigen::Matrix3d & box,
const EwaldRegistry & registry,
double alpha,
double thole_a,
double r_min,
double field_tol,
double shell_width = 0.945,
Index n_max = 15,
double screening_factor = 6.0,
const std::vector< std::pair< Index, Eigen::Vector3d > > & foreground = {} )

Definition at line 67 of file ewaldrealspacesum.cc.

Member Function Documentation

◆ AddFieldAt()

template<enum Estatic CE>
void votca::xtp::EwaldRealSpaceSum::AddFieldAt ( Index target_segment_id,
PolarSite & target,
EwaldChargeState source_state,
bool include_static = true ) const

Definition at line 132 of file ewaldrealspacesum.cc.

◆ CalcInducedSourceEnergyAt()

double votca::xtp::EwaldRealSpaceSum::CalcInducedSourceEnergyAt ( const PolarSite & target,
EwaldChargeState source_state ) const

Definition at line 532 of file ewaldrealspacesum.cc.

◆ CalcStaticEnergyAt()

double votca::xtp::EwaldRealSpaceSum::CalcStaticEnergyAt ( const PolarSite & target,
EwaldChargeState source_state ) const

Definition at line 375 of file ewaldrealspacesum.cc.

◆ GenerateSortedTranslations()

std::vector< EwaldRealSpaceSum::Translation > votca::xtp::EwaldRealSpaceSum::GenerateSortedTranslations ( ) const
private

Definition at line 110 of file ewaldrealspacesum.cc.

◆ GetNeighborStats()

NeighborStats votca::xtp::EwaldRealSpaceSum::GetNeighborStats ( ) const
inline

Definition at line 292 of file ewaldrealspacesum.h.

◆ PotentialAtMany()

Eigen::VectorXd votca::xtp::EwaldRealSpaceSum::PotentialAtMany ( Index target_segment_id,
const std::vector< Eigen::Vector3d > & points,
EwaldChargeState source_state ) const

Definition at line 403 of file ewaldrealspacesum.cc.

◆ PrepareNeighborCache()

void votca::xtp::EwaldRealSpaceSum::PrepareNeighborCache ( const std::vector< std::pair< Index, PolarSite * > > & targets,
EwaldChargeState source_state ) const

Definition at line 563 of file ewaldrealspacesum.cc.

◆ RealSpaceCutoff()

double votca::xtp::EwaldRealSpaceSum::RealSpaceCutoff ( ) const
inline

Definition at line 296 of file ewaldrealspacesum.h.

Member Data Documentation

◆ box_

Eigen::Matrix3d votca::xtp::EwaldRealSpaceSum::box_
private

Definition at line 354 of file ewaldrealspacesum.h.

◆ cached_entries_

Index votca::xtp::EwaldRealSpaceSum::cached_entries_ = 0
mutableprivate

Definition at line 345 of file ewaldrealspacesum.h.

◆ cached_targets_

Index votca::xtp::EwaldRealSpaceSum::cached_targets_ = 0
mutableprivate

Definition at line 344 of file ewaldrealspacesum.h.

◆ culled_entries_

Index votca::xtp::EwaldRealSpaceSum::culled_entries_ = 0
mutableprivate

Definition at line 346 of file ewaldrealspacesum.h.

◆ field_tol_

double votca::xtp::EwaldRealSpaceSum::field_tol_
private

Definition at line 358 of file ewaldrealspacesum.h.

◆ foreground_

std::map<Index, std::vector<Eigen::Vector3d> > votca::xtp::EwaldRealSpaceSum::foreground_
private

Definition at line 336 of file ewaldrealspacesum.h.

◆ foreground_entries_

Index votca::xtp::EwaldRealSpaceSum::foreground_entries_ = 0
mutableprivate

Definition at line 348 of file ewaldrealspacesum.h.

◆ interactor_

EwaldRealSpaceInteractor votca::xtp::EwaldRealSpaceSum::interactor_
private

Definition at line 356 of file ewaldrealspacesum.h.

◆ kForegroundMatchTol

double votca::xtp::EwaldRealSpaceSum::kForegroundMatchTol = 1e-4
staticconstexprprivate

Definition at line 326 of file ewaldrealspacesum.h.

◆ kSelfTranslationTol

double votca::xtp::EwaldRealSpaceSum::kSelfTranslationTol = 1e-8
staticconstexprprivate

Definition at line 333 of file ewaldrealspacesum.h.

◆ n_max_

Index votca::xtp::EwaldRealSpaceSum::n_max_
private

Definition at line 360 of file ewaldrealspacesum.h.

◆ neighbor_cache_

std::unordered_map< std::pair<const PolarSite*, EwaldChargeState>, std::vector<std::tuple<const PolarSegment*, Index, Eigen::Vector3d> >, PairHash> votca::xtp::EwaldRealSpaceSum::neighbor_cache_
mutableprivate

Definition at line 398 of file ewaldrealspacesum.h.

◆ r_min_

double votca::xtp::EwaldRealSpaceSum::r_min_
private

Definition at line 357 of file ewaldrealspacesum.h.

◆ real_space_cutoff_

double votca::xtp::EwaldRealSpaceSum::real_space_cutoff_
private

Definition at line 323 of file ewaldrealspacesum.h.

◆ registry_

const EwaldRegistry& votca::xtp::EwaldRealSpaceSum::registry_
private

Definition at line 355 of file ewaldrealspacesum.h.

◆ segment_radius_

double votca::xtp::EwaldRealSpaceSum::segment_radius_
private

Definition at line 352 of file ewaldrealspacesum.h.

◆ shell_width_

double votca::xtp::EwaldRealSpaceSum::shell_width_
private

Definition at line 359 of file ewaldrealspacesum.h.

◆ translations_

std::vector<Translation> votca::xtp::EwaldRealSpaceSum::translations_
private

Definition at line 364 of file ewaldrealspacesum.h.


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