votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::Vxc_Potential< Grid > Class Template Reference

#include <vxc_potential.h>

Collaboration diagram for votca::xtp::Vxc_Potential< Grid >:

Classes

struct  SpinResult
struct  XC_entry
struct  XC_entry_spin

Public Member Functions

 Vxc_Potential (const Grid &grid)
 ~Vxc_Potential ()
void setXCfunctional (const std::string &functional)
Mat_p_Energy IntegrateVXC (const Eigen::MatrixXd &density_matrix) const
SpinResult IntegrateVXCSpin (const Eigen::MatrixXd &dmat_alpha, const Eigen::MatrixXd &dmat_beta) const
Eigen::MatrixXd PulayGradient (const Eigen::MatrixXd &density_matrix, const AOBasis &dftbasis) const
Eigen::MatrixXd GridWeightGradient (const Eigen::MatrixXd &density_matrix, const QMMolecule &atoms) const
Eigen::MatrixXd PulayGradientUKS (const Eigen::MatrixXd &dmat_alpha, const Eigen::MatrixXd &dmat_beta, const AOBasis &dftbasis) const
Eigen::MatrixXd GridWeightGradientUKS (const Eigen::MatrixXd &dmat_alpha, const Eigen::MatrixXd &dmat_beta, const QMMolecule &atoms) const

Static Public Member Functions

static double getExactExchange (const std::string &functional)

Private Member Functions

XC_entry EvaluateXC (double rho, double sigma) const
XC_entry_spin EvaluateXCSpin (double rho_a, double rho_b, double sigma_aa, double sigma_ab, double sigma_bb) const
void EvaluateXCBatch (Index n, const double *rho, const double *sigma, double *exc, double *vrho, double *vsigma) const
void EvaluateXCSpinBatch (Index n, const double *rho, const double *sigma, double *exc, double *vrho, double *vsigma) const

Private Attributes

const Grid grid_
int xfunc_id
bool setXC_ = false
bool use_separate_
int cfunc_id
xc_func_type xfunc
xc_func_type cfunc
xc_func_type xfunc_pol_
xc_func_type cfunc_pol_
bool is_gga_ = false

Static Private Attributes

static constexpr Index kPointBlock = 128

Detailed Description

template<class Grid>
class votca::xtp::Vxc_Potential< Grid >

Definition at line 38 of file vxc_potential.h.

Constructor & Destructor Documentation

◆ Vxc_Potential()

template<class Grid>
votca::xtp::Vxc_Potential< Grid >::Vxc_Potential ( const Grid & grid)
inlineexplicit

Definition at line 46 of file vxc_potential.h.

◆ ~Vxc_Potential()

Definition at line 44 of file vxc_potential.cc.

Member Function Documentation

◆ EvaluateXC()

template<class Grid>
Vxc_Potential< Grid >::XC_entry votca::xtp::Vxc_Potential< Grid >::EvaluateXC ( double rho,
double sigma ) const
private

Definition at line 227 of file vxc_potential.cc.

◆ EvaluateXCBatch()

template<class Grid>
void votca::xtp::Vxc_Potential< Grid >::EvaluateXCBatch ( Index n,
const double * rho,
const double * sigma,
double * exc,
double * vrho,
double * vsigma ) const
private

Definition at line 188 of file vxc_potential.cc.

◆ EvaluateXCSpin()

template<class Grid>
Vxc_Potential< Grid >::XC_entry_spin votca::xtp::Vxc_Potential< Grid >::EvaluateXCSpin ( double rho_a,
double rho_b,
double sigma_aa,
double sigma_ab,
double sigma_bb ) const
private

Definition at line 236 of file vxc_potential.cc.

◆ EvaluateXCSpinBatch()

template<class Grid>
void votca::xtp::Vxc_Potential< Grid >::EvaluateXCSpinBatch ( Index n,
const double * rho,
const double * sigma,
double * exc,
double * vrho,
double * vsigma ) const
private

Definition at line 205 of file vxc_potential.cc.

◆ getExactExchange()

template<class Grid>
double votca::xtp::Vxc_Potential< Grid >::getExactExchange ( const std::string & functional)
static

Definition at line 56 of file vxc_potential.cc.

◆ GridWeightGradient()

template<class Grid>
Eigen::MatrixXd votca::xtp::Vxc_Potential< Grid >::GridWeightGradient ( const Eigen::MatrixXd & density_matrix,
const QMMolecule & atoms ) const

Definition at line 784 of file vxc_potential.cc.

◆ GridWeightGradientUKS()

template<class Grid>
Eigen::MatrixXd votca::xtp::Vxc_Potential< Grid >::GridWeightGradientUKS ( const Eigen::MatrixXd & dmat_alpha,
const Eigen::MatrixXd & dmat_beta,
const QMMolecule & atoms ) const

Definition at line 1179 of file vxc_potential.cc.

◆ IntegrateVXC()

template<class Grid>
Mat_p_Energy votca::xtp::Vxc_Potential< Grid >::IntegrateVXC ( const Eigen::MatrixXd & density_matrix) const

Definition at line 261 of file vxc_potential.cc.

◆ IntegrateVXCSpin()

template<class Grid>
Vxc_Potential< Grid >::SpinResult votca::xtp::Vxc_Potential< Grid >::IntegrateVXCSpin ( const Eigen::MatrixXd & dmat_alpha,
const Eigen::MatrixXd & dmat_beta ) const

Definition at line 605 of file vxc_potential.cc.

◆ PulayGradient()

template<class Grid>
Eigen::MatrixXd votca::xtp::Vxc_Potential< Grid >::PulayGradient ( const Eigen::MatrixXd & density_matrix,
const AOBasis & dftbasis ) const

Definition at line 401 of file vxc_potential.cc.

◆ PulayGradientUKS()

template<class Grid>
Eigen::MatrixXd votca::xtp::Vxc_Potential< Grid >::PulayGradientUKS ( const Eigen::MatrixXd & dmat_alpha,
const Eigen::MatrixXd & dmat_beta,
const AOBasis & dftbasis ) const

Definition at line 1027 of file vxc_potential.cc.

◆ setXCfunctional()

template<class Grid>
void votca::xtp::Vxc_Potential< Grid >::setXCfunctional ( const std::string & functional)

Definition at line 96 of file vxc_potential.cc.

Member Data Documentation

◆ cfunc

template<class Grid>
xc_func_type votca::xtp::Vxc_Potential< Grid >::cfunc
private

Definition at line 205 of file vxc_potential.h.

◆ cfunc_id

template<class Grid>
int votca::xtp::Vxc_Potential< Grid >::cfunc_id
private

Definition at line 203 of file vxc_potential.h.

◆ cfunc_pol_

template<class Grid>
xc_func_type votca::xtp::Vxc_Potential< Grid >::cfunc_pol_
private

Definition at line 209 of file vxc_potential.h.

◆ grid_

template<class Grid>
const Grid votca::xtp::Vxc_Potential< Grid >::grid_
private

Definition at line 199 of file vxc_potential.h.

◆ is_gga_

template<class Grid>
bool votca::xtp::Vxc_Potential< Grid >::is_gga_ = false
private

Definition at line 210 of file vxc_potential.h.

◆ kPointBlock

template<class Grid>
Index votca::xtp::Vxc_Potential< Grid >::kPointBlock = 128
staticconstexprprivate

Definition at line 197 of file vxc_potential.h.

◆ setXC_

template<class Grid>
bool votca::xtp::Vxc_Potential< Grid >::setXC_ = false
private

Definition at line 201 of file vxc_potential.h.

◆ use_separate_

template<class Grid>
bool votca::xtp::Vxc_Potential< Grid >::use_separate_
private

Definition at line 202 of file vxc_potential.h.

◆ xfunc

template<class Grid>
xc_func_type votca::xtp::Vxc_Potential< Grid >::xfunc
private

Definition at line 204 of file vxc_potential.h.

◆ xfunc_id

template<class Grid>
int votca::xtp::Vxc_Potential< Grid >::xfunc_id
private

Definition at line 200 of file vxc_potential.h.

◆ xfunc_pol_

template<class Grid>
xc_func_type votca::xtp::Vxc_Potential< Grid >::xfunc_pol_
private

Definition at line 208 of file vxc_potential.h.


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