ergo
fun-vwn.c File Reference

implementation of VWN functional and its derivatives. More...

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

Classes

struct  vwn_params
 

Macros

#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 const struct vwn_params vwn_paramagnetic = { -0.1049800, 0.0621814, 3.72744, 12.9352 }
 
static const struct vwn_params vwn_ferromagnetic = { -0.3250000, 0.0310907, 7.06042, 18.0578 }
 
static const struct vwn_params vwn_interp = { -0.0047584,-0.0337737, 1.13107, 13.0045 }
 
static const struct vwn_params vwn3_paramagnetic = { -0.4092860, 0.0621814, 13.0720, 42.7198 }
 
static const struct vwn_params vwn3_ferromagnetic = { -0.7432940, 0.0310907, 20.1231, 101.578 }
 
static const real SPINPOLF = 1.92366105093154
 
static const real THREEFTHRD2 = 0.584822305543806
 
static const real FOURTHREE = 1.333333333333333
 

Detailed Description

implementation of VWN functional and its derivatives.

(c), Pawel Salek, pawsa.nosp@m.@the.nosp@m.ochem.nosp@m..kth.nosp@m..se, sep 2001, nov 2002

Macro Definition Documentation

◆ __CVERSION__

#define __CVERSION__

◆ VWN_ZERO

#define VWN_ZERO   1e-35

Function Documentation

◆ par_energy()

static real par_energy ( const FunDensProp dp,
const struct vwn_params para,
const struct vwn_params ferro 
)
static

◆ par_first()

static void par_first ( FunFirstFuncDrv ds,
real  factor,
const FunDensProp dp,
const struct vwn_params para,
const struct vwn_params ferro 
)
static

◆ par_second()

◆ par_third()

◆ spni_energy()

static real spni_energy ( const FunDensProp dp,
const struct vwn_params para,
const struct vwn_params ferro 
)
static

◆ spni_first()

static void spni_first ( FunFirstFuncDrv ds,
real  factor,
const FunDensProp dp,
const struct vwn_params para,
const struct vwn_params ferro 
)
static

◆ spni_second()

static void spni_second ( FunSecondFuncDrv ds,
real  factor,
const FunDensProp dp,
const struct vwn_params para,
const struct vwn_params ferro 
)
static

◆ vwn3_energy()

static real vwn3_energy ( const FunDensProp dp)
static

◆ vwn3_first()

static void vwn3_first ( FunFirstFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn3_second()

static void vwn3_second ( FunSecondFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn3_third()

static void vwn3_third ( FunThirdFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn3i_energy()

static real vwn3i_energy ( const FunDensProp dp)
static

◆ vwn3i_first()

static void vwn3i_first ( FunFirstFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn3i_second()

static void vwn3i_second ( FunSecondFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn3i_third()

static void vwn3i_third ( FunThirdFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

References fun_printf.

◆ vwn_en_pot()

static void vwn_en_pot ( real enpot,
real  rho,
int  order,
const struct vwn_params p 
)
static

◆ vwn_energy()

static real vwn_energy ( const FunDensProp dp)
static

◆ vwn_first()

static void vwn_first ( FunFirstFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn_fourth()

◆ vwn_isgga()

static int vwn_isgga ( void  )
static

◆ vwn_read()

static int vwn_read ( const char *  conf_line)
static

References fun_set_hf_weight.

◆ vwn_second()

static void vwn_second ( FunSecondFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwn_third()

static void vwn_third ( FunThirdFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwni_energy()

static real vwni_energy ( const FunDensProp dp)
static

◆ vwni_first()

static void vwni_first ( FunFirstFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwni_second()

static void vwni_second ( FunSecondFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

◆ vwni_third()

static void vwni_third ( FunThirdFuncDrv ds,
real  factor,
const FunDensProp dp 
)
static

References fun_printf.

Variable Documentation

◆ FOURTHREE

const real FOURTHREE = 1.333333333333333
static

◆ SPINPOLF

const real SPINPOLF = 1.92366105093154
static

◆ THREEFTHRD2

const real THREEFTHRD2 = 0.584822305543806
static

◆ vwn3_ferromagnetic

const struct vwn_params vwn3_ferromagnetic = { -0.7432940, 0.0310907, 20.1231, 101.578 }
static

◆ vwn3_paramagnetic

const struct vwn_params vwn3_paramagnetic = { -0.4092860, 0.0621814, 13.0720, 42.7198 }
static

◆ VWN3Functional

Functional VWN3Functional
Initial value:
= {
"VWN3",
NULL,
}
static void vwn3_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:531
static real vwn3_energy(const FunDensProp *dp)
Definition: fun-vwn.c:525
static void vwn3_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:537
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
static int vwn_isgga(void)
Definition: fun-vwn.c:45
static void vwn3_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:543

Referenced by b3p86g_read(), and ldagauss_read().

◆ VWN3IFunctional

Functional VWN3IFunctional
Initial value:
= {
"VWN3I",
NULL,
}
static void vwn3i_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1028
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
static int vwn_isgga(void)
Definition: fun-vwn.c:45
static void vwn3i_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1034
static void vwn3i_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1040
static real vwn3i_energy(const FunDensProp *dp)
Definition: fun-vwn.c:1022

Referenced by b3lypgauss_read().

◆ VWN5Functional

Functional VWN5Functional
Initial value:
= {
"VWN5",
NULL,
}
static void vwn_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:556
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
static real vwn_energy(const FunDensProp *dp)
Definition: fun-vwn.c:550
static void vwn_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:574
static int vwn_isgga(void)
Definition: fun-vwn.c:45
static void vwn_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:562
static void vwn_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:568

Referenced by lda_fourth(), lda_second(), and lda_third().

◆ vwn_ferromagnetic

const struct vwn_params vwn_ferromagnetic = { -0.3250000, 0.0310907, 7.06042, 18.0578 }
static

◆ vwn_interp

const struct vwn_params vwn_interp = { -0.0047584,-0.0337737, 1.13107, 13.0045 }
static

◆ vwn_paramagnetic

const struct vwn_params vwn_paramagnetic = { -0.1049800, 0.0621814, 3.72744, 12.9352 }
static

◆ VWNFunctional

Functional VWNFunctional
Initial value:
= {
"VWN",
NULL,
}
static void vwn_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:556
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
static real vwn_energy(const FunDensProp *dp)
Definition: fun-vwn.c:550
static void vwn_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:574
static int vwn_isgga(void)
Definition: fun-vwn.c:45
static void vwn_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:562
static void vwn_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:568

Referenced by b3lyp_read(), b3p86_read(), b3pw91_read(), camb3lyp_read(), kt1_read(), kt2_read(), lb94_energy(), lb94_first(), lb94_second(), lb94_third(), lda_energy(), and lda_first().

◆ VWNIFunctional

Functional VWNIFunctional
Initial value:
= {
"VWNI",
NULL,
}
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
static void vwni_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1016
static void vwni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1010
static int vwn_isgga(void)
Definition: fun-vwn.c:45
static real vwni_energy(const FunDensProp *dp)
Definition: fun-vwn.c:998
static void vwni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1004