ergo
functionals.h File Reference
#include "config.h"
#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)
 
EXTERN_C void dftlistfuncs_using_printf_ (void)
 
int dft_isgga_ (void)
 
int dft_isgga__ (void)
 
EXTERN_C void dftreport_ (void)
 dftreport: report the selected functional and its configuration. More...
 
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

◆ ASINH

#define ASINH   asinhl

◆ ATAN

#define ATAN   atanl

◆ ERF

#define ERF   erfl

◆ EXP

#define EXP   expl

◆ EXTERN_C

#define EXTERN_C

◆ FABS

#define FABS   fabsl

◆ LOG

#define LOG   logl

◆ POW

#define POW   powl

◆ SQRT

#define SQRT   sqrtl

Typedef Documentation

◆ EnergyFunc

typedef real(* EnergyFunc) (const FunDensProp *dens_prop)

◆ FirstOrderFun

typedef void(* FirstOrderFun) (FunFirstFuncDrv *ds, real factor, const FunDensProp *dns_prp)

◆ FourthOrderFun

typedef void(* FourthOrderFun) (FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)

◆ Functional

typedef struct Functional_ Functional

◆ FunDensProp

typedef struct FunDensProp_ FunDensProp

◆ IsGGAFunc

typedef int(* IsGGAFunc) (void)

◆ ReadInputFunc

typedef int(* ReadInputFunc) (const char *conf_string)

◆ real

typedef ergo_real real

◆ ReportFunc

typedef void(* ReportFunc) (void)

◆ SecondOrderFun

typedef void(* SecondOrderFun) (FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)

◆ ThirdOrderFun

typedef void(* ThirdOrderFun) (FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)

Enumeration Type Documentation

◆ FunError

enum FunError
Enumerator
FUN_OK 
FUN_UNKNOWN 
FUN_CONF_ERROR 

Function Documentation

◆ dft_get_cam_param()

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

◆ dft_isgga_()

int dft_isgga_ ( void  )

◆ dft_isgga__()

int dft_isgga__ ( void  )

◆ dftlistfuncs_()

EXTERN_C void dftlistfuncs_ ( void  )

◆ dftlistfuncs_using_printf_()

EXTERN_C void dftlistfuncs_using_printf_ ( void  )

◆ dftreport_()

EXTERN_C void dftreport_ ( void  )

dftreport: report the selected functional and its configuration.

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

Referenced by es_run().

◆ drv1_clear()

◆ drv2_clear()

EXTERN_C void drv2_clear ( FunSecondFuncDrv gga)

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

◆ drv3_clear()

◆ drv4_clear()

EXTERN_C void drv4_clear ( FunFourthFuncDrv gga)

Referenced by test_fourth().

◆ fun_false()

int fun_false ( void  )

◆ fun_get_cam_param()

EXTERN_C int fun_get_cam_param ( real alpha,
real beta,
real mu 
)

◆ fun_select_by_name()

EXTERN_C enum FunError fun_select_by_name ( const char *  conf_string)

Referenced by dft_setfunc().

◆ fun_true()

int fun_true ( void  )

Variable Documentation

◆ available_functionals

◆ B3LYPFunctional

Functional B3LYPFunctional

◆ B3LYPGaussFunctional

Functional B3LYPGaussFunctional

◆ B3P86Functional

Functional B3P86Functional

◆ B3P86GFunctional

Functional B3P86GFunctional

◆ B3PW91Functional

Functional B3PW91Functional

◆ BeckeFunctional

◆ BHandHFunctional

Functional BHandHFunctional

◆ BHandHLYPFunctional

Functional BHandHLYPFunctional

◆ BLYPFunctional

Functional BLYPFunctional

◆ BP86Functional

Functional BP86Functional

◆ BPW91Functional

Functional BPW91Functional

◆ Camb3lypFunctional

Functional Camb3lypFunctional

Referenced by fun_get_cam_param().

◆ CamFunctional

Functional CamFunctional

Referenced by cam_read(), and fun_get_cam_param().

◆ CombineFunctional

Functional CombineFunctional

◆ fun_get_hf_weight

real(* fun_get_hf_weight) (void)

◆ fun_printf

◆ fun_set_cam_param

void(* fun_set_cam_param) (real w, real b)

Referenced by camb3lyp_read(), and dft_setfunc().

◆ fun_set_hf_weight

◆ GGAKeyFunctional

Functional GGAKeyFunctional

◆ HseFunctional

Functional HseFunctional

Referenced by fun_get_cam_param().

◆ KT1Functional

Functional KT1Functional

◆ KT2Functional

Functional KT2Functional

◆ KT3Functional

Functional KT3Functional

◆ KTFunctional

Functional KTFunctional

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

◆ LB94Functional

Functional LB94Functional

◆ LDAFunctional

Functional LDAFunctional

◆ LYPFunctional

◆ OLYPFunctional

Functional OLYPFunctional

◆ OPTXFunctional

Functional OPTXFunctional

Referenced by kt3_read(), and olyp_read().

◆ P86cFunctional

Functional P86cFunctional

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

◆ PBE0Functional

Functional PBE0Functional

◆ PbecFunctional

Functional PbecFunctional

Referenced by pbe0_read(), and pbe_read().

◆ PBEFunctional

Functional PBEFunctional

◆ PbexFunctional

Functional PbexFunctional

Referenced by pbe0_read(), and pbe_read().

◆ PW86xFunctional

Functional PW86xFunctional

◆ Pw91cFunctional

Functional Pw91cFunctional

Referenced by b3pw91_read(), and bpw91_read().

◆ Pw91xFunctional

Functional Pw91xFunctional

◆ PW92cFunctional

Functional PW92cFunctional

◆ PZ81Functional

Functional PZ81Functional

Referenced by bp86_read().

◆ selected_func

◆ SlaterFunctional

◆ SVWN3Functional

Functional SVWN3Functional

◆ SVWN5Functional

Functional SVWN5Functional

◆ VWN3Functional

Functional VWN3Functional

Referenced by b3p86g_read(), and ldagauss_read().

◆ VWN3IFunctional

Functional VWN3IFunctional

Referenced by b3lypgauss_read().

◆ VWN5Functional

Functional VWN5Functional

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

◆ VWNFunctional

◆ VWNIFunctional

Functional VWNIFunctional

◆ XAlphaFunctional

Functional XAlphaFunctional