Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::Functional Class Referenceabstract

#include <functional.h>

Inheritance diagram for psi::Functional:
psi::LibXCFunctional

Public Member Functions

 Functional ()
 
virtual ~Functional ()
 
virtual std::shared_ptr
< Functional
build_worker ()
 
virtual void compute_functional (const std::map< std::string, SharedVector > &in, const std::map< std::string, SharedVector > &out, int npoints, int deriv)=0
 
const std::map< std::string,
double > & 
parameters ()
 
virtual void set_parameter (const std::string &key, double val)
 
void set_gga (bool gga)
 
void set_meta (bool meta)
 
void set_alpha (double alpha)
 
void set_omega (double omega)
 
void set_name (const std::string &name)
 
void set_description (const std::string &description)
 
void set_citation (const std::string &citation)
 
void set_lsda_cutoff (double cut)
 
void set_meta_cutoff (double cut)
 
std::string name () const
 
std::string description () const
 
std::string citation () const
 
bool is_meta () const
 
bool is_gga () const
 
bool is_lrc () const
 
bool is_unpolarized () const
 
double alpha () const
 
double omega () const
 
double lsda_cutoff () const
 
double meta_cutoff () const
 
virtual void print (std::string out_fname="outfile", int print=1) const
 
void py_print () const
 
void py_print_detail (int level) const
 

Static Public Member Functions

static std::shared_ptr
< Functional
build_base (const std::string &alias)
 

Protected Member Functions

void common_init ()
 

Protected Attributes

double alpha_
 
double omega_
 
std::string name_
 
std::string description_
 
std::string citation_
 
bool gga_
 
bool meta_
 
bool lrc_
 
bool unpolarized_
 
std::map< std::string, double > parameters_
 
double lsda_cutoff_
 
double meta_cutoff_
 

Detailed Description

Functional: Generic Semilocal Exchange or Correlation DFA functional

A DFT functional is defined as:

E_XC = E_X + E_C E_X = (1-) E_X^DFA [] + E_X^HF + (1-) E_X^HF,LR E_C = (1-) E_C^DFA [] + E_C^MP2 + (1-) E_C^MP2,LR

Constructor & Destructor Documentation

psi::Functional::Functional ( )
psi::Functional::~Functional ( )
virtual

Member Function Documentation

double psi::Functional::alpha ( ) const
inline
std::shared_ptr< Functional > psi::Functional::build_base ( const std::string &  alias)
static
std::shared_ptr< Functional > psi::Functional::build_worker ( )
virtual

Reimplemented in psi::LibXCFunctional.

std::string psi::Functional::citation ( ) const
inline
void psi::Functional::common_init ( void  )
protected
void psi::Functional::compute_functional ( const std::map< std::string, SharedVector > &  in,
const std::map< std::string, SharedVector > &  out,
int  npoints,
int  deriv 
)
pure virtual

Implemented in psi::LibXCFunctional.

std::string psi::Functional::description ( ) const
inline
bool psi::Functional::is_gga ( ) const
inline
bool psi::Functional::is_lrc ( ) const
inline
bool psi::Functional::is_meta ( ) const
inline
bool psi::Functional::is_unpolarized ( ) const
inline
double psi::Functional::lsda_cutoff ( ) const
inline
double psi::Functional::meta_cutoff ( ) const
inline
std::string psi::Functional::name ( ) const
inline
double psi::Functional::omega ( ) const
inline
const std::map<std::string, double>& psi::Functional::parameters ( )
inline
void psi::Functional::print ( std::string  out_fname = "outfile",
int  print = 1 
) const
virtual
void psi::Functional::py_print ( ) const
inline
void psi::Functional::py_print_detail ( int  level) const
inline
void psi::Functional::set_alpha ( double  alpha)
inline
void psi::Functional::set_citation ( const std::string &  citation)
inline
void psi::Functional::set_description ( const std::string &  description)
inline
void psi::Functional::set_gga ( bool  gga)
inline
void psi::Functional::set_lsda_cutoff ( double  cut)
inline
void psi::Functional::set_meta ( bool  meta)
inline
void psi::Functional::set_meta_cutoff ( double  cut)
inline
void psi::Functional::set_name ( const std::string &  name)
inline
void psi::Functional::set_omega ( double  omega)
inline
void psi::Functional::set_parameter ( const std::string &  key,
double  val 
)
virtual

Member Data Documentation

double psi::Functional::alpha_
protected
std::string psi::Functional::citation_
protected
std::string psi::Functional::description_
protected
bool psi::Functional::gga_
protected
bool psi::Functional::lrc_
protected
double psi::Functional::lsda_cutoff_
protected
bool psi::Functional::meta_
protected
double psi::Functional::meta_cutoff_
protected
std::string psi::Functional::name_
protected
double psi::Functional::omega_
protected
std::map<std::string, double> psi::Functional::parameters_
protected
bool psi::Functional::unpolarized_
protected

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