ergo
|
implementation of VWN functional and its derivatives. More...
Classes | |
struct | vwn_params |
Defines | |
#define | _XOPEN_SOURCE 600 |
#define | _XOPEN_SOURCE_EXTENDED 1 |
#define | __CVERSION__ |
#define | VWN_ZERO 1e-35 |
Functions | |
static int | vwn_isgga (void) |
static int | vwn_read (const char *conf_line) |
static real | vwn3_energy (const FunDensProp *dp) |
static void | vwn3_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn3_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn3_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) |
static real | vwn_energy (const FunDensProp *dp) |
static void | vwn_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn_fourth (FunFourthFuncDrv *ds, real factor, const FunDensProp *dp) |
static real | vwni_energy (const FunDensProp *dp) |
static void | vwni_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwni_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwni_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) |
static real | vwn3i_energy (const FunDensProp *dp) |
static void | vwn3i_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn3i_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn3i_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | vwn_en_pot (real *enpot, real rho, int order, const struct vwn_params *p) |
static real | par_energy (const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
static void | par_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
static void | par_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
static void | par_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
static real | spni_energy (const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
static void | spni_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
static void | spni_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp, const struct vwn_params *para, const struct vwn_params *ferro) |
Variables | |
Functional | VWN3Functional |
Functional | VWN5Functional |
Functional | VWNFunctional |
Functional | VWNIFunctional |
Functional | VWN3IFunctional |
static struct vwn_params | vwn_paramagnetic |
static struct vwn_params | vwn_ferromagnetic |
static struct vwn_params | vwn_interp |
static struct vwn_params | vwn3_paramagnetic |
static struct vwn_params | vwn3_ferromagnetic |
static const real | SPINPOLF = 1.92366105093154 |
static const real | THREEFTHRD2 = 0.584822305543806 |
static const real | FOURTHREE = 1.333333333333333 |
implementation of VWN functional and its derivatives.
(c), Pawel Salek, pawsa@theochem.kth.se, sep 2001, nov 2002
#define __CVERSION__ |
#define _XOPEN_SOURCE 600 |
#define _XOPEN_SOURCE_EXTENDED 1 |
#define VWN_ZERO 1e-35 |
Referenced by par_energy(), par_first(), par_third(), spni_energy(), and spni_first().
static real par_energy | ( | const FunDensProp * | dp, |
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, VWN_ZERO, vwn_en_pot(), FABS, vwn_interp, POW, SPINPOLF, FOURTHREE, and THREEFTHRD2.
Referenced by vwn3_energy(), and vwn_energy().
static void par_first | ( | FunFirstFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp, | ||
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, VWN_ZERO, vwn_en_pot(), FunFirstFuncDrv::df1000, FunFirstFuncDrv::df0100, FABS, POW, SPINPOLF, FOURTHREE, vwn_interp, and THREEFTHRD2.
Referenced by vwn3_first(), and vwn_first().
static void par_second | ( | FunSecondFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp, | ||
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, vwn_en_pot(), FunSecondFuncDrv::df1000, FunSecondFuncDrv::df0100, FunSecondFuncDrv::df2000, FunSecondFuncDrv::df0200, FunSecondFuncDrv::df1100, SPINPOLF, POW, FOURTHREE, vwn_interp, and THREEFTHRD2.
Referenced by vwn3_second(), and vwn_second().
static void par_third | ( | FunThirdFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp, | ||
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, VWN_ZERO, vwn_en_pot(), FunThirdFuncDrv::df1000, FunThirdFuncDrv::df0100, FunThirdFuncDrv::df2000, FunThirdFuncDrv::df0200, FunThirdFuncDrv::df1100, FunThirdFuncDrv::df3000, FunThirdFuncDrv::df2100, FunThirdFuncDrv::df1200, FunThirdFuncDrv::df0300, SPINPOLF, POW, FOURTHREE, vwn_interp, and THREEFTHRD2.
Referenced by vwn3_third(), and vwn_third().
static real spni_energy | ( | const FunDensProp * | dp, |
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, VWN_ZERO, vwn_en_pot(), FABS, vwn_interp, SPINPOLF, POW, and FOURTHREE.
Referenced by vwni_energy(), and vwn3i_energy().
static void spni_first | ( | FunFirstFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp, | ||
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, VWN_ZERO, vwn_en_pot(), FunFirstFuncDrv::df1000, FunFirstFuncDrv::df0100, SPINPOLF, POW, and FOURTHREE.
Referenced by vwni_first(), and vwn3i_first().
static void spni_second | ( | FunSecondFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp, | ||
const struct vwn_params * | para, | ||
const struct vwn_params * | ferro | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, vwn_en_pot(), FunSecondFuncDrv::df1000, FunSecondFuncDrv::df0100, FunSecondFuncDrv::df2000, FunSecondFuncDrv::df1100, FunSecondFuncDrv::df0200, SPINPOLF, POW, and FOURTHREE.
Referenced by vwni_second(), and vwn3i_second().
static real vwn3_energy | ( | const FunDensProp * | dp | ) | [static] |
References par_energy(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static void vwn3_first | ( | FunFirstFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References par_first(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static void vwn3_second | ( | FunSecondFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References par_second(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static void vwn3_third | ( | FunThirdFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References par_third(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static real vwn3i_energy | ( | const FunDensProp * | dp | ) | [static] |
References spni_energy(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static void vwn3i_first | ( | FunFirstFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References spni_first(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static void vwn3i_second | ( | FunSecondFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References spni_second(), vwn3_paramagnetic, and vwn3_ferromagnetic.
static void vwn3i_third | ( | FunThirdFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References fun_printf.
static void vwn_en_pot | ( | real * | enpot, |
real | rho, | ||
int | order, | ||
const struct vwn_params * | p | ||
) | [static] |
References vwn_params::A, vwn_params::B, vwn_params::C, vwn_params::X0, SQRT, POW, B, LOG, and ATAN.
Referenced by par_energy(), par_first(), par_second(), par_third(), vwn_fourth(), spni_energy(), spni_first(), and spni_second().
static real vwn_energy | ( | const FunDensProp * | dp | ) | [static] |
References par_energy(), vwn_paramagnetic, and vwn_ferromagnetic.
static void vwn_first | ( | FunFirstFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References par_first(), vwn_paramagnetic, and vwn_ferromagnetic.
static void vwn_fourth | ( | FunFourthFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References FunDensProp_::rhoa, FunDensProp_::rhob, vwn_en_pot(), vwn_paramagnetic, FunFourthFuncDrv::df1000, FunFourthFuncDrv::df0100, FunFourthFuncDrv::df2000, FunFourthFuncDrv::df0200, FunFourthFuncDrv::df1100, FunFourthFuncDrv::df3000, FunFourthFuncDrv::df2100, FunFourthFuncDrv::df1200, FunFourthFuncDrv::df0300, FunFourthFuncDrv::df4000, FunFourthFuncDrv::df3100, FunFourthFuncDrv::df2200, FunFourthFuncDrv::df1300, FunFourthFuncDrv::df0400, SPINPOLF, POW, FOURTHREE, vwn_ferromagnetic, vwn_interp, and THREEFTHRD2.
static int vwn_isgga | ( | void | ) | [static] |
static int vwn_read | ( | const char * | conf_line | ) | [static] |
References fun_set_hf_weight.
static void vwn_second | ( | FunSecondFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References par_second(), vwn_paramagnetic, and vwn_ferromagnetic.
static void vwn_third | ( | FunThirdFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References par_third(), vwn_paramagnetic, and vwn_ferromagnetic.
static real vwni_energy | ( | const FunDensProp * | dp | ) | [static] |
References spni_energy(), vwn_paramagnetic, and vwn_ferromagnetic.
static void vwni_first | ( | FunFirstFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References spni_first(), vwn_paramagnetic, and vwn_ferromagnetic.
static void vwni_second | ( | FunSecondFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References spni_second(), vwn_paramagnetic, and vwn_ferromagnetic.
static void vwni_third | ( | FunThirdFuncDrv * | ds, |
real | factor, | ||
const FunDensProp * | dp | ||
) | [static] |
References fun_printf.
Referenced by par_energy(), par_first(), par_second(), par_third(), vwn_fourth(), spni_energy(), spni_first(), and spni_second().
Referenced by par_energy(), par_first(), par_second(), par_third(), vwn_fourth(), spni_energy(), spni_first(), and spni_second().
const real THREEFTHRD2 = 0.584822305543806 [static] |
Referenced by par_energy(), par_first(), par_second(), par_third(), and vwn_fourth().
struct vwn_params
vwn3_ferromagnetic [static] |
Referenced by vwn3_energy(), vwn3_first(), vwn3_second(), vwn3_third(), vwn3i_energy(), vwn3i_first(), and vwn3i_second().
struct vwn_params
vwn3_paramagnetic [static] |
Referenced by vwn3_energy(), vwn3_first(), vwn3_second(), vwn3_third(), vwn3i_energy(), vwn3i_first(), and vwn3i_second().
{ "VWN3", vwn_isgga, vwn_read, NULL, vwn3_energy, vwn3_first, vwn3_second, vwn3_third }
Referenced by ldagauss_read(), and b3p86g_read().
{ "VWN3I", vwn_isgga, vwn_read, NULL, vwn3i_energy, vwn3i_first, vwn3i_second, vwn3i_third }
Referenced by b3lypgauss_read().
{ "VWN5", vwn_isgga, vwn_read, NULL, vwn_energy, vwn_first, vwn_second, vwn_third, vwn_fourth }
Referenced by lda_second(), lda_third(), and lda_fourth().
struct vwn_params
vwn_ferromagnetic [static] |
Referenced by vwn_energy(), vwn_first(), vwn_second(), vwn_third(), vwn_fourth(), vwni_energy(), vwni_first(), and vwni_second().
struct vwn_params
vwn_interp [static] |
Referenced by par_energy(), par_first(), par_second(), par_third(), vwn_fourth(), and spni_energy().
struct vwn_params vwn_paramagnetic [static] |
Referenced by vwn_energy(), vwn_first(), vwn_second(), vwn_third(), vwn_fourth(), vwni_energy(), vwni_first(), and vwni_second().
{ "VWN", vwn_isgga, vwn_read, NULL, vwn_energy, vwn_first, vwn_second, vwn_third, vwn_fourth }
Referenced by camb3lyp_read(), lda_energy(), lda_first(), b3lyp_read(), b3pw91_read(), b3p86_read(), kt1_read(), kt2_read(), lb94_energy(), lb94_first(), lb94_second(), and lb94_third().
{ "VWNI", vwn_isgga, vwn_read, NULL, vwni_energy, vwni_first, vwni_second, vwni_third }