1 /*
2  Copyright (C) 2014 Jess Wellendorff, M.A.L. Marques
3 
4  This Source Code Form is subject to the terms of the Mozilla Public
5  License, v. 2.0. If a copy of the MPL was not distributed with this
6  file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 */
8 
9 
10 #include "util.h"
11 
12 #define XC_GGA_X_BEEFVDW          285 /* BEEF-vdW exchange */
13 #define XC_GGA_XC_BEEFVDW         286 /* BEEF-vdW exchange-correlation */
14 
15 #include "decl_gga.h"
16 #include "maple2c/gga_exc/gga_x_beefvdw.c"
17 #include "work_gga.c"
18 
19 
20 #ifdef __cplusplus
21 extern "C"
22 #endif
23 const xc_func_info_type xc_func_info_gga_x_beefvdw = {
24   XC_GGA_X_BEEFVDW,
25   XC_EXCHANGE,
26   "BEEF-vdW exchange",
27   XC_FAMILY_GGA,
28   {&xc_ref_Wellendorff2012_235149, NULL, NULL, NULL, NULL},
29   XC_FLAGS_3D | MAPLE2C_FLAGS,
30   1e-24,
31   {0, NULL, NULL, NULL, NULL},
32   NULL, NULL,
33   NULL, work_gga, NULL,
34 };
35 
36 
37 void
gga_xc_beefvdw_init(xc_func_type * p)38 gga_xc_beefvdw_init(xc_func_type *p)
39 {
40   static int   funcs_id  [3] = {XC_GGA_X_BEEFVDW, XC_LDA_C_PW_MOD, XC_GGA_C_PBE};
41   static double funcs_coef[3] = {1.0, 0.6001664769, 1.0 - 0.6001664769};
42 
43   xc_mix_init(p, 3, funcs_id, funcs_coef);
44 }
45 
46 #ifdef __cplusplus
47 extern "C"
48 #endif
49 const xc_func_info_type xc_func_info_gga_xc_beefvdw = {
50   XC_GGA_XC_BEEFVDW,
51   XC_EXCHANGE_CORRELATION,
52   "BEEF-vdW exchange-correlation",
53   XC_FAMILY_GGA,
54   {&xc_ref_Wellendorff2012_235149, NULL, NULL, NULL, NULL},
55   XC_FLAGS_3D | MAPLE2C_FLAGS,
56   1e-12,
57   {0, NULL, NULL, NULL, NULL},
58   gga_xc_beefvdw_init, NULL,
59   NULL, NULL, NULL,
60 };
61