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

#include <ewaldrealspaceinteractor.h>

Classes

struct  BFunctions
struct  TholeFactors

Public Member Functions

 EwaldRealSpaceInteractor (double alpha, double thole_a=0.39)
template<class T, enum Estatic CE>
double ApplyStaticField (const T &site1, PolarSite &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
template<class T, enum Estatic CE>
void ApplyErfStaticFieldCorrection (const T &site1, PolarSite &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
template<enum Estatic CE>
void ApplyErfInducedFieldCorrection (const PolarSite &site1, PolarSite &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
template<enum Estatic CE>
double ApplyInducedField (const PolarSite &site1, PolarSite &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
template<class S1, class S2>
double CalcStaticEnergy (const S1 &site1, const S2 &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
template<class S1, class S2>
double CalcErfStaticEnergy (const S1 &site1, const S2 &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
double CalcInducedEnergy (const PolarSite &site1, const PolarSite &site2) const
double CalcInducedSourceEnergy (const PolarSite &site1, const PolarSite &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero(), bool damp=true) const
double CalcErfInducedSourceEnergy (const PolarSite &site1, const PolarSite &site2, const Eigen::Vector3d &source_shift=Eigen::Vector3d::Zero()) const
BFunctions ComputeB (double r) const
BFunctions ComputeErfB (double r) const
TholeFactors ComputeThole (double r, const PolarSite &site1, const PolarSite &site2) const

Private Attributes

double alpha_
double thole_

Static Private Attributes

static constexpr double kCoincidenceTol = 1e-2

Detailed Description

Definition at line 75 of file ewaldrealspaceinteractor.h.

Constructor & Destructor Documentation

◆ EwaldRealSpaceInteractor()

votca::xtp::EwaldRealSpaceInteractor::EwaldRealSpaceInteractor ( double alpha,
double thole_a = 0.39 )
inlineexplicit

Definition at line 77 of file ewaldrealspaceinteractor.h.

Member Function Documentation

◆ ApplyErfInducedFieldCorrection()

template<enum Estatic CE>
void votca::xtp::EwaldRealSpaceInteractor::ApplyErfInducedFieldCorrection ( const PolarSite & site1,
PolarSite & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 193 of file ewaldrealspaceinteractor.cc.

◆ ApplyErfStaticFieldCorrection()

template<class T, enum Estatic CE>
void votca::xtp::EwaldRealSpaceInteractor::ApplyErfStaticFieldCorrection ( const T & site1,
PolarSite & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 137 of file ewaldrealspaceinteractor.cc.

◆ ApplyInducedField()

template<enum Estatic CE>
double votca::xtp::EwaldRealSpaceInteractor::ApplyInducedField ( const PolarSite & site1,
PolarSite & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 253 of file ewaldrealspaceinteractor.cc.

◆ ApplyStaticField()

template<class T, enum Estatic CE>
double votca::xtp::EwaldRealSpaceInteractor::ApplyStaticField ( const T & site1,
PolarSite & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 112 of file ewaldrealspaceinteractor.cc.

◆ CalcErfInducedSourceEnergy()

double votca::xtp::EwaldRealSpaceInteractor::CalcErfInducedSourceEnergy ( const PolarSite & site1,
const PolarSite & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 352 of file ewaldrealspaceinteractor.cc.

◆ CalcErfStaticEnergy()

template<class S1, class S2>
template double votca::xtp::EwaldRealSpaceInteractor::CalcErfStaticEnergy< PolarSite, PolarSite > ( const S1 & site1,
const S2 & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 314 of file ewaldrealspaceinteractor.cc.

◆ CalcInducedEnergy()

double votca::xtp::EwaldRealSpaceInteractor::CalcInducedEnergy ( const PolarSite & site1,
const PolarSite & site2 ) const

Definition at line 383 of file ewaldrealspaceinteractor.cc.

◆ CalcInducedSourceEnergy()

double votca::xtp::EwaldRealSpaceInteractor::CalcInducedSourceEnergy ( const PolarSite & site1,
const PolarSite & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero(),
bool damp = true ) const

Definition at line 407 of file ewaldrealspaceinteractor.cc.

◆ CalcStaticEnergy()

template<class S1, class S2>
template double votca::xtp::EwaldRealSpaceInteractor::CalcStaticEnergy< PolarSite, PolarSite > ( const S1 & site1,
const S2 & site2,
const Eigen::Vector3d & source_shift = Eigen::Vector3d::Zero() ) const

Definition at line 296 of file ewaldrealspaceinteractor.cc.

◆ ComputeB()

EwaldRealSpaceInteractor::BFunctions votca::xtp::EwaldRealSpaceInteractor::ComputeB ( double r) const

Definition at line 33 of file ewaldrealspaceinteractor.cc.

◆ ComputeErfB()

EwaldRealSpaceInteractor::BFunctions votca::xtp::EwaldRealSpaceInteractor::ComputeErfB ( double r) const

Definition at line 48 of file ewaldrealspaceinteractor.cc.

◆ ComputeThole()

EwaldRealSpaceInteractor::TholeFactors votca::xtp::EwaldRealSpaceInteractor::ComputeThole ( double r,
const PolarSite & site1,
const PolarSite & site2 ) const

Definition at line 60 of file ewaldrealspaceinteractor.cc.

Member Data Documentation

◆ alpha_

double votca::xtp::EwaldRealSpaceInteractor::alpha_
private

Definition at line 318 of file ewaldrealspaceinteractor.h.

◆ kCoincidenceTol

double votca::xtp::EwaldRealSpaceInteractor::kCoincidenceTol = 1e-2
staticconstexprprivate

Definition at line 316 of file ewaldrealspaceinteractor.h.

◆ thole_

double votca::xtp::EwaldRealSpaceInteractor::thole_
private

Definition at line 319 of file ewaldrealspaceinteractor.h.


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