ergo
fun-vwn.c File Reference
#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:

Referenced by b3p86g_read(), and ldagauss_read().

◆ VWN3IFunctional

Functional VWN3IFunctional
Initial value:

Referenced by b3lypgauss_read().

◆ VWN5Functional

Functional VWN5Functional
Initial value:

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

◆ VWNIFunctional

Functional VWNIFunctional
Initial value:
vwn3_first
static void vwn3_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:531
vwn3_second
static void vwn3_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:537
vwn_first
static void vwn_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:556
vwn3i_first
static void vwn3i_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1028
vwn_read
static int vwn_read(const char *conf_line)
Definition: fun-vwn.c:143
vwn_fourth
static void vwn_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:574
vwn_energy
static real vwn_energy(const FunDensProp *dp)
Definition: fun-vwn.c:550
vwni_second
static void vwni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1010
vwni_third
static void vwni_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1016
vwni_energy
static real vwni_energy(const FunDensProp *dp)
Definition: fun-vwn.c:998
vwn3i_second
static void vwn3i_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1034
vwn_third
static void vwn_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:568
vwn_isgga
static int vwn_isgga(void)
Definition: fun-vwn.c:45
vwni_first
static void vwni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1004
vwn_second
static void vwn_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:562
vwn3i_energy
static real vwn3i_energy(const FunDensProp *dp)
Definition: fun-vwn.c:1022
vwn3_third
static void vwn3_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:543
vwn3_energy
static real vwn3_energy(const FunDensProp *dp)
Definition: fun-vwn.c:525
vwn3i_third
static void vwn3i_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp)
Definition: fun-vwn.c:1040