implementation of Becke(88) functional and its derivatives. More...
#include <math.h>
#include <stddef.h>
#include "functionals.h"
Defines | |
#define | __CVERSION__ |
Functions | |
static int | becke_isgga (void) |
static int | becke_read (const char *conf_line) |
static real | becke_energy (const FunDensProp *dens_prop) |
static void | becke_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
static void | becke_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
static void | becke_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
static void | becke_fourth (FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
Variables | |
Functional | BeckeFunctional |
static const real | BECKE_THRESHOLD = 1e-14 |
static const real | BETA = 0.0042 |
implementation of Becke(88) functional and its derivatives.
or exactly: Becke GGA correction to the functional. (total Becke(88) energy is E_LDA+E_BCK). (c) Pawel Salek, pawsa@theochem.kth.se, aug 2001 Z. Rinkevicius adapted for open shell systems: energy, first derivatives. NOTE: this file may seem unnecessarily complex but the structure does pay off when implementing multiple functionals depending on different parameters.
#define __CVERSION__ |
static real becke_energy | ( | const FunDensProp * | dens_prop | ) | [static] |
References ASINH, BECKE_THRESHOLD, BETA, FunDensProp_::grada, FunDensProp_::gradb, POW, FunDensProp_::rhoa, and FunDensProp_::rhob.
static void becke_first | ( | FunFirstFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
static void becke_fourth | ( | FunFourthFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
References ASINH, B, BECKE_THRESHOLD, BETA, FunThirdFuncDrv::df0001, FunFourthFuncDrv::df0001, FunThirdFuncDrv::df0002, FunFourthFuncDrv::df0002, FunThirdFuncDrv::df0003, FunFourthFuncDrv::df0003, FunFourthFuncDrv::df0004, FunThirdFuncDrv::df0010, FunFourthFuncDrv::df0010, FunThirdFuncDrv::df0020, FunFourthFuncDrv::df0020, FunThirdFuncDrv::df0030, FunFourthFuncDrv::df0030, FunFourthFuncDrv::df0040, FunThirdFuncDrv::df0100, FunFourthFuncDrv::df0100, FunThirdFuncDrv::df0101, FunFourthFuncDrv::df0101, FunThirdFuncDrv::df0102, FunFourthFuncDrv::df0102, FunFourthFuncDrv::df0103, FunThirdFuncDrv::df0200, FunFourthFuncDrv::df0200, FunThirdFuncDrv::df0201, FunFourthFuncDrv::df0201, FunFourthFuncDrv::df0202, FunThirdFuncDrv::df0300, FunFourthFuncDrv::df0300, FunFourthFuncDrv::df0301, FunFourthFuncDrv::df0400, FunThirdFuncDrv::df1000, FunFourthFuncDrv::df1000, FunThirdFuncDrv::df1010, FunFourthFuncDrv::df1010, FunThirdFuncDrv::df1020, FunFourthFuncDrv::df1020, FunFourthFuncDrv::df1030, FunThirdFuncDrv::df2000, FunFourthFuncDrv::df2000, FunThirdFuncDrv::df2010, FunFourthFuncDrv::df2010, FunFourthFuncDrv::df2020, FunThirdFuncDrv::df3000, FunFourthFuncDrv::df3000, FunFourthFuncDrv::df3010, FunFourthFuncDrv::df4000, drv3_clear(), FunDensProp_::grada, FunDensProp_::gradb, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SQRT, and Functional_::third.
static int becke_isgga | ( | void | ) | [static] |
static int becke_read | ( | const char * | conf_line | ) | [static] |
References fun_set_hf_weight.
static void becke_second | ( | FunSecondFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
References ASINH, BECKE_THRESHOLD, BETA, FunSecondFuncDrv::df0001, FunSecondFuncDrv::df0002, FunSecondFuncDrv::df0010, FunSecondFuncDrv::df0020, FunSecondFuncDrv::df0100, FunSecondFuncDrv::df0101, FunSecondFuncDrv::df0200, FunSecondFuncDrv::df1000, FunSecondFuncDrv::df1010, FunSecondFuncDrv::df2000, FunDensProp_::grada, FunDensProp_::gradb, POW, FunDensProp_::rhoa, FunDensProp_::rhob, and SQRT.
static void becke_third | ( | FunThirdFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
References ASINH, BECKE_THRESHOLD, BETA, FunThirdFuncDrv::df0001, FunThirdFuncDrv::df0002, FunThirdFuncDrv::df0003, FunThirdFuncDrv::df0010, FunThirdFuncDrv::df0020, FunThirdFuncDrv::df0030, FunThirdFuncDrv::df0100, FunThirdFuncDrv::df0101, FunThirdFuncDrv::df0102, FunThirdFuncDrv::df0200, FunThirdFuncDrv::df0201, FunThirdFuncDrv::df0300, FunThirdFuncDrv::df1000, FunThirdFuncDrv::df1010, FunThirdFuncDrv::df1020, FunThirdFuncDrv::df2000, FunThirdFuncDrv::df2010, FunThirdFuncDrv::df3000, FunDensProp_::grada, FunDensProp_::gradb, POW, FunDensProp_::rhoa, FunDensProp_::rhob, and SQRT.
const real BECKE_THRESHOLD = 1e-14 [static] |
Referenced by becke_energy(), becke_first(), becke_fourth(), becke_second(), and becke_third().
{ "Becke", becke_isgga, becke_read, NULL, becke_energy, becke_first, becke_second, becke_third, becke_fourth }
Referenced by b3lyp_read(), b3lypgauss_read(), b3p86_read(), b3p86g_read(), b3pw91_read(), bhandhlyp_read(), blyp_read(), bp86_read(), bpw91_read(), and camb3lyp_read().
Referenced by becke_energy(), becke_first(), becke_fourth(), becke_second(), becke_third(), and benchmark_mm().