21#ifndef VOTCA_XTP_CHARGERESPONSEFIT_H
22#define VOTCA_XTP_CHARGERESPONSEFIT_H
114 const std::vector<HirshfeldPartition::AtomicReference>& atoms,
120 const std::vector<HirshfeldPartition::AtomicReference>& atoms,
121 const std::vector<Eigen::Vector3d>& positions,
const AOBasis& basis,
122 const Vxc_Grid& grid,
const std::array<Eigen::MatrixXd, 3>& dP_field);
128 static Result Analyse(
const std::vector<Eigen::Vector3d>& positions,
129 const std::vector<Eigen::MatrixXd>& W,
130 const std::vector<Eigen::MatrixXd>& dP_potential,
131 const std::array<Eigen::MatrixXd, 3>& dipole,
132 const std::array<Eigen::MatrixXd, 3>& dP_field,
133 const std::vector<Eigen::Matrix3d>& alpha_atoms);
Container to hold Basisfunctions for all atoms.
Parametrization of a charge-response molecule (see ChargeResponse) from the static density response o...
static Inversion FindInversion(const QMMolecule &mol, const AOBasis &basis, double tol=1e-4)
static std::vector< Eigen::Matrix3d > AtomicPolarizabilities(const std::vector< HirshfeldPartition::AtomicReference > &atoms, const std::vector< Eigen::Vector3d > &positions, const AOBasis &basis, const Vxc_Grid &grid, const std::array< Eigen::MatrixXd, 3 > &dP_field)
static Result Analyse(const std::vector< Eigen::Vector3d > &positions, const std::vector< Eigen::MatrixXd > &W, const std::vector< Eigen::MatrixXd > &dP_potential, const std::array< Eigen::MatrixXd, 3 > &dipole, const std::array< Eigen::MatrixXd, 3 > &dP_field, const std::vector< Eigen::Matrix3d > &alpha_atoms)
static std::vector< Eigen::MatrixXd > WeightMatrices(const std::vector< HirshfeldPartition::AtomicReference > &atoms, const AOBasis &basis, const Vxc_Grid &grid)
static Result Fit(const tools::Property &dftoptions, Orbitals &orb, const FitOptions &fit, Logger &log)
Logger is used for thread-safe output of messages.
Container for molecular orbitals and derived one-particle data.
Provides a means for comparing floating point numbers.
double step
finite differences: strength of each perturbation
double tolerance
relative CPKS residual
std::vector< Index > atom_map
std::vector< Eigen::Matrix3d > alpha_res_atoms
Eigen::Matrix3d alpha_res
std::vector< Eigen::Matrix3d > alpha_atoms
Eigen::VectorXd res_weights
Eigen::VectorXd pi_eigenvalues