1(*
2 Copyright (C) 2017 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(* type: gga_exc *)
10(* prefix:
11  gga_c_pbe_params *params;
12
13  assert(p->params != NULL);
14  params = (gga_c_pbe_params * )(p->params);
15*)
16
17$define lda_c_pw_params
18$define lda_c_pw_modified_params
19$include "lda_c_pw.mpl"
20
21$ifdef gga_c_pbe_params
22params_a_beta  := 0.06672455060314922:
23params_a_gamma := (1 - log(2))/Pi^2:
24params_a_BB    := 1:
25$endif
26
27mgamma := params_a_gamma:
28mbeta  := (rs, t) -> params_a_beta:
29BB     := params_a_BB:
30
31tp   := (rs, z, xt) -> tt(rs, z, xt):
32
33(* Equation (8) *)
34A := (rs, z, t) ->
35  mbeta(rs, t)/(mgamma*(exp(-f_pw(rs, z)/(mgamma*mphi(z)^3)) - 1)):
36
37(* Equation (7) *)
38f1 := (rs, z, t) -> t^2 + BB*A(rs, z, t)*t^4:
39f2 := (rs, z, t) -> mbeta(rs, t)*f1(rs, z, t)/(mgamma*(1 + A(rs, z, t)*f1(rs, z, t))):
40
41fH := (rs, z, t) -> mgamma*mphi(z)^3*log(1 + f2(rs, z, t)):
42
43f_pbe  := (rs, z, xt, xs0, xs1) ->
44  f_pw(rs, z) + fH(rs, z, tp(rs, z, xt)):
45
46f  := (rs, z, xt, xs0, xs1) -> f_pbe(rs, z, xt, xs0, xs1):
47
48