Go to the documentation of this file.
44 #ifndef _FUNCTIONALS_H_
45 #define _FUNCTIONALS_H_
50 #ifdef PRECISION_QUAD_FLT128
57 #define EXTERN_C extern "C"
64 #if defined(FUNC_PRECISION) && FUNC_PRECISION == 1
76 #elif defined(FUNC_PRECISION) && FUNC_PRECISION == 2
90 #ifdef PRECISION_QUAD_FLT128
366 extern int (*
fun_printf)(
const char *fmt, ...);
static void cam_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-cam.c:1094
real df20011
Definition: functionals.h:301
static real pbex_energy(const FunDensProp *dp)
Definition: fun-pbex.c:101
real df0101
Definition: functionals.h:173
real df1002
Definition: functionals.h:194
ergo_real real
Definition: functionals.h:62
real df20001
Definition: functionals.h:186
real df0301
Definition: functionals.h:325
static void cam_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-cam.c:973
#define LOG
Definition: functionals.h:107
real df0300
Definition: functionals.h:197
#define FAC
Definition: fun-cam.c:802
static void free_functionals(FuncList **lst)
Definition: fun-gga.c:146
static const real b2p
Definition: fun-pz81.c:70
ReadInputFunc read
Definition: functionals.h:404
static int pw91c_isgga(void)
Definition: fun-pw91c.c:99
static int pw91c_read(const char *conf_line)
Definition: fun-pw91c.c:122
Functional VWNFunctional
Definition: fun-vwn.c:92
Functional SVWN3Functional
Definition: fun-gga.c:95
static int pbe_read(const char *conf_line)
Definition: fun-gga.c:399
static void pw92c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw92c.c:468
static real cam_b_energy_small(real a)
Definition: fun-cam.c:600
real df02
Definition: fun-cam.c:64
static const real gu
Definition: fun-pz81.c:68
real df01102
Definition: functionals.h:338
#define __inline__
Definition: fun-tester.cc:60
Definition: dft_common.h:70
real df0011
Definition: functionals.h:146
Definition: functionals.h:375
real df02
Definition: fun-cam.c:68
static int pbec_read(const char *conf_line)
Definition: fun-pbec.c:133
static real optx_energy(const FunDensProp *dens_prop)
Definition: fun-optx.c:92
void dftlistfuncs_(void)
Definition: functionals.c:173
real df20
Definition: fun-cam.c:64
static void lb94_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-lb94.c:116
Definition of the main floating-point datatype used; the ergo_real type.
real df01001
Definition: functionals.h:174
real df11001
Definition: functionals.h:190
static int cam_isgga(void)
Definition: fun-cam.c:80
real df1003
Definition: functionals.h:319
void(* DaltonEnFunc)(real *res, const real *rho, const real *rho13, const real *grad)
Definition: fun-tester.cc:63
Functional VWN3IFunctional
Definition: fun-vwn.c:127
real df21
Definition: fun-cam.c:65
real df30
Definition: fun-cam.c:69
real df0020
Definition: functionals.h:175
Common DFT routines. Mostly functional mixing.
static const real SPINPOLF
Definition: fun-vwn.c:163
real B
Definition: fun-vwn.c:155
real df02002
Definition: functionals.h:332
int dft_isgga__(void)
Definition: functionals.c:196
static const real Cu
Definition: fun-pz81.c:69
static real becke_energy(const FunDensProp *dens_prop)
Definition: fun-becke.c:94
real df31
Definition: fun-cam.c:70
static int p86c_read(const char *conf_line)
Definition: fun-p86c.c:102
static const real DELTA
Definition: fun-kt.c:100
static int test_second(const char *fname, FirstOrderFun first_fun, SecondOrderFun second_fun)
Definition: fun-tester.cc:150
real df00003
Definition: functionals.h:284
void edrc_(real *drc, const real *rho, const real *rho13, const real *rhogrd)
static int pz81_read(const char *conf_line)
Definition: fun-pz81.c:75
static void vwn3_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:531
static int kt_isgga(void)
Definition: fun-kt.c:53
int main(int argc, char *argv[])
Definition: fun-tester.cc:559
real df1101
Definition: functionals.h:257
real df0112
Definition: functionals.h:336
real df0110
Definition: functionals.h:142
static int lda_read(const char *conf_line)
Definition: fun-gga.c:173
static real camMu
Definition: fun-cam.c:150
real df0111
Definition: functionals.h:202
static real pw91c_energy(const FunDensProp *dp)
Definition: fun-pw91c.c:129
static const real Cp
Definition: fun-pz81.c:71
real df02001
Definition: functionals.h:200
Functional VWN3Functional
Definition: fun-vwn.c:68
real df0011
Definition: functionals.h:242
real df11
Definition: fun-cam.c:68
FuncList * gga_fun_list
Definition: fun-gga.c:124
real df02001
Definition: functionals.h:268
static void camb3lyp_report(void)
Definition: fun-cam.c:259
void(* ThirdOrderFun)(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: functionals.h:396
real df0130
Definition: functionals.h:333
#define BECKE88_CORR_WEIGHT
Definition: fun-cam.c:214
real C
Definition: fun-vwn.c:155
static int pw91x_read(const char *conf_line)
Definition: fun-pw91x.c:110
static const real gp
Definition: fun-pz81.c:70
real df10001
Definition: functionals.h:170
int(* fun_printf)(const char *fmt,...)
Definition: functionals.c:107
static void vwn3_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:537
static int test_fourth(const char *fname, ThirdOrderFun third_fun, FourthOrderFun fourth_fun)
Definition: fun-tester.cc:306
real df10
Definition: fun-cam.c:61
real df02101
Definition: functionals.h:329
Functional PZ81Functional
Definition: fun-pz81.c:49
Functional PW92cFunctional
Definition: fun-pw92c.c:131
real df04
Definition: fun-cam.c:70
real df00202
Definition: functionals.h:348
static void pbec_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pbec.c:219
void(* fun_set_hf_weight)(real w)
Definition: functionals.c:108
real df1011
Definition: functionals.h:192
int(* IsGGAFunc)(void)
Definition: functionals.h:386
static void lyp_second(FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:209
static void pz81a_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:222
static void vwn_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:556
static const real Bp
Definition: fun-pz81.c:64
real df0100
Definition: functionals.h:161
static void lb94_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-lb94.c:162
static void becke_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-becke.c:119
real df20001
Definition: functionals.h:254
static void lyp_first(FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:124
FunError
Definition: functionals.h:363
real df01011
Definition: functionals.h:273
Definition: functionals.h:130
Functional B3LYPGaussFunctional
Definition: fun-gga.c:97
static int cam_read(const char *conf_line)
Read the configuration.
Definition: fun-cam.c:289
real df1000
Definition: functionals.h:131
static void pz81b_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:482
static struct FunctionalList * correlationFunctionals
Definition: fun-cam.c:147
EXTERN_C enum FunError fun_select_by_name(const char *conf_string)
Definition: functionals.c:114
Functional CamFunctional
Definition: fun-cam.c:107
#define ELEMENTS(arr)
Definition: fun-cam.c:51
real df1001
Definition: functionals.h:169
static int bhandh_read(const char *conf_line)
Definition: fun-gga.c:278
real df11001
Definition: functionals.h:258
static int lyp_isgga(void)
Definition: fun-lyp.c:45
double ergo_real
Definition: realtype.h:69
real df00013
Definition: functionals.h:356
Functional BHandHFunctional
Definition: fun-gga.c:101
static real p86c_energy(const FunDensProp *dp)
Definition: fun-p86c.c:109
static real cam_b_second_medium(real a)
Definition: fun-cam.c:700
FirstOrderFun first
Definition: functionals.h:410
static void lda_third(FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:200
Definition: fun-gga.c:118
Functional * available_functionals[]
Definition: functionals.c:45
static void pw91x_fourth_helper(real rhoa, real grada, real *res)
Definition: fun-pw91x.c:507
static void pbex_first_helper(real rhoa, real grada, real *res)
Definition: fun-pbex.c:123
static void kt_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-kt.c:211
static struct FunctionalList * newFunc(Functional *f, real weight, struct FunctionalList *next)
Definition: fun-cam.c:153
static void lda_second(FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:193
real weight
Definition: fun-gga.c:120
#define EVALUATOR(a, type)
Definition: fun-cam.c:803
static const struct vwn_params vwn_interp
Functional LDAFunctional
Definition: fun-gga.c:92
Functional Pw91cFunctional
Definition: fun-pw91c.c:109
Functional B3P86GFunctional
Definition: fun-gga.c:99
static void cam_free_config(void)
Definition: fun-cam.c:165
static int kt_read(const char *conf_line)
Definition: fun-kt.c:85
real df00021
Definition: functionals.h:282
#define SQRT_PI
Definition: fun-cam.c:421
static int pw92c_isgga(void)
Definition: fun-pw92c.c:117
static void pw91c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91c.c:613
real df03001
Definition: functionals.h:326
Functional GGAKeyFunctional
Definition: fun-gga.c:107
real df2010
Definition: functionals.h:184
static void lda_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:207
static int test_derivatives(Functional *f, int *orders, DaltonEnFunc dal_fun)
Definition: fun-tester.cc:539
real rhoa
Definition: functionals.h:376
@ FUN_CONF_ERROR
Definition: functionals.h:363
static const real KT_THRESHOLD
Definition: fun-kt.c:99
static const real OPTX_THRESHOLD
Definition: fun-optx.c:89
real df01
Definition: fun-cam.c:64
static int pbec_isgga(void)
Definition: fun-pbec.c:111
static int olyp_read(const char *conf_line)
Definition: fun-gga.c:387
real df00102
Definition: functionals.h:280
static int becke_isgga(void)
Definition: fun-becke.c:50
const char * name
Definition: functionals.h:402
int fun_true(void)
Definition: functionals.c:153
Functional PBE0Functional
Definition: fun-gga.c:112
Functional VWN3IFunctional
Definition: fun-vwn.c:127
ergo_real weight
Definition: fun-cam.c:134
real df0102
Definition: functionals.h:204
static int xalpha_read(const char *conf_line)
Definition: fun-gga.c:160
static void optx_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-optx.c:155
Functional GGAKeyFunctional
Definition: fun-gga.c:107
static void pz81b_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:408
real X0
Definition: fun-vwn.c:155
static int lb94_isgga(void)
Definition: fun-lb94.c:48
static real cam_b_energy_medium(real a)
Definition: fun-cam.c:664
real df00101
Definition: functionals.h:177
Definition: functionals.h:220
real df11002
Definition: functionals.h:312
static int parse_table(const char *func, const char *str, int cnt, const char *keywords[], double *weights)
Definition: fun-cam.c:183
EXTERN_C void drv1_clear(FunFirstFuncDrv *gga)
Definition: functionals.c:131
void dftlistfuncs_using_printf_(void)
Definition: functionals.c:182
real df30
Definition: fun-cam.c:65
static void gga_first(FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:495
static void par_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:337
static const real Ap
Definition: fun-pz81.c:64
static void gga_third(FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:515
real df1021
Definition: functionals.h:314
real df00001
Definition: functionals.h:124
EnergyFunc func
Definition: functionals.h:409
void drv1_clear(FunFirstFuncDrv *gga)
Definition: functionals.c:131
Functional * selected_func
Definition: functionals.c:106
EXTERN_C void dftreport_(void)
dftreport: report the selected functional and its configuration.
Definition: functionals.c:164
static void lyp_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:699
ergo_real real
Definition: test.cc:46
int dft_get_cam_param(real *alpha, real *beta, real *mu)
static const real BETA
Definition: fun-lb94.c:86
static void kt_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-kt.c:294
static real get_hf_weight(void)
Definition: functionals.c:103
Functional B3LYPFunctional
Definition: fun-gga.c:96
real df0110
Definition: functionals.h:172
real df10
Definition: fun-cam.c:58
static void vwn_en_pot(real *enpot, real rho, int order, const struct vwn_params *p)
Definition: fun-vwn.c:176
real df0040
Definition: functionals.h:343
real df0103
Definition: functionals.h:339
Functional PW86xFunctional
Definition: fun-pw86x.c:50
real df1110
Definition: functionals.h:188
real df3000
Definition: functionals.h:182
static int bp86_read(const char *conf_line)
Definition: fun-gga.c:299
real df21001
Definition: functionals.h:296
real df02011
Definition: functionals.h:331
Functional SVWN5Functional
Definition: fun-gga.c:94
static void becke_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-becke.c:161
real df01101
Definition: functionals.h:203
Functional * available_functionals[]
Definition: functionals.c:45
Treal template_blas_fabs(Treal x)
real df0020
Definition: functionals.h:145
static void becke_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-becke.c:273
real df00101
Definition: functionals.h:243
real df2101
Definition: functionals.h:295
static int b3p86g_read(const char *conf_line)
Definition: fun-gga.c:324
ReportFunc report
Definition: functionals.h:405
static void vwn3i_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1028
Functional BHandHFunctional
Definition: fun-gga.c:101
real df1101
Definition: functionals.h:189
Functional VWNIFunctional
Definition: fun-vwn.c:110
Functional BPW91Functional
Definition: fun-gga.c:105
static void cam_third_sigma(real rho, real ex, RGThirdDrv *f3, RGThirdDrv *res)
Definition: fun-cam.c:1040
Functional SVWN3Functional
Definition: fun-gga.c:95
real df00301
Definition: functionals.h:345
real df01001
Definition: functionals.h:144
real df20
Definition: fun-cam.c:68
static int bpw91_read(const char *conf_line)
Definition: fun-gga.c:337
static const real BETA
Definition: fun-becke.c:92
real df0202
Definition: functionals.h:330
static void p86c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-p86c.c:235
static void kt_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-kt.c:160
static void cam_fourth_sigma(real rho, real ex, RGFourthDrv *f4, RGFourthDrv *res)
Definition: fun-cam.c:1181
EXTERN_C int fun_get_cam_param(real *alpha, real *beta, real *mu)
Definition: fun-cam.c:1367
static __inline__ void test_var(real comp, real refer, const char *fun, const char *drv, int *counter)
Definition: fun-tester.cc:75
static const real b2u
Definition: fun-pz81.c:68
static void pz81_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:624
real df00101
Definition: functionals.h:147
real df3100
Definition: functionals.h:289
static real cam_b_fourth_medium(real a)
Definition: fun-cam.c:749
static void pw91x_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91x.c:733
static void spni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:913
real df0201
Definition: functionals.h:267
Functional PbecFunctional
Definition: fun-pbec.c:119
static real par_energy(const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:269
static real camBeta
Definition: fun-cam.c:149
static int b3lyp_read(const char *conf_line)
Definition: fun-gga.c:235
real df0001
Definition: functionals.h:227
real df11101
Definition: functionals.h:309
Functional BP86Functional
Definition: fun-gga.c:104
static void lb94_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-lb94.c:95
int fun_true(void)
Definition: functionals.c:153
real df0022
Definition: functionals.h:346
static void pz81a_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:146
static void slater_second(FunSecondFuncDrv *ds, real fac, const FunDensProp *)
Definition: fun-slater.c:127
Functional PW86xFunctional
Definition: fun-pw86x.c:50
real(* EnergyFunc)(const FunDensProp *dens_prop)
Definition: functionals.h:389
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
static int pw91x_isgga(void)
Definition: fun-pw91x.c:84
real df2000
Definition: functionals.h:166
static int pw86x_read(const char *conf_line)
Definition: fun-pw86x.c:63
real df1210
Definition: functionals.h:304
static void spni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:946
real df0031
Definition: functionals.h:344
real df00201
Definition: functionals.h:209
static int hse_read(const char *conf_line)
Definition: fun-cam.c:405
static real slater_energy(const FunDensProp *dp)
Definition: fun-slater.c:81
real df01012
Definition: functionals.h:341
void(* fun_set_cam_param)(real w, real b)
Definition: functionals.c:110
#define VWN_ZERO
Definition: fun-vwn.c:140
static void p86c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-p86c.c:146
real rhob
Definition: functionals.h:376
real df2000
Definition: functionals.h:232
real df4000
Definition: functionals.h:288
real df0200
Definition: functionals.h:141
@ FUN_UNKNOWN
Definition: functionals.h:363
real df3010
Definition: functionals.h:290
void drv4_clear(FunFourthFuncDrv *gga)
Definition: functionals.c:148
static int kt3_read(const char *conf_line)
Definition: fun-gga.c:373
Functional B3P86GFunctional
Definition: fun-gga.c:99
real df1020
Definition: functionals.h:191
static void vwn_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:574
real df0030
Definition: functionals.h:207
real df01111
Definition: functionals.h:337
static void lyp_third(FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:385
Functional PZ81Functional
Definition: fun-pz81.c:49
static void cam_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-cam.c:884
Functional B3P86Functional
Definition: fun-gga.c:98
static int camb3lyp_read(const char *conf_line)
Definition: fun-cam.c:224
static void becke_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-becke.c:431
Functional B3P86Functional
Definition: fun-gga.c:98
Functional LYPFunctional
Definition: fun-lyp.c:53
static void fun_a_third(real rho, real a, real ex, RGThirdDrv *f3, RGThirdDrv *res)
Definition: fun-cam.c:459
static void pw91c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91c.c:303
real df10
Definition: fun-cam.c:64
Functional PbexFunctional
Definition: fun-pbex.c:81
#define VWN_WEIGHT
Definition: fun-cam.c:220
static int pw92c_read(const char *conf_line)
Definition: fun-pw92c.c:147
Functional OLYPFunctional
Definition: fun-gga.c:111
Definition: fun-cam.c:132
real df0100
Definition: functionals.h:225
static void pbex_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pbex.c:141
static void pbex_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pbex.c:259
#define LDA_FUNCTIONAL(name, read)
Definition: fun-gga.c:83
real df00102
Definition: functionals.h:212
static real cam_energy(const FunDensProp *dp)
Definition: fun-cam.c:825
Functional VWN3Functional
Definition: fun-vwn.c:68
real df00121
Definition: functionals.h:350
real df3001
Definition: functionals.h:291
static real vwn_energy(const FunDensProp *dp)
Definition: fun-vwn.c:550
real df00111
Definition: functionals.h:211
void(* ReportFunc)(void)
Definition: functionals.h:388
static const char * cam_keywords[]
Definition: fun-cam.c:222
real df01001
Definition: functionals.h:240
static void fun_a_second(real rho, real a, real ex, RGSecondDrv *f2, RGSecondDrv *res)
Definition: fun-cam.c:440
real df01201
Definition: functionals.h:335
real df10
Definition: fun-cam.c:68
real df1010
Definition: functionals.h:168
static void vwni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1010
real df0001
Definition: functionals.h:163
real df0012
Definition: functionals.h:210
static void vwni_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1016
static void kt_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-kt.c:125
real df00001
Definition: functionals.h:135
static struct FunctionalList * exchangeFunctionals
The module uses program-wide configuration.
Definition: fun-cam.c:146
int fun_false(void)
Definition: functionals.c:154
EXTERN_C void drv2_clear(FunSecondFuncDrv *gga)
Definition: functionals.c:137
static int kt2_read(const char *conf_line)
Definition: fun-gga.c:360
Functional B3PW91Functional
Definition: fun-gga.c:100
int dft_isgga_(void)
Definition: functionals.c:192
real df10201
Definition: functionals.h:315
real df10111
Definition: functionals.h:317
Functional OPTXFunctional
Definition: fun-optx.c:60
Functional BLYPFunctional
Definition: fun-gga.c:103
static const real Au
Definition: fun-pz81.c:63
void(* FirstOrderFun)(FunFirstFuncDrv *ds, real factor, const FunDensProp *dns_prp)
Definition: functionals.h:390
real df00201
Definition: functionals.h:277
static real pz81b_energy(const FunDensProp *dp)
Definition: fun-pz81.c:352
static int my_printf(const char *fmt,...)
Definition: functionals.c:95
IsGGAFunc is_gga
Definition: functionals.h:403
Functional XAlphaFunctional
Definition: fun-gga.c:91
real df2002
Definition: functionals.h:300
static void optx_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-optx.c:118
Definition: functionals.h:159
int main(int argc, char *argv[])
Definition: bin2m.cc:45
void drv3_clear(FunThirdFuncDrv *gga)
Definition: functionals.c:143
real df22
Definition: fun-cam.c:70
Definition: functionals.h:119
real df01003
Definition: functionals.h:342
real df0003
Definition: functionals.h:281
static int blyp_read(const char *conf_line)
Definition: fun-gga.c:224
real df0210
Definition: functionals.h:198
EXTERN_C void drv3_clear(FunThirdFuncDrv *gga)
Definition: functionals.c:143
static void pw91x_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91x.c:469
Functional BHandHLYPFunctional
Definition: fun-gga.c:102
real df20101
Definition: functionals.h:299
real df30001
Definition: functionals.h:292
int fun_false(void)
Definition: functionals.c:154
static real fun_a(real rho, real ex)
Definition: fun-cam.c:423
static int combine_read(const char *conf_line)
Definition: fun-gga.c:423
static const real large_coefs[]
Definition: fun-cam.c:623
Functional KT3Functional
Definition: fun-gga.c:110
int dft_isgga_(void)
Definition: functionals.c:192
static void fun_a_fourth(real rho, real a, real ex, RGFourthDrv *f4, RGFourthDrv *res)
Definition: fun-cam.c:496
Definition: functionals.h:401
void(* fun_set_hf_weight)(real w)
Definition: functionals.c:108
static int lyp_read(const char *conf_line)
Definition: fun-lyp.c:67
ThirdOrderFun third
Definition: functionals.h:412
Functional SlaterFunctional
Definition: fun-slater.c:57
real df10002
Definition: functionals.h:264
real df10012
Definition: functionals.h:321
real df0211
Definition: functionals.h:328
static const struct vwn_params vwn_paramagnetic
real df0002
Definition: functionals.h:148
static const real Du
Definition: fun-pz81.c:69
Functional CombineFunctional
Definition: fun-gga.c:106
EXTERN_C void dftlistfuncs_using_printf_(void)
Definition: functionals.c:182
Functional BLYPFunctional
Definition: fun-gga.c:103
static const real SLATER_THRESHOLD
Definition: fun-slater.c:79
real df00002
Definition: functionals.h:246
enum FunError fun_select_by_name(const char *conf_string)
Definition: functionals.c:114
Functional LB94Functional
Definition: fun-lb94.c:64
Functional KT2Functional
Definition: fun-gga.c:109
static real lb94_energy(const FunDensProp *dens_prop)
Definition: fun-lb94.c:89
real df0100
Definition: functionals.h:132
void ebck_(real *bck, const real *rho, const real *rho13, const real *rhogrd)
real df0111
Definition: functionals.h:270
static void gga_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:524
static const real THREEFTHRD2
Definition: fun-vwn.c:164
real df1100
Definition: functionals.h:167
static const real b1p
Definition: fun-pz81.c:70
real df00112
Definition: functionals.h:351
Functional P86cFunctional
Definition: fun-p86c.c:89
real A
Definition: fun-vwn.c:155
static void fun_a_first(real rho, real a, real ex, RGFirstDrv *fun1, RGFirstDrv *res)
Definition: fun-cam.c:430
@ FUN_OK
Definition: functionals.h:363
FuncList * next
Definition: fun-gga.c:121
real df2020
Definition: functionals.h:297
static real vwni_energy(const FunDensProp *dp)
Definition: fun-vwn.c:998
#define GGA_FUNCTIONAL(name, read)
Definition: fun-gga.c:87
real(* fun_get_hf_weight)(void)
Definition: functionals.c:109
real df1000
Definition: functionals.h:224
real df1300
Definition: functionals.h:303
static int slater_isgga(void)
Definition: fun-slater.c:49
static const real ENERGY_THR
Definition: fun-cam.c:822
static real pw86x_energy(const FunDensProp *dp)
Definition: fun-pw86x.c:70
Functional PbecFunctional
Definition: fun-pbec.c:119
Functional VWNIFunctional
Definition: fun-vwn.c:110
Functional BHandHLYPFunctional
Definition: fun-gga.c:102
real df00002
Definition: functionals.h:150
Functional B3LYPGaussFunctional
Definition: fun-gga.c:97
real df1110
Definition: functionals.h:256
static void pw91x_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91x.c:307
static void gga_report(void)
Definition: fun-gga.c:470
static void lda_first(FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:186
#define COMP_DER(c, delta, eps, field, fun, ord)
Definition: fun-tester.cc:140
real df0003
Definition: functionals.h:213
static real pz81_energy(const FunDensProp *dp)
Definition: fun-pz81.c:604
real df21
Definition: fun-cam.c:69
real df00012
Definition: functionals.h:283
real df3000
Definition: functionals.h:250
real df13
Definition: fun-cam.c:70
#define T2(der, derdif, eps, label)
Definition: fun-tester.cc:145
static void pz81_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:614
static void optx_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: fun-optx.c:209
real df0310
Definition: functionals.h:324
real df0120
Definition: functionals.h:201
#define ATAN
Definition: functionals.h:103
real df11
Definition: fun-cam.c:61
static void p86c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-p86c.c:478
static real pz81a_energy(const FunDensProp *dp)
Definition: fun-pz81.c:88
#define MAX_LARGE_COEFS
Definition: fun-cam.c:622
real df11
Definition: fun-cam.c:64
real df0101
Definition: functionals.h:143
#define POW
Definition: functionals.h:108
real df1012
Definition: functionals.h:316
static void pw92c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw92c.c:1224
#define ERF
Definition: functionals.h:104
Functional HseFunctional
Definition: fun-cam.c:119
static void pw86x_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw86x.c:92
#define SQRT
Definition: functionals.h:109
real df1020
Definition: functionals.h:259
real df01021
Definition: functionals.h:340
real df1002
Definition: functionals.h:262
static const struct vwn_params vwn3_ferromagnetic
#define ASINH
Definition: functionals.h:102
real(* fun_get_hf_weight)(void)
Definition: functionals.c:109
static int p86c_isgga(void)
Definition: fun-p86c.c:79
real df2100
Definition: functionals.h:183
#define FABS
Definition: functionals.h:106
real df0013
Definition: functionals.h:349
real df20
Definition: fun-cam.c:61
real df1010
Definition: functionals.h:138
real df2200
Definition: functionals.h:293
real df1200
Definition: functionals.h:187
static const real Bu
Definition: fun-pz81.c:63
static void pz81b_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:368
real df2001
Definition: functionals.h:253
int dft_isgga__(void)
Definition: functionals.c:196
real df01002
Definition: functionals.h:206
Functional KT1Functional
Definition: fun-gga.c:108
real df0004
Definition: functionals.h:353
static const real b1u
Definition: fun-pz81.c:68
static real kt_energy(const FunDensProp *dens_prop)
Definition: fun-kt.c:102
static int pbex_read(const char *conf_line)
Definition: fun-pbex.c:94
static void gga_second(FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-gga.c:507
real df0101
Definition: functionals.h:239
real df20002
Definition: functionals.h:302
static const struct vwn_params vwn3_paramagnetic
static void pw91x_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91x.c:211
static void set_cam_param(real w, real b)
Definition: functionals.c:104
Functional * selected_func
Definition: functionals.c:106
real df0210
Definition: functionals.h:266
real df10003
Definition: functionals.h:322
Functional PBEFunctional
Definition: fun-gga.c:113
Functional CombineFunctional
Definition: fun-gga.c:106
real df1001
Definition: functionals.h:235
static void pw91c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw91c.c:180
real df0021
Definition: functionals.h:208
static real cam_b_first_small(real a)
Definition: fun-cam.c:610
real df1102
Definition: functionals.h:310
static int pbex_isgga(void)
Definition: fun-pbex.c:71
real df0020
Definition: functionals.h:241
real df01
Definition: fun-cam.c:68
void dftpot1(SecondDrv *ds, const real *w, const real *rho, const real *grad, const int *triplet)
int(* fun_printf)(const char *fmt,...)
Definition: functionals.c:107
real df10011
Definition: functionals.h:263
const int GRID_STEP
Definition: fun-tester.cc:87
Definition: fun-vwn.c:154
real df00011
Definition: functionals.h:245
static real camAlpha
Definition: fun-cam.c:148
real df0200
Definition: functionals.h:171
static const real large_coefs1[]
Definition: fun-cam.c:639
Functional SVWN5Functional
Definition: fun-gga.c:94
Functional CamFunctional
Definition: fun-cam.c:107
real df00002
Definition: functionals.h:180
real df10021
Definition: functionals.h:320
static const real Dp
Definition: fun-pz81.c:71
static void par_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:293
static void pz81_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:634
void dftreport_(void)
dftreport: report the selected functional and its configuration.
Definition: functionals.c:164
static void vwn3i_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1034
real df0030
Definition: functionals.h:275
#define EXP
Definition: functionals.h:105
real df00004
Definition: functionals.h:357
Functional LDAFunctional
Definition: fun-gga.c:92
real df1100
Definition: functionals.h:137
static real pw92c_energy(const FunDensProp *dp)
Definition: fun-pw92c.c:154
static void cam_first_sigma(real rho, real ex, RGFirstDrv *ds, RGFirstDrv *res)
Definition: fun-cam.c:869
Functional Pw91cFunctional
Definition: fun-pw91c.c:109
real df1120
Definition: functionals.h:307
real gradab
Definition: functionals.h:378
real df0012
Definition: functionals.h:278
static real lda_energy(const FunDensProp *dp)
Definition: fun-gga.c:180
#define EXTERN_C
Definition: functionals.h:59
Functional KT2Functional
Definition: fun-gga.c:109
Functional * func
Definition: fun-cam.c:133
Functional OLYPFunctional
Definition: fun-gga.c:111
real df0110
Definition: functionals.h:238
static void cam_report(void)
Definition: fun-cam.c:391
static real cam_b_energy_large(real a)
Definition: fun-cam.c:625
Functional VWN5Functional
Definition: fun-vwn.c:79
real df00012
Definition: functionals.h:215
real df2011
Definition: functionals.h:298
real df0121
Definition: functionals.h:334
Functional KT1Functional
Definition: fun-gga.c:108
Functional PBEFunctional
Definition: fun-gga.c:113
Functional B3LYPFunctional
Definition: fun-gga.c:96
static void vwn_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:568
real df01101
Definition: functionals.h:271
static real cam_energy_sigma(real rho, real ex)
Definition: fun-cam.c:809
real df0201
Definition: functionals.h:199
real df11011
Definition: functionals.h:311
static real pbec_energy(const FunDensProp *dp)
Definition: fun-pbec.c:140
static void slater_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp *)
Definition: fun-slater.c:164
Functional KTFunctional
Definition: fun-kt.c:68
real df10001
Definition: functionals.h:140
real df10002
Definition: functionals.h:196
void elyp_(real *lyp, const real *rho, const real *rho13, const real *rhogrd)
real df00001
Definition: functionals.h:164
static real evaluate_series(int n, const real *coefs, real lambda)
Definition: fun-cam.c:689
real grada
Definition: functionals.h:377
real df00001
Definition: functionals.h:228
struct FunDensProp_ FunDensProp
Functional HseFunctional
Definition: fun-cam.c:119
void(* fun_set_cam_param)(real w, real b)
Definition: functionals.c:110
void(* SecondOrderFun)(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: functionals.h:393
static void pbex_third_helper(real rhoa, real grada, real *res)
Definition: fun-pbex.c:210
Functional VWNFunctional
Definition: fun-vwn.c:92
static int lb94_read(const char *conf_line)
Definition: fun-lb94.c:80
static int kt1_read(const char *conf_line)
Definition: fun-gga.c:348
static const real BECKE_THRESHOLD
Definition: fun-becke.c:91
real df00111
Definition: functionals.h:279
Functional BPW91Functional
Definition: fun-gga.c:105
real df0011
Definition: functionals.h:176
static int optx_isgga(void)
Definition: fun-optx.c:50
static void slater_first(FunFirstFuncDrv *ds, real fac, const FunDensProp *)
Definition: fun-slater.c:119
static void pw91x_second_helper(real rhoa, real grada, real *res)
Definition: fun-pw91x.c:230
Functional PbexFunctional
Definition: fun-pbex.c:81
Functional PW92cFunctional
Definition: fun-pw92c.c:131
real df00003
Definition: functionals.h:216
EXTERN_C void dftlistfuncs_(void)
Definition: functionals.c:173
Functional VWN5Functional
Definition: fun-vwn.c:79
static int vwn_isgga(void)
Definition: fun-vwn.c:45
#define LYP_WEIGHT
Definition: fun-cam.c:219
static int slater_read(const char *conf_line)
Definition: fun-slater.c:71
real df00011
Definition: functionals.h:149
static void vwni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1004
static void pw91x_first_helper(real rhoa, real grada, real *res)
Definition: fun-pw91x.c:168
real df12
Definition: fun-cam.c:69
real df2001
Definition: functionals.h:185
real df0002
Definition: functionals.h:244
real df10011
Definition: functionals.h:195
EXTERN_C void drv4_clear(FunFourthFuncDrv *gga)
Definition: functionals.c:148
static const struct vwn_params vwn_ferromagnetic
real df02
Definition: fun-cam.c:61
static void pz81a_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pz81.c:105
static int bhandhlyp_read(const char *conf_line)
Definition: fun-gga.c:288
real df0102
Definition: functionals.h:272
static real gga_energy(const FunDensProp *dp)
Definition: fun-gga.c:481
Functional XAlphaFunctional
Definition: fun-gga.c:91
real df0120
Definition: functionals.h:269
real df0021
Definition: functionals.h:276
static int optx_read(const char *conf_line)
Definition: fun-optx.c:75
real df0400
Definition: functionals.h:323
real df0300
Definition: functionals.h:265
real df1011
Definition: functionals.h:260
struct FunctionalList * next
Definition: fun-cam.c:135
FourthOrderFun fourth
Definition: functionals.h:413
static const real GAMMA
Definition: fun-optx.c:90
real df1100
Definition: functionals.h:233
real df01
Definition: fun-cam.c:61
static int test_first(const char *fun_name, EnergyFunc func, FirstOrderFun first_func)
Definition: fun-tester.cc:93
Functional Camb3lypFunctional
Definition: fun-cam.c:95
Functional BeckeFunctional
Definition: fun-becke.c:62
static real cam_b_third_medium(real a)
Definition: fun-cam.c:723
real df0001
Definition: functionals.h:134
static void pw92c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pw92c.c:237
static real lyp_energy(const FunDensProp *dp)
The LYP formulas are based on Miehlich et al.
Definition: fun-lyp.c:80
real df2100
Definition: functionals.h:251
real df1000
Definition: functionals.h:120
static void cam_second_sigma(real rho, real ex, RGSecondDrv *f2, RGSecondDrv *res)
Definition: fun-cam.c:939
real df1200
Definition: functionals.h:255
static void pbec_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pbec.c:430
real df0010
Definition: functionals.h:133
static int b3lypgauss_read(const char *conf_line)
Definition: fun-gga.c:248
#define THR
Definition: fun-cam.c:75
real df00011
Definition: functionals.h:179
Functional P86cFunctional
Definition: fun-p86c.c:89
real df1030
Definition: functionals.h:313
static void vwn_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:562
Functional LYPFunctional
Definition: fun-lyp.c:53
real gradb
Definition: functionals.h:377
Functional OPTXFunctional
Definition: fun-optx.c:60
static int becke_read(const char *conf_line)
Definition: fun-becke.c:77
Functional Pw91xFunctional
Definition: fun-pw91x.c:96
static real vwn3i_energy(const FunDensProp *dp)
Definition: fun-vwn.c:1022
real df03
Definition: fun-cam.c:69
static void cam_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-cam.c:1274
real df1111
Definition: functionals.h:308
static real spni_energy(const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:890
real df2000
Definition: functionals.h:136
Functional * func
Definition: fun-gga.c:119
real df0010
Definition: functionals.h:226
real df0010
Definition: functionals.h:162
real df00103
Definition: functionals.h:352
static void par_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro)
Definition: fun-vwn.c:409
real df2010
Definition: functionals.h:252
real df40
Definition: fun-cam.c:70
static real cam_b_first_large(real a)
Definition: fun-cam.c:641
Functional Camb3lypFunctional
Definition: fun-cam.c:95
int(* ReadInputFunc)(const char *conf_string)
Definition: functionals.h:387
static FuncList * add_functional(FuncList *lst, Functional *f, float weight)
Definition: fun-gga.c:138
real df0100
Definition: functionals.h:121
static void slater_third(FunThirdFuncDrv *ds, real fac, const FunDensProp *)
Definition: fun-slater.c:144
Functional BeckeFunctional
Definition: fun-becke.c:62
Functional SlaterFunctional
Definition: fun-slater.c:57
real df1001
Definition: functionals.h:139
static void set_hf_weight(real w)
Definition: functionals.c:102
Functional Pw91xFunctional
Definition: fun-pw91x.c:96
static void pbex_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-pbex.c:187
real df00022
Definition: functionals.h:355
real df00021
Definition: functionals.h:214
static void pw91x_third_helper(real rhoa, real grada, real *res)
Definition: fun-pw91x.c:334
static void pbex_second_helper(real rhoa, real grada, real *res)
Definition: fun-pbex.c:158
SecondOrderFun second
Definition: functionals.h:411
void drv2_clear(FunSecondFuncDrv *gga)
Definition: functionals.c:137
real df12001
Definition: functionals.h:306
static int test_third(const char *fname, SecondOrderFun second_fun, ThirdOrderFun third_fun)
Definition: fun-tester.cc:215
real df00031
Definition: functionals.h:354
real df10101
Definition: functionals.h:193
real df0200
Definition: functionals.h:237
real df1000
Definition: functionals.h:160
real df0220
Definition: functionals.h:327
real df10101
Definition: functionals.h:261
real df2110
Definition: functionals.h:294
real df1201
Definition: functionals.h:305
Functional B3PW91Functional
Definition: fun-gga.c:100
void(* FourthOrderFun)(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: functionals.h:398
real df0002
Definition: functionals.h:178
real df12
Definition: fun-cam.c:65
static int ldagauss_read(const char *conf_line)
Definition: fun-gga.c:214
real df0001
Definition: functionals.h:123
Functional PBE0Functional
Definition: fun-gga.c:112
real df10102
Definition: functionals.h:318
static real cam_b_first_medium(real a)
Definition: fun-cam.c:674
Functional LB94Functional
Definition: fun-lb94.c:64
Functional KTFunctional
Definition: fun-kt.c:68
static int b3pw91_read(const char *conf_line)
Definition: fun-gga.c:261
real df1010
Definition: functionals.h:234
static void vwn3_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:543
real df00211
Definition: functionals.h:347
Functional BP86Functional
Definition: fun-gga.c:104
static int pw86x_isgga(void)
Definition: fun-pw86x.c:45
Functional KT3Functional
Definition: fun-gga.c:110
real df0010
Definition: functionals.h:122
void evwn_(real *vwn, const real *rho, const real *rho13, const real *rhogrd)
static real pw91x_energy(const FunDensProp *dp)
Definition: fun-pw91x.c:119
static const real FOURTHREE
Definition: fun-vwn.c:165
static int pbe0_read(const char *conf_line)
Definition: fun-gga.c:409
real df03
Definition: fun-cam.c:65
int fun_get_cam_param(real *alpha, real *beta, real *mu)
Definition: fun-cam.c:1367
static int gga_isgga(void)
Definition: fun-gga.c:127
real df10001
Definition: functionals.h:236
real df01002
Definition: functionals.h:274
real df01
Definition: fun-cam.c:58
static real vwn3_energy(const FunDensProp *dp)
Definition: fun-vwn.c:525
static void vwn3i_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1040
real df01011
Definition: functionals.h:205
static int b3p86_read(const char *conf_line)
Definition: fun-gga.c:311