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