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

#include <ewaldreciprocalspacesum.h>

Collaboration diagram for votca::xtp::EwaldReciprocalSpaceSum:

Classes

struct  KVector

Public Types

using ProgressCallback = std::function<void(std::size_t, std::size_t)>

Public Member Functions

 EwaldReciprocalSpaceSum (const Eigen::Matrix3d &box, const EwaldRegistry &registry, double alpha, double k_max)
std::size_t NumKVectors () const
Eigen::Matrix3d SelfFieldMatrix () const
template<enum Estatic CE>
void AddFieldAt (PolarSite &target, EwaldChargeState source_state) const
template<enum Estatic CE>
void AddFieldAtMany (const std::vector< PolarSite * > &targets, EwaldChargeState source_state, const ProgressCallback &progress=ProgressCallback()) const
Eigen::VectorXd PotentialAtMany (const std::vector< Eigen::Vector3d > &points, EwaldChargeState source_state, const ProgressCallback &progress=ProgressCallback()) const
double CalcStaticEnergyBetween (const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > &foreground, const std::vector< const PolarSite * > &background_exclusions, EwaldChargeState source_state) const
double CalcInducedSourceEnergyBetween (const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > &foreground, const std::vector< const PolarSite * > &background_exclusions, EwaldChargeState source_state) const

Private Member Functions

std::vector< KVector > GenerateKVectors () const
std::vector< std::complex< double > > TotalStructureFactors (EwaldChargeState source_state, const ProgressCallback &progress) const

Private Attributes

Eigen::Matrix3d box_
double volume_
const EwaldRegistry & registry_
double alpha_
double k_max_
std::vector< KVector > kvectors_

Detailed Description

Definition at line 113 of file ewaldreciprocalspacesum.h.

Member Typedef Documentation

◆ ProgressCallback

using votca::xtp::EwaldReciprocalSpaceSum::ProgressCallback = std::function<void(std::size_t, std::size_t)>

Definition at line 179 of file ewaldreciprocalspacesum.h.

Constructor & Destructor Documentation

◆ EwaldReciprocalSpaceSum()

votca::xtp::EwaldReciprocalSpaceSum::EwaldReciprocalSpaceSum ( const Eigen::Matrix3d & box,
const EwaldRegistry & registry,
double alpha,
double k_max )

Definition at line 34 of file ewaldreciprocalspacesum.cc.

Member Function Documentation

◆ AddFieldAt()

template<enum Estatic CE>
void votca::xtp::EwaldReciprocalSpaceSum::AddFieldAt ( PolarSite & target,
EwaldChargeState source_state ) const

Definition at line 361 of file ewaldreciprocalspacesum.cc.

◆ AddFieldAtMany()

template<enum Estatic CE>
void votca::xtp::EwaldReciprocalSpaceSum::AddFieldAtMany ( const std::vector< PolarSite * > & targets,
EwaldChargeState source_state,
const ProgressCallback & progress = ProgressCallback() ) const

Definition at line 368 of file ewaldreciprocalspacesum.cc.

◆ CalcInducedSourceEnergyBetween()

double votca::xtp::EwaldReciprocalSpaceSum::CalcInducedSourceEnergyBetween ( const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > & foreground,
const std::vector< const PolarSite * > & background_exclusions,
EwaldChargeState source_state ) const

Definition at line 278 of file ewaldreciprocalspacesum.cc.

◆ CalcStaticEnergyBetween()

double votca::xtp::EwaldReciprocalSpaceSum::CalcStaticEnergyBetween ( const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > & foreground,
const std::vector< const PolarSite * > & background_exclusions,
EwaldChargeState source_state ) const

Definition at line 185 of file ewaldreciprocalspacesum.cc.

◆ GenerateKVectors()

std::vector< EwaldReciprocalSpaceSum::KVector > votca::xtp::EwaldReciprocalSpaceSum::GenerateKVectors ( ) const
private

Definition at line 86 of file ewaldreciprocalspacesum.cc.

◆ NumKVectors()

std::size_t votca::xtp::EwaldReciprocalSpaceSum::NumKVectors ( ) const
inline

Definition at line 133 of file ewaldreciprocalspacesum.h.

◆ PotentialAtMany()

Eigen::VectorXd votca::xtp::EwaldReciprocalSpaceSum::PotentialAtMany ( const std::vector< Eigen::Vector3d > & points,
EwaldChargeState source_state,
const ProgressCallback & progress = ProgressCallback() ) const

Definition at line 409 of file ewaldreciprocalspacesum.cc.

◆ SelfFieldMatrix()

Eigen::Matrix3d votca::xtp::EwaldReciprocalSpaceSum::SelfFieldMatrix ( ) const

Definition at line 45 of file ewaldreciprocalspacesum.cc.

◆ TotalStructureFactors()

std::vector< std::complex< double > > votca::xtp::EwaldReciprocalSpaceSum::TotalStructureFactors ( EwaldChargeState source_state,
const ProgressCallback & progress ) const
private

Definition at line 120 of file ewaldreciprocalspacesum.cc.

Member Data Documentation

◆ alpha_

double votca::xtp::EwaldReciprocalSpaceSum::alpha_
private

Definition at line 303 of file ewaldreciprocalspacesum.h.

◆ box_

Eigen::Matrix3d votca::xtp::EwaldReciprocalSpaceSum::box_
private

Definition at line 300 of file ewaldreciprocalspacesum.h.

◆ k_max_

double votca::xtp::EwaldReciprocalSpaceSum::k_max_
private

Definition at line 304 of file ewaldreciprocalspacesum.h.

◆ kvectors_

std::vector<KVector> votca::xtp::EwaldReciprocalSpaceSum::kvectors_
private

Definition at line 306 of file ewaldreciprocalspacesum.h.

◆ registry_

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

Definition at line 302 of file ewaldreciprocalspacesum.h.

◆ volume_

double votca::xtp::EwaldReciprocalSpaceSum::volume_
private

Definition at line 301 of file ewaldreciprocalspacesum.h.


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