implementation of VWN functional and its derivatives. More...
#include <math.h>#include <stddef.h>#include <stdlib.h>#include "functionals.h"Classes | |
| struct | vwn_params |
Defines | |
| #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 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 FABS, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, THREEFTHRD2, vwn_en_pot(), vwn_interp, and VWN_ZERO.
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 FunFirstFuncDrv::df0100, FunFirstFuncDrv::df1000, FABS, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, THREEFTHRD2, vwn_en_pot(), vwn_interp, and VWN_ZERO.
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 FunSecondFuncDrv::df0100, FunSecondFuncDrv::df0200, FunSecondFuncDrv::df1000, FunSecondFuncDrv::df1100, FunSecondFuncDrv::df2000, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, THREEFTHRD2, vwn_en_pot(), and vwn_interp.
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 FunThirdFuncDrv::df0100, FunThirdFuncDrv::df0200, FunThirdFuncDrv::df0300, FunThirdFuncDrv::df1000, FunThirdFuncDrv::df1100, FunThirdFuncDrv::df1200, FunThirdFuncDrv::df2000, FunThirdFuncDrv::df2100, FunThirdFuncDrv::df3000, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, THREEFTHRD2, vwn_en_pot(), vwn_interp, and VWN_ZERO.
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 FABS, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, vwn_en_pot(), vwn_interp, and VWN_ZERO.
Referenced by vwn3i_energy(), and vwni_energy().
| static void spni_first | ( | FunFirstFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp, | |||
| const struct vwn_params * | para, | |||
| const struct vwn_params * | ferro | |||
| ) | [static] |
References FunFirstFuncDrv::df0100, FunFirstFuncDrv::df1000, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, vwn_en_pot(), and VWN_ZERO.
Referenced by vwn3i_first(), and vwni_first().
| static void spni_second | ( | FunSecondFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp, | |||
| const struct vwn_params * | para, | |||
| const struct vwn_params * | ferro | |||
| ) | [static] |
References FunSecondFuncDrv::df0100, FunSecondFuncDrv::df0200, FunSecondFuncDrv::df1000, FunSecondFuncDrv::df1100, FunSecondFuncDrv::df2000, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, and vwn_en_pot().
Referenced by vwn3i_second(), and vwni_second().
| static real vwn3_energy | ( | const FunDensProp * | dp | ) | [static] |
References par_energy(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| static void vwn3_first | ( | FunFirstFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References par_first(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| static void vwn3_second | ( | FunSecondFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References par_second(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| static void vwn3_third | ( | FunThirdFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References par_third(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| static real vwn3i_energy | ( | const FunDensProp * | dp | ) | [static] |
References spni_energy(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| static void vwn3i_first | ( | FunFirstFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References spni_first(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| static void vwn3i_second | ( | FunSecondFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References spni_second(), vwn3_ferromagnetic, and vwn3_paramagnetic.
| 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, ATAN, B, vwn_params::B, vwn_params::C, LOG, POW, SQRT, and vwn_params::X0.
Referenced by par_energy(), par_first(), par_second(), par_third(), spni_energy(), spni_first(), spni_second(), and vwn_fourth().
| static real vwn_energy | ( | const FunDensProp * | dp | ) | [static] |
References par_energy(), vwn_ferromagnetic, and vwn_paramagnetic.
| static void vwn_first | ( | FunFirstFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References par_first(), vwn_ferromagnetic, and vwn_paramagnetic.
| static void vwn_fourth | ( | FunFourthFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References FunFourthFuncDrv::df0100, FunFourthFuncDrv::df0200, FunFourthFuncDrv::df0300, FunFourthFuncDrv::df0400, FunFourthFuncDrv::df1000, FunFourthFuncDrv::df1100, FunFourthFuncDrv::df1200, FunFourthFuncDrv::df1300, FunFourthFuncDrv::df2000, FunFourthFuncDrv::df2100, FunFourthFuncDrv::df2200, FunFourthFuncDrv::df3000, FunFourthFuncDrv::df3100, FunFourthFuncDrv::df4000, FOURTHREE, POW, FunDensProp_::rhoa, FunDensProp_::rhob, SPINPOLF, THREEFTHRD2, vwn_en_pot(), vwn_ferromagnetic, vwn_interp, and vwn_paramagnetic.
| 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_ferromagnetic, and vwn_paramagnetic.
| static void vwn_third | ( | FunThirdFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References par_third(), vwn_ferromagnetic, and vwn_paramagnetic.
| static real vwni_energy | ( | const FunDensProp * | dp | ) | [static] |
References spni_energy(), vwn_ferromagnetic, and vwn_paramagnetic.
| static void vwni_first | ( | FunFirstFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References spni_first(), vwn_ferromagnetic, and vwn_paramagnetic.
| static void vwni_second | ( | FunSecondFuncDrv * | ds, | |
| real | factor, | |||
| const FunDensProp * | dp | |||
| ) | [static] |
References spni_second(), vwn_ferromagnetic, and vwn_paramagnetic.
| 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(), spni_energy(), spni_first(), spni_second(), and vwn_fourth().
Referenced by par_energy(), par_first(), par_second(), par_third(), spni_energy(), spni_first(), spni_second(), and vwn_fourth().
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 b3p86g_read(), and ldagauss_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_fourth(), lda_second(), and lda_third().
struct vwn_params
vwn_ferromagnetic [static] |
Referenced by vwn_energy(), vwn_first(), vwn_fourth(), vwn_second(), vwn_third(), vwni_energy(), vwni_first(), and vwni_second().
struct vwn_params
vwn_interp [static] |
Referenced by par_energy(), par_first(), par_second(), par_third(), spni_energy(), and vwn_fourth().
struct vwn_params vwn_paramagnetic [static] |
Referenced by vwn_energy(), vwn_first(), vwn_fourth(), vwn_second(), vwn_third(), 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 b3lyp_read(), b3p86_read(), b3pw91_read(), camb3lyp_read(), kt1_read(), kt2_read(), lb94_energy(), lb94_first(), lb94_fourth(), lb94_second(), lb94_third(), lda_energy(), and lda_first().
{
"VWNI",
vwn_isgga,
vwn_read,
NULL,
vwni_energy,
vwni_first,
vwni_second,
vwni_third
}
1.6.1