OpenRDM
An open-source library for reduced-density matrix-based analysis and computation
functional.h
Go to the documentation of this file.
1 #ifndef FUNCTIONAL_H
2 #define FUNCTIONAL_H
3 
4 #include <armadillo>
5 #include "mcpdft.h"
6 
7 namespace mcpdft {
8 
9 class Functional {
10  public:
12  Functional();
13 
15  ~Functional();
16 
18  double EX_LSDA(const MCPDFT *mc,
19  const arma::vec &rho_a,
20  const arma::vec &rho_b);
21 
23  double EX_PBE(const MCPDFT *mc,
24  const arma::vec &rho_a,
25  const arma::vec &rho_b,
26  const arma::vec &sigma_aa,
27  const arma::vec &sigma_bb);
28 
29  /*================================================================*/
30  /* Correlation Functionals */
31  /*================================================================*/
33  double EC_VWN3(const MCPDFT *mc,
34  const arma::vec &rho_a,
35  const arma::vec &rho_b);
36 
38  double EC_PBE(const MCPDFT *mc,
39  const arma::vec &rho_a,
40  const arma::vec &rho_b,
41  const arma::vec &sigma_aa,
42  const arma::vec &sigma_ab,
43  const arma::vec &sigma_bb);
44 };
45 
46 }
47 
48 #endif // FUNCTIONAL_H
double EC_PBE(const MCPDFT *mc, const arma::vec &rho_a, const arma::vec &rho_b, const arma::vec &sigma_aa, const arma::vec &sigma_ab, const arma::vec &sigma_bb)
Perdew-Burke-Ernzerhof (PBE) correlation functional.
Definition: functional.cc:179
Definition: mcpdft.h:8
Definition: functional.cc:5
double EX_PBE(const MCPDFT *mc, const arma::vec &rho_a, const arma::vec &rho_b, const arma::vec &sigma_aa, const arma::vec &sigma_bb)
Perdew-Burke-Ernzerhof (PBE) exchange functional.
Definition: functional.cc:31
~Functional()
destructor
Definition: functional.cc:10
Definition: functional.h:9
double EX_LSDA(const MCPDFT *mc, const arma::vec &rho_a, const arma::vec &rho_b)
Slater exchange functional.
Definition: functional.cc:12
double EC_VWN3(const MCPDFT *mc, const arma::vec &rho_a, const arma::vec &rho_b)
VWN RPA expression-3 correlation functional.
Definition: functional.cc:103
Functional()
constructor
Definition: functional.cc:9