ergo
functionals.h File Reference

Functional library interface. More...

#include "realtype.h"

Go to the source code of this file.

Classes

struct  FunFirstFuncDrv
struct  FunSecondFuncDrv
struct  FunThirdFuncDrv
struct  FunFourthFuncDrv
struct  FunDensProp_
struct  Functional_

Macros

#define EXTERN_C
#define ASINH   asinhl
#define ATAN   atanl
#define ERF   erfl
#define EXP   expl
#define FABS   fabsl
#define LOG   logl
#define POW   powl
#define SQRT   sqrtl

Typedefs

typedef ergo_real real
typedef struct Functional_ Functional
typedef struct FunDensProp_ FunDensProp
typedef int(* IsGGAFunc )(void)
typedef int(* ReadInputFunc )(const char *conf_string)
typedef void(* ReportFunc )(void)
typedef real(* EnergyFunc )(const FunDensProp *dens_prop)
typedef void(* FirstOrderFun )(FunFirstFuncDrv *ds, real factor, const FunDensProp *dns_prp)
typedef void(* SecondOrderFun )(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
typedef void(* ThirdOrderFun )(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
typedef void(* FourthOrderFun )(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)

Enumerations

enum  FunError { FUN_OK, FUN_UNKNOWN, FUN_CONF_ERROR }

Functions

EXTERN_C enum FunError fun_select_by_name (const char *conf_string)
int dft_get_cam_param (real *alpha, real *beta, real *mu)
EXTERN_C void drv1_clear (FunFirstFuncDrv *gga)
EXTERN_C void drv2_clear (FunSecondFuncDrv *gga)
EXTERN_C void drv3_clear (FunThirdFuncDrv *gga)
EXTERN_C void drv4_clear (FunFourthFuncDrv *gga)
int fun_true (void)
int fun_false (void)
EXTERN_C void dftlistfuncs_ (void)
int dft_isgga_ (void)
int dft_isgga__ (void)
EXTERN_C void dftreport_ (void)
 dftreport: report the selected functional and its configuration.
EXTERN_C int fun_get_cam_param (real *alpha, real *beta, real *mu)

Variables

Functionalselected_func
int(* fun_printf )(const char *fmt,...)
void(* fun_set_hf_weight )(real w)
real(* fun_get_hf_weight )(void)
void(* fun_set_cam_param )(real w, real b)
Functional BeckeFunctional
Functional KTFunctional
Functional LB94Functional
Functional LYPFunctional
Functional OPTXFunctional
Functional P86cFunctional
Functional PW86xFunctional
Functional Pw91xFunctional
Functional Pw91cFunctional
Functional PW92cFunctional
Functional PZ81Functional
Functional PbecFunctional
Functional PbexFunctional
Functional SlaterFunctional
Functional VWN3Functional
Functional VWN5Functional
Functional VWNIFunctional
Functional VWN3IFunctional
Functional VWNFunctional
Functional XAlphaFunctional
Functional B3LYPFunctional
Functional B3LYPGaussFunctional
Functional B3P86Functional
Functional B3P86GFunctional
Functional B3PW91Functional
Functional BHandHFunctional
Functional BHandHLYPFunctional
Functional BLYPFunctional
Functional BP86Functional
Functional BPW91Functional
Functional Camb3lypFunctional
Functional CamFunctional
Functional CombineFunctional
Functional GGAKeyFunctional
Functional HseFunctional
Functional KT1Functional
Functional KT2Functional
Functional KT3Functional
Functional LDAFunctional
Functional OLYPFunctional
Functional PBE0Functional
Functional PBEFunctional
Functional SVWN3Functional
Functional SVWN5Functional
Functionalavailable_functionals []

Detailed Description

Functional library interface.

The variables, structures and functions related to computation of functional and their derivatives. (c) Pawel Salek, pawsa.nosp@m.@the.nosp@m.ochem.nosp@m..kth.nosp@m..se. 2001.07.13

NOTE1: the derivatives are computed with respect to the density, and SQUARE of the density gradient. This is a choice. It stems from the fact that the factors involved in the derivative vector distribution depend on the square of the density gradient.

NOTE2: C version is included once per file, Fortran version - multiple times.


Macro Definition Documentation

#define ATAN   atanl

Referenced by vwn_en_pot().

#define ERF   erfl
#define EXTERN_C

Typedef Documentation

typedef real(* EnergyFunc)(const FunDensProp *dens_prop)
typedef void(* FirstOrderFun)(FunFirstFuncDrv *ds, real factor, const FunDensProp *dns_prp)
typedef void(* FourthOrderFun)(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)
typedef struct Functional_ Functional
typedef struct FunDensProp_ FunDensProp
typedef int(* IsGGAFunc)(void)
typedef int(* ReadInputFunc)(const char *conf_string)
typedef ergo_real real
typedef void(* ReportFunc)(void)
typedef void(* SecondOrderFun)(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
typedef void(* ThirdOrderFun)(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)

Enumeration Type Documentation

enum FunError
Enumerator:
FUN_OK 
FUN_UNKNOWN 
FUN_CONF_ERROR 

Function Documentation

int dft_get_cam_param ( real alpha,
real beta,
real mu 
)
int dft_isgga_ ( void  )

References Functional_::is_gga.

int dft_isgga__ ( void  )

References Functional_::is_gga.

EXTERN_C void dftlistfuncs_ ( void  )

References fun_printf.

Referenced by dft_setfunc().

EXTERN_C void dftreport_ ( void  )

dftreport: report the selected functional and its configuration.

References fun_printf, Functional_::name, and Functional_::report.

Referenced by es_run().

EXTERN_C void drv1_clear ( FunFirstFuncDrv gga)
EXTERN_C void drv2_clear ( FunSecondFuncDrv gga)

Referenced by dftpot1_(), test_second(), and test_third().

EXTERN_C void drv4_clear ( FunFourthFuncDrv gga)

Referenced by test_fourth().

int fun_false ( void  )
EXTERN_C int fun_get_cam_param ( real alpha,
real beta,
real mu 
)
EXTERN_C enum FunError fun_select_by_name ( const char *  conf_string)
int fun_true ( void  )

Variable Documentation

Functional* available_functionals[]

Referenced by cam_read(), combine_read(), and main().

Functional B3LYPFunctional
Functional B3LYPGaussFunctional
Functional B3P86Functional
Functional B3P86GFunctional
Functional B3PW91Functional
Functional BHandHFunctional
Functional BHandHLYPFunctional
Functional BLYPFunctional
Functional BP86Functional
Functional BPW91Functional
Functional Camb3lypFunctional
Functional CamFunctional
Functional CombineFunctional
real(* fun_get_hf_weight)(void)
void(* fun_set_cam_param)(real w, real b)

Referenced by camb3lyp_read(), and dft_setfunc().

Functional GGAKeyFunctional
Functional HseFunctional
Functional KT1Functional
Functional KT2Functional
Functional KT3Functional
Functional KTFunctional

Referenced by kt1_read(), kt2_read(), and kt3_read().

Functional LB94Functional
Functional LDAFunctional
Functional OLYPFunctional
Functional OPTXFunctional

Referenced by kt3_read(), and olyp_read().

Functional P86cFunctional

Referenced by b3p86_read(), b3p86g_read(), and bp86_read().

Functional PBE0Functional
Functional PbecFunctional

Referenced by pbe0_read(), and pbe_read().

Functional PBEFunctional
Functional PbexFunctional

Referenced by pbe0_read(), and pbe_read().

Functional PW86xFunctional
Functional Pw91cFunctional

Referenced by b3pw91_read(), and bpw91_read().

Functional Pw91xFunctional
Functional PW92cFunctional
Functional PZ81Functional

Referenced by bp86_read().

Functional SVWN3Functional
Functional SVWN5Functional
Functional VWN3Functional

Referenced by b3p86g_read(), and ldagauss_read().

Functional VWN3IFunctional

Referenced by b3lypgauss_read().

Functional VWN5Functional

Referenced by lda_fourth(), lda_second(), and lda_third().

Functional VWNIFunctional
Functional XAlphaFunctional