JDFTx  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExactExchange Class Reference

Exact-exchange calculator. More...

#include <ExactExchange.h>

Public Member Functions

 ExactExchange (const Everything &e)
 
double operator() (double aXX, double omega, const std::vector< diagMatrix > &F, const std::vector< ColumnBundle > &C, std::vector< ColumnBundle > *HC=0, matrix3<> *EXX_RRT=0) const
 
void setOccupied (const std::vector< diagMatrix > &F, const std::vector< ColumnBundle > &C)
 Set the occupied wavefunctions and occupation factors in preparation for applyHamiltonian.
 
void applyHamiltonian (double aXX, double omega, int q, const ColumnBundle &Cq, ColumnBundle &HCq)
 Apply Hamiltonian:
 
void addHamiltonian (double aXX, double omega, int q, matrix &H, const std::vector< int > &iRowsMine, const std::vector< int > &iColsMine)
 Add Hamiltonian in plane-wave basis (used for dense diagonalization for BGW):
 

Detailed Description

Exact-exchange calculator.

Member Function Documentation

double ExactExchange::operator() ( double  aXX,
double  omega,
const std::vector< diagMatrix > &  F,
const std::vector< ColumnBundle > &  C,
std::vector< ColumnBundle > *  HC = 0,
matrix3<> *  EXX_RRT = 0 
) const

Compute scaled exact exchange energy with scale aXX and range omega (and optionally accumulate gradients) given fillings and wavefunctions


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