21#ifndef VOTCA_XTP_ENVIRONMENTSCREENING_H
22#define VOTCA_XTP_ENVIRONMENTSCREENING_H
146 const AOBasis& auxbasis,
const std::vector<Eigen::Vector3d>& points,
147 const std::vector<double>& widths = {});
177 const std::vector<PolarSegment>& segments,
double site_width);
201 const Eigen::MatrixXd&
F,
const std::vector<PolarSegment>& segments,
222 static Eigen::MatrixXd
ShellKernel(
const Eigen::MatrixXd&
F,
223 const std::vector<PolarSegment>& segments,
237 const Eigen::MatrixXd& T);
285 const Eigen::MatrixXd& T,
Index n_modes = 3);
Container to hold Basisfunctions for all atoms.
static Eigen::MatrixXd ShellKernel(const Eigen::MatrixXd &F, const std::vector< PolarSegment > &segments, double epsilon)
The tail beyond the explicit region: legacy's radial_dielectric.
static Eigen::MatrixXd Metric(const AOBasis &auxbasis)
T for an auxiliary basis on its own: the metric TCMatrix_gwbse::Fill folds into the three-centre inte...
static Eigen::MatrixXd Kernel(const AOBasis &auxbasis, const ScreeningEnvironment &env)
B for a whole environment: ReactionFieldKernel of the explicit segments plus ShellKernel of the shell...
static Eigen::MatrixXd DressingMatrix(const Eigen::MatrixXd &R)
S = (1 + R)^(1/2), the dressing of the auxiliary index that turns the bare interaction into u = v + v...
static ScreeningCheck Check(const AOBasis &auxbasis, const QMMolecule &atoms, const ScreeningEnvironment &env, const Eigen::MatrixXd &T, Index n_modes=3)
Builds R for env and reports whether 1 + R is positive definite, and why not.
static Eigen::MatrixXd ReactionFieldKernel(const Eigen::MatrixXd &F, const std::vector< PolarSegment > &segments, double exp_damp)
B = -F A^-1 F^T for an explicit Thole region.
static std::vector< double > SiteWidths(const std::vector< PolarSegment > &segments, double site_width)
R per site, in bohr: site_width * alpha_iso^(1/3), with alpha_iso = tr(alpha)/3.
static Eigen::MatrixXd AuxFieldAtPoints(const AOBasis &auxbasis, const std::vector< Eigen::Vector3d > &points, const std::vector< double > &widths={})
F: the electric field at each point produced by each auxiliary basis function, taken as a charge dens...
static Eigen::MatrixXd SymmetrizedReactionField(const Eigen::MatrixXd &B, const Eigen::MatrixXd &T)
R = T^T B T, the reaction field in the metric of the stored three-centre integrals,...
Provides a means for comparing floating point numbers.
Outcome of EnvironmentScreening::Check: whether 1 + R is positive definite, and a human-readable acco...
The polarizable environment a GW-BSE calculation is screened by: what a QM/MM job hands to GWBSE (GWB...
std::vector< PolarSegment > explicit_segments
std::vector< PolarSegment > shell_segments