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
366extern int (*
fun_printf)(
const char *fmt, ...);
ergo_real real
Definition: test.cc:46
void(* FourthOrderFun)(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: functionals.h:398
Functional SlaterFunctional
Definition: fun-slater.c:57
EXTERN_C void dftlistfuncs_(void)
Definition: functionals.c:173
Functional OPTXFunctional
Definition: fun-optx.c:60
void(* fun_set_cam_param)(real w, real b)
Definition: functionals.c:110
real(* EnergyFunc)(const FunDensProp *dens_prop)
Definition: functionals.h:389
Functional * selected_func
Definition: functionals.c:106
Functional P86cFunctional
Definition: fun-p86c.c:89
Functional CombineFunctional
Definition: fun-gga.c:106
Functional BLYPFunctional
Definition: fun-gga.c:103
void(* fun_set_hf_weight)(real w)
Definition: functionals.c:108
Functional GGAKeyFunctional
Definition: fun-gga.c:107
Functional Pw91xFunctional
Definition: fun-pw91x.c:96
Functional * available_functionals[]
Definition: functionals.c:45
int(* ReadInputFunc)(const char *conf_string)
Definition: functionals.h:387
int dft_get_cam_param(real *alpha, real *beta, real *mu)
EXTERN_C void drv4_clear(FunFourthFuncDrv *gga)
Definition: functionals.c:148
int(* fun_printf)(const char *fmt,...)
Definition: functionals.c:107
Functional SVWN5Functional
Definition: fun-gga.c:94
Functional KT3Functional
Definition: fun-gga.c:110
EXTERN_C int fun_get_cam_param(real *alpha, real *beta, real *mu)
Definition: fun-cam.c:1367
Functional VWNFunctional
Definition: fun-vwn.c:92
Functional VWN5Functional
Definition: fun-vwn.c:79
void(* ReportFunc)(void)
Definition: functionals.h:388
Functional BP86Functional
Definition: fun-gga.c:104
Functional PW92cFunctional
Definition: fun-pw92c.c:131
void(* SecondOrderFun)(FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: functionals.h:393
Functional PbecFunctional
Definition: fun-pbec.c:119
int(* IsGGAFunc)(void)
Definition: functionals.h:386
Functional PW86xFunctional
Definition: fun-pw86x.c:50
Functional KTFunctional
Definition: fun-kt.c:68
Functional BPW91Functional
Definition: fun-gga.c:105
Functional KT1Functional
Definition: fun-gga.c:108
void(* ThirdOrderFun)(FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop)
Definition: functionals.h:396
Functional HseFunctional
Definition: fun-cam.c:119
real(* fun_get_hf_weight)(void)
Definition: functionals.c:109
void(* FirstOrderFun)(FunFirstFuncDrv *ds, real factor, const FunDensProp *dns_prp)
Definition: functionals.h:390
Functional VWN3Functional
Definition: fun-vwn.c:68
Functional LDAFunctional
Definition: fun-gga.c:92
Functional B3LYPFunctional
Definition: fun-gga.c:96
Functional XAlphaFunctional
Definition: fun-gga.c:91
EXTERN_C enum FunError fun_select_by_name(const char *conf_string)
Definition: functionals.c:114
EXTERN_C void dftlistfuncs_using_printf_(void)
Definition: functionals.c:182
Functional Camb3lypFunctional
Definition: fun-cam.c:95
Functional VWNIFunctional
Definition: fun-vwn.c:110
Functional B3P86Functional
Definition: fun-gga.c:98
ergo_real real
Definition: functionals.h:62
EXTERN_C void drv3_clear(FunThirdFuncDrv *gga)
Definition: functionals.c:143
Functional VWN3IFunctional
Definition: fun-vwn.c:127
EXTERN_C void dftreport_(void)
dftreport: report the selected functional and its configuration.
Definition: functionals.c:164
Functional Pw91cFunctional
Definition: fun-pw91c.c:109
Functional B3PW91Functional
Definition: fun-gga.c:100
struct FunDensProp_ FunDensProp
#define EXTERN_C
Definition: functionals.h:59
int dft_isgga__(void)
Definition: functionals.c:196
Functional LYPFunctional
Definition: fun-lyp.c:53
Functional OLYPFunctional
Definition: fun-gga.c:111
Functional CamFunctional
Definition: fun-cam.c:107
EXTERN_C void drv1_clear(FunFirstFuncDrv *gga)
Definition: functionals.c:131
Functional PZ81Functional
Definition: fun-pz81.c:49
EXTERN_C void drv2_clear(FunSecondFuncDrv *gga)
Definition: functionals.c:137
Functional BeckeFunctional
Definition: fun-becke.c:62
Functional PBE0Functional
Definition: fun-gga.c:112
int fun_true(void)
Definition: functionals.c:153
Functional B3LYPGaussFunctional
Definition: fun-gga.c:97
Functional KT2Functional
Definition: fun-gga.c:109
Functional PbexFunctional
Definition: fun-pbex.c:81
Functional B3P86GFunctional
Definition: fun-gga.c:99
Functional PBEFunctional
Definition: fun-gga.c:113
FunError
Definition: functionals.h:363
@ FUN_CONF_ERROR
Definition: functionals.h:363
@ FUN_UNKNOWN
Definition: functionals.h:363
@ FUN_OK
Definition: functionals.h:363
int dft_isgga_(void)
Definition: functionals.c:192
Functional BHandHLYPFunctional
Definition: fun-gga.c:102
Functional SVWN3Functional
Definition: fun-gga.c:95
int fun_false(void)
Definition: functionals.c:154
Functional LB94Functional
Definition: fun-lb94.c:64
Functional BHandHFunctional
Definition: fun-gga.c:101
Definition of the main floating-point datatype used; the ergo_real type.
double ergo_real
Definition: realtype.h:69
Definition: functionals.h:375
real rhob
Definition: functionals.h:376
real gradab
Definition: functionals.h:378
real rhoa
Definition: functionals.h:376
real gradb
Definition: functionals.h:377
real grada
Definition: functionals.h:377
Definition: functionals.h:119
real df0010
Definition: functionals.h:122
real df0100
Definition: functionals.h:121
real df00001
Definition: functionals.h:124
real df0001
Definition: functionals.h:123
real df1000
Definition: functionals.h:120
Definition: functionals.h:220
real df1110
Definition: functionals.h:256
real df11101
Definition: functionals.h:309
real df03001
Definition: functionals.h:326
real df01102
Definition: functionals.h:338
real df1300
Definition: functionals.h:303
real df11011
Definition: functionals.h:311
real df1030
Definition: functionals.h:313
real df1002
Definition: functionals.h:262
real df2011
Definition: functionals.h:298
real df20002
Definition: functionals.h:302
real df0003
Definition: functionals.h:281
real df00021
Definition: functionals.h:282
real df00002
Definition: functionals.h:246
real df0400
Definition: functionals.h:323
real df0220
Definition: functionals.h:327
real df0040
Definition: functionals.h:343
real df1010
Definition: functionals.h:234
real df00121
Definition: functionals.h:350
real df02001
Definition: functionals.h:268
real df1020
Definition: functionals.h:259
real df00111
Definition: functionals.h:279
real df01111
Definition: functionals.h:337
real df10102
Definition: functionals.h:318
real df2020
Definition: functionals.h:297
real df0031
Definition: functionals.h:344
real df0110
Definition: functionals.h:238
real df0201
Definition: functionals.h:267
real df3001
Definition: functionals.h:291
real df0022
Definition: functionals.h:346
real df1003
Definition: functionals.h:319
real df30001
Definition: functionals.h:292
real df00031
Definition: functionals.h:354
real df0202
Definition: functionals.h:330
real df0210
Definition: functionals.h:266
real df2100
Definition: functionals.h:251
real df3000
Definition: functionals.h:250
real df00022
Definition: functionals.h:355
real df1120
Definition: functionals.h:307
real df00001
Definition: functionals.h:228
real df4000
Definition: functionals.h:288
real df0013
Definition: functionals.h:349
real df11002
Definition: functionals.h:312
real df00013
Definition: functionals.h:356
real df0021
Definition: functionals.h:276
real df12001
Definition: functionals.h:306
real df10003
Definition: functionals.h:322
real df1012
Definition: functionals.h:316
real df00003
Definition: functionals.h:284
real df0301
Definition: functionals.h:325
real df00102
Definition: functionals.h:280
real df0101
Definition: functionals.h:239
real df10012
Definition: functionals.h:321
real df02002
Definition: functionals.h:332
real df0010
Definition: functionals.h:226
real df01201
Definition: functionals.h:335
real df00011
Definition: functionals.h:245
real df0012
Definition: functionals.h:278
real df0020
Definition: functionals.h:241
real df0111
Definition: functionals.h:270
real df1101
Definition: functionals.h:257
real df00004
Definition: functionals.h:357
real df2200
Definition: functionals.h:293
real df10101
Definition: functionals.h:261
real df20001
Definition: functionals.h:254
real df0130
Definition: functionals.h:333
real df01003
Definition: functionals.h:342
real df10201
Definition: functionals.h:315
real df2000
Definition: functionals.h:232
real df1001
Definition: functionals.h:235
real df0030
Definition: functionals.h:275
real df1100
Definition: functionals.h:233
real df3010
Definition: functionals.h:290
real df10011
Definition: functionals.h:263
real df1210
Definition: functionals.h:304
real df21001
Definition: functionals.h:296
real df00202
Definition: functionals.h:348
real df01001
Definition: functionals.h:240
real df1201
Definition: functionals.h:305
real df1021
Definition: functionals.h:314
real df01101
Definition: functionals.h:271
real df0112
Definition: functionals.h:336
real df00101
Definition: functionals.h:243
real df02101
Definition: functionals.h:329
real df0002
Definition: functionals.h:244
real df00211
Definition: functionals.h:347
real df01012
Definition: functionals.h:341
real df0100
Definition: functionals.h:225
real df11001
Definition: functionals.h:258
real df0211
Definition: functionals.h:328
real df00301
Definition: functionals.h:345
real df10021
Definition: functionals.h:320
real df10111
Definition: functionals.h:317
real df1200
Definition: functionals.h:255
real df0300
Definition: functionals.h:265
real df0121
Definition: functionals.h:334
real df00103
Definition: functionals.h:352
real df01011
Definition: functionals.h:273
real df1011
Definition: functionals.h:260
real df0310
Definition: functionals.h:324
real df2110
Definition: functionals.h:294
real df01021
Definition: functionals.h:340
real df02011
Definition: functionals.h:331
real df20101
Definition: functionals.h:299
real df2101
Definition: functionals.h:295
real df0120
Definition: functionals.h:269
real df1102
Definition: functionals.h:310
real df1000
Definition: functionals.h:224
real df10001
Definition: functionals.h:236
real df00201
Definition: functionals.h:277
real df10002
Definition: functionals.h:264
real df0004
Definition: functionals.h:353
real df2001
Definition: functionals.h:253
real df00112
Definition: functionals.h:351
real df1111
Definition: functionals.h:308
real df0102
Definition: functionals.h:272
real df20011
Definition: functionals.h:301
real df2010
Definition: functionals.h:252
real df3100
Definition: functionals.h:289
real df01002
Definition: functionals.h:274
real df0001
Definition: functionals.h:227
real df2002
Definition: functionals.h:300
real df0103
Definition: functionals.h:339
real df00012
Definition: functionals.h:283
real df0200
Definition: functionals.h:237
real df0011
Definition: functionals.h:242
Definition: functionals.h:130
real df1100
Definition: functionals.h:137
real df0010
Definition: functionals.h:133
real df1001
Definition: functionals.h:139
real df0001
Definition: functionals.h:134
real df0110
Definition: functionals.h:142
real df2000
Definition: functionals.h:136
real df0020
Definition: functionals.h:145
real df0011
Definition: functionals.h:146
real df1000
Definition: functionals.h:131
real df0002
Definition: functionals.h:148
real df0200
Definition: functionals.h:141
real df01001
Definition: functionals.h:144
real df00101
Definition: functionals.h:147
real df10001
Definition: functionals.h:140
real df00002
Definition: functionals.h:150
real df1010
Definition: functionals.h:138
real df00001
Definition: functionals.h:135
real df0101
Definition: functionals.h:143
real df00011
Definition: functionals.h:149
real df0100
Definition: functionals.h:132
Definition: functionals.h:159
real df00201
Definition: functionals.h:209
real df0021
Definition: functionals.h:208
real df0120
Definition: functionals.h:201
real df2010
Definition: functionals.h:184
real df0111
Definition: functionals.h:202
real df0101
Definition: functionals.h:173
real df1001
Definition: functionals.h:169
real df01001
Definition: functionals.h:174
real df01101
Definition: functionals.h:203
real df00011
Definition: functionals.h:179
real df0200
Definition: functionals.h:171
real df1000
Definition: functionals.h:160
real df1002
Definition: functionals.h:194
real df02001
Definition: functionals.h:200
real df0012
Definition: functionals.h:210
real df00111
Definition: functionals.h:211
real df10001
Definition: functionals.h:170
real df1101
Definition: functionals.h:189
real df0030
Definition: functionals.h:207
real df10101
Definition: functionals.h:193
real df00101
Definition: functionals.h:177
real df0110
Definition: functionals.h:172
real df2001
Definition: functionals.h:185
real df0100
Definition: functionals.h:161
real df0001
Definition: functionals.h:163
real df00012
Definition: functionals.h:215
real df3000
Definition: functionals.h:182
real df1100
Definition: functionals.h:167
real df00102
Definition: functionals.h:212
real df01011
Definition: functionals.h:205
real df10002
Definition: functionals.h:196
real df2000
Definition: functionals.h:166
real df1010
Definition: functionals.h:168
real df0011
Definition: functionals.h:176
real df01002
Definition: functionals.h:206
real df00003
Definition: functionals.h:216
real df1020
Definition: functionals.h:191
real df00021
Definition: functionals.h:214
real df0102
Definition: functionals.h:204
real df2100
Definition: functionals.h:183
real df1011
Definition: functionals.h:192
real df0002
Definition: functionals.h:178
real df0210
Definition: functionals.h:198
real df00002
Definition: functionals.h:180
real df0201
Definition: functionals.h:199
real df0003
Definition: functionals.h:213
real df0020
Definition: functionals.h:175
real df1110
Definition: functionals.h:188
real df0010
Definition: functionals.h:162
real df11001
Definition: functionals.h:190
real df20001
Definition: functionals.h:186
real df00001
Definition: functionals.h:164
real df10011
Definition: functionals.h:195
real df0300
Definition: functionals.h:197
real df1200
Definition: functionals.h:187
Definition: functionals.h:401
FirstOrderFun first
Definition: functionals.h:410
EnergyFunc func
Definition: functionals.h:409
ReadInputFunc read
Definition: functionals.h:404
SecondOrderFun second
Definition: functionals.h:411
const char * name
Definition: functionals.h:402
IsGGAFunc is_gga
Definition: functionals.h:403
FourthOrderFun fourth
Definition: functionals.h:413
ThirdOrderFun third
Definition: functionals.h:412
ReportFunc report
Definition: functionals.h:405