Implementation of KT functional and its derivatives. More...
#include <math.h>
#include <stddef.h>
#include "functionals.h"
Defines | |
#define | FOURTH_ORDER_DERIVATIVES |
#define | __CVERSION__ |
Functions | |
static int | kt_isgga (void) |
static int | kt_read (const char *conf_line) |
static real | kt_energy (const FunDensProp *dens_prop) |
static void | kt_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
static void | kt_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
static void | kt_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
static void | kt_fourth (FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop) |
Variables | |
Functional | KTFunctional |
static const real | KT_THRESHOLD = 1e-14 |
static const real | DELTA = 0.1 |
Implementation of KT functional and its derivatives.
Or exactly: KT GGA correction to the functional for KT1,KT2 total functional energy is E_LDA+E_KT). Reference: Keal, Tozer, J. Chem. Phys., 119, 3015 (2003). GAMMA is included in the KTx definition in fun-gga.c implemented by Dave Wilson (davidwi@kjemi.uio.no) NOTE: this file may seem unnecessarily complex but the structure does pay off when implementing multiple functionals depending on different parameters.
#define __CVERSION__ |
#define FOURTH_ORDER_DERIVATIVES |
static real kt_energy | ( | const FunDensProp * | dens_prop | ) | [static] |
References DELTA, FunDensProp_::grada, FunDensProp_::gradb, KT_THRESHOLD, POW, FunDensProp_::rhoa, and FunDensProp_::rhob.
static void kt_first | ( | FunFirstFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
static void kt_fourth | ( | FunFourthFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
References DELTA, FunFourthFuncDrv::df0001, FunFourthFuncDrv::df0002, FunFourthFuncDrv::df0003, FunFourthFuncDrv::df0004, FunFourthFuncDrv::df0010, FunFourthFuncDrv::df0020, FunFourthFuncDrv::df0030, FunFourthFuncDrv::df0040, FunFourthFuncDrv::df0100, FunFourthFuncDrv::df0101, FunFourthFuncDrv::df0102, FunFourthFuncDrv::df0103, FunFourthFuncDrv::df0200, FunFourthFuncDrv::df0201, FunFourthFuncDrv::df0202, FunFourthFuncDrv::df0300, FunFourthFuncDrv::df0301, FunFourthFuncDrv::df0400, FunFourthFuncDrv::df1000, FunFourthFuncDrv::df1010, FunFourthFuncDrv::df1020, FunFourthFuncDrv::df1030, FunFourthFuncDrv::df2000, FunFourthFuncDrv::df2010, FunFourthFuncDrv::df2020, FunFourthFuncDrv::df3000, FunFourthFuncDrv::df3010, FunFourthFuncDrv::df4000, FunDensProp_::grada, FunDensProp_::gradb, KT_THRESHOLD, POW, FunDensProp_::rhoa, and FunDensProp_::rhob.
static int kt_isgga | ( | void | ) | [static] |
static int kt_read | ( | const char * | conf_line | ) | [static] |
References fun_set_hf_weight.
static void kt_second | ( | FunSecondFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
References DELTA, FunSecondFuncDrv::df0001, FunSecondFuncDrv::df0002, FunSecondFuncDrv::df0010, FunSecondFuncDrv::df0020, FunSecondFuncDrv::df0100, FunSecondFuncDrv::df0101, FunSecondFuncDrv::df0200, FunSecondFuncDrv::df1000, FunSecondFuncDrv::df1010, FunSecondFuncDrv::df2000, FunDensProp_::grada, FunDensProp_::gradb, KT_THRESHOLD, POW, FunDensProp_::rhoa, and FunDensProp_::rhob.
static void kt_third | ( | FunThirdFuncDrv * | ds, | |
real | factor, | |||
const FunDensProp * | dens_prop | |||
) | [static] |
References DELTA, 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, KT_THRESHOLD, POW, FunDensProp_::rhoa, and FunDensProp_::rhob.
Referenced by kt_energy(), kt_first(), kt_fourth(), kt_second(), and kt_third().
const real KT_THRESHOLD = 1e-14 [static] |
Referenced by kt_energy(), kt_first(), kt_fourth(), kt_second(), and kt_third().
Referenced by kt1_read(), kt2_read(), and kt3_read().