ergo
fun-lyp.c File Reference

Implementation of LYP functional and its derivatives. More...

#include <math.h>
#include <stddef.h>
#include "functionals.h"

Macros

#define _XOPEN_SOURCE   600
 
#define _XOPEN_SOURCE_EXTENDED   1
 
#define __CVERSION__
 

Functions

static int lyp_isgga (void)
 
static int lyp_read (const char *conf_line)
 
static real lyp_energy (const FunDensProp *dp)
 The LYP formulas are based on Miehlich et al. More...
 
static void lyp_first (FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void lyp_second (FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void lyp_third (FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void lyp_fourth (FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
 

Variables

Functional LYPFunctional
 

Detailed Description

Implementation of LYP functional and its derivatives.

(c) Pawel Salek, pawsa.nosp@m.@the.nosp@m.ochem.nosp@m..kth.nosp@m..se, oct 2001 Z. Rinkevicius modification for open-shell, general 5 variables formalism.

Macro Definition Documentation

#define __CVERSION__
#define _XOPEN_SOURCE   600
#define _XOPEN_SOURCE_EXTENDED   1

Function Documentation

static real lyp_energy ( const FunDensProp dp)
static

The LYP formulas are based on Miehlich et al.

article (CPL 157, p. 200, 1989). The implementation works also for unrestricted case (which is more important than you think).

References A, B, EXP, FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, POW, FunDensProp_::rhoa, and FunDensProp_::rhob.

static void lyp_fourth ( FunFourthFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static

References FunThirdFuncDrv::df00001, FunFourthFuncDrv::df00001, FunThirdFuncDrv::df0001, FunFourthFuncDrv::df0001, FunThirdFuncDrv::df0002, FunFourthFuncDrv::df0002, FunThirdFuncDrv::df0010, FunFourthFuncDrv::df0010, FunThirdFuncDrv::df0020, FunFourthFuncDrv::df0020, FunThirdFuncDrv::df0100, FunFourthFuncDrv::df0100, FunThirdFuncDrv::df01001, FunFourthFuncDrv::df01001, FunThirdFuncDrv::df0101, FunFourthFuncDrv::df0101, FunThirdFuncDrv::df0102, FunFourthFuncDrv::df0102, FunThirdFuncDrv::df0110, FunFourthFuncDrv::df0110, FunThirdFuncDrv::df0120, FunFourthFuncDrv::df0120, FunThirdFuncDrv::df0200, FunFourthFuncDrv::df0200, FunThirdFuncDrv::df02001, FunFourthFuncDrv::df02001, FunThirdFuncDrv::df0201, FunFourthFuncDrv::df0201, FunFourthFuncDrv::df0202, FunThirdFuncDrv::df0210, FunFourthFuncDrv::df0210, FunFourthFuncDrv::df0220, FunThirdFuncDrv::df0300, FunFourthFuncDrv::df0300, FunFourthFuncDrv::df03001, FunFourthFuncDrv::df0301, FunFourthFuncDrv::df0310, FunFourthFuncDrv::df0400, FunThirdFuncDrv::df1000, FunFourthFuncDrv::df1000, FunThirdFuncDrv::df10001, FunFourthFuncDrv::df10001, FunThirdFuncDrv::df1001, FunFourthFuncDrv::df1001, FunThirdFuncDrv::df1002, FunFourthFuncDrv::df1002, FunThirdFuncDrv::df1010, FunFourthFuncDrv::df1010, FunThirdFuncDrv::df1020, FunFourthFuncDrv::df1020, FunThirdFuncDrv::df1100, FunFourthFuncDrv::df1100, FunThirdFuncDrv::df11001, FunFourthFuncDrv::df11001, FunThirdFuncDrv::df1101, FunFourthFuncDrv::df1101, FunFourthFuncDrv::df1102, FunThirdFuncDrv::df1110, FunFourthFuncDrv::df1110, FunFourthFuncDrv::df1120, FunThirdFuncDrv::df1200, FunFourthFuncDrv::df1200, FunFourthFuncDrv::df12001, FunFourthFuncDrv::df1201, FunFourthFuncDrv::df1210, FunFourthFuncDrv::df1300, FunThirdFuncDrv::df2000, FunFourthFuncDrv::df2000, FunThirdFuncDrv::df20001, FunFourthFuncDrv::df20001, FunThirdFuncDrv::df2001, FunFourthFuncDrv::df2001, FunFourthFuncDrv::df2002, FunThirdFuncDrv::df2010, FunFourthFuncDrv::df2010, FunFourthFuncDrv::df2020, FunThirdFuncDrv::df2100, FunFourthFuncDrv::df2100, FunFourthFuncDrv::df21001, FunFourthFuncDrv::df2101, FunFourthFuncDrv::df2110, FunFourthFuncDrv::df2200, FunThirdFuncDrv::df3000, FunFourthFuncDrv::df3000, FunFourthFuncDrv::df30001, FunFourthFuncDrv::df3001, FunFourthFuncDrv::df3010, FunFourthFuncDrv::df3100, FunFourthFuncDrv::df4000, drv3_clear(), EXP, FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, POW, FunDensProp_::rhoa, FunDensProp_::rhob, and Functional_::third.

static int lyp_isgga ( void  )
static
static int lyp_read ( const char *  conf_line)
static

References fun_set_hf_weight.

Variable Documentation

Functional LYPFunctional
Initial value:
= {
"LYP",
NULL,
}
static void lyp_second(FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:212
static void lyp_first(FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:127
static int lyp_isgga(void)
Definition: fun-lyp.c:48
static void lyp_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:702
static void lyp_third(FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
Definition: fun-lyp.c:388
static int lyp_read(const char *conf_line)
Definition: fun-lyp.c:70
static real lyp_energy(const FunDensProp *dp)
The LYP formulas are based on Miehlich et al.
Definition: fun-lyp.c:83

Referenced by b3lyp_read(), b3lypgauss_read(), bhandh_read(), bhandhlyp_read(), blyp_read(), camb3lyp_read(), kt3_read(), and olyp_read().