ergo
fun-gga.c File Reference

Implementation of a functional being a linear combination of other functionals. More...

#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "functionals.h"

Classes

struct  FuncList_
 

Macros

#define _XOPEN_SOURCE   500
 
#define _XOPEN_SOURCE_EXTENDED   1
 
#define _BSD_SOURCE   1
 
#define __CVERSION__
 
#define LDA_FUNCTIONAL(name, read)
 
#define GGA_FUNCTIONAL(name, read)
 

Typedefs

typedef struct FuncList_ FuncList
 

Functions

static int lda_read (const char *conf_line)
 
static real lda_energy (const FunDensProp *dp)
 
static void lda_first (FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void lda_second (FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void lda_third (FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void lda_fourth (FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
 
static int ldagauss_read (const char *conf_line)
 
static int blyp_read (const char *conf_line)
 
static int b3lyp_read (const char *conf_line)
 
static int b3lypgauss_read (const char *conf_line)
 
static int b3pw91_read (const char *conf_line)
 
static int bhandh_read (const char *conf_line)
 
static int bhandhlyp_read (const char *conf_line)
 
static int bp86_read (const char *conf_line)
 
static int bpw91_read (const char *conf_line)
 
static int b3p86_read (const char *conf_line)
 
static int b3p86g_read (const char *conf_line)
 
static int kt1_read (const char *conf_line)
 
static int kt2_read (const char *conf_line)
 
static int kt3_read (const char *conf_line)
 
static int olyp_read (const char *conf_line)
 
static int pbe_read (const char *conf_line)
 
static int pbe0_read (const char *conf_line)
 
static int gga_isgga (void)
 
static int xalpha_read (const char *conf_line)
 
static int combine_read (const char *conf_line)
 
static void gga_report (void)
 
static real gga_energy (const FunDensProp *dp)
 
static void gga_first (FunFirstFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void gga_second (FunSecondFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void gga_third (FunThirdFuncDrv *ds, real fac, const FunDensProp *dp)
 
static void gga_fourth (FunFourthFuncDrv *ds, real fac, const FunDensProp *dp)
 
static FuncListadd_functional (FuncList *lst, Functional *f, float weight)
 
static void free_functionals (FuncList **lst)
 

Variables

Functional XAlphaFunctional = GGA_FUNCTIONAL("XAlpha", xalpha_read)
 
Functional LDAFunctional = LDA_FUNCTIONAL("LDA", lda_read)
 
Functional SVWN5Functional = LDA_FUNCTIONAL("SVWN5", lda_read)
 
Functional SVWN3Functional = GGA_FUNCTIONAL("SVWN3", ldagauss_read)
 
Functional B3LYPFunctional = GGA_FUNCTIONAL("B3LYP", b3lyp_read)
 
Functional B3LYPGaussFunctional = GGA_FUNCTIONAL("B3LYP-G", b3lypgauss_read)
 
Functional B3P86Functional = GGA_FUNCTIONAL("B3P86", b3p86_read)
 
Functional B3P86GFunctional = GGA_FUNCTIONAL("B3P86-G", b3p86g_read)
 
Functional B3PW91Functional = GGA_FUNCTIONAL("B3PW91", b3pw91_read)
 
Functional BHandHFunctional = GGA_FUNCTIONAL("BHandH", bhandh_read)
 
Functional BHandHLYPFunctional = GGA_FUNCTIONAL("BHandHLYP", bhandhlyp_read)
 
Functional BLYPFunctional = GGA_FUNCTIONAL("BLYP", blyp_read)
 
Functional BP86Functional = GGA_FUNCTIONAL("BP86", bp86_read)
 
Functional BPW91Functional = GGA_FUNCTIONAL("BPW91", bpw91_read)
 
Functional CombineFunctional =GGA_FUNCTIONAL("Combine", combine_read)
 
Functional GGAKeyFunctional = GGA_FUNCTIONAL("GGAKey", combine_read)
 
Functional KT1Functional = GGA_FUNCTIONAL("KT1", kt1_read)
 
Functional KT2Functional = GGA_FUNCTIONAL("KT2", kt2_read)
 
Functional KT3Functional = GGA_FUNCTIONAL("KT3", kt3_read)
 
Functional OLYPFunctional = GGA_FUNCTIONAL("OLYP" , olyp_read)
 
Functional PBE0Functional = GGA_FUNCTIONAL("PBE0", pbe0_read)
 
Functional PBEFunctional = GGA_FUNCTIONAL("PBE", pbe_read)
 
FuncListgga_fun_list = NULL
 

Detailed Description

Implementation of a functional being a linear combination of other functionals.

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

Macro Definition Documentation

#define __CVERSION__
#define _BSD_SOURCE   1
#define _XOPEN_SOURCE   500
#define _XOPEN_SOURCE_EXTENDED   1
#define GGA_FUNCTIONAL (   name,
  read 
)
Value:
{ (name), \
gga_third, gga_fourth }
#define LDA_FUNCTIONAL (   name,
  read 
)
Value:
{ (name), \
lda_third, lda_fourth }

Typedef Documentation

typedef struct FuncList_ FuncList

Function Documentation

static int b3lyp_read ( const char *  conf_line)
static
static int b3lypgauss_read ( const char *  conf_line)
static
static int b3p86_read ( const char *  conf_line)
static
static int b3p86g_read ( const char *  conf_line)
static
static int b3pw91_read ( const char *  conf_line)
static
static int bhandh_read ( const char *  conf_line)
static
static int bhandhlyp_read ( const char *  conf_line)
static
static int blyp_read ( const char *  conf_line)
static
static int bp86_read ( const char *  conf_line)
static
static int bpw91_read ( const char *  conf_line)
static
static int combine_read ( const char *  conf_line)
static
static real gga_energy ( const FunDensProp dp)
static
static void gga_first ( FunFirstFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static void gga_fourth ( FunFourthFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static int gga_isgga ( void  )
static
static void gga_report ( void  )
static
static void gga_second ( FunSecondFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static void gga_third ( FunThirdFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static int kt1_read ( const char *  conf_line)
static
static int kt2_read ( const char *  conf_line)
static
static int kt3_read ( const char *  conf_line)
static
static real lda_energy ( const FunDensProp dp)
static
static void lda_first ( FunFirstFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static void lda_fourth ( FunFourthFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static int lda_read ( const char *  conf_line)
static

References fun_set_hf_weight.

static void lda_second ( FunSecondFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static void lda_third ( FunThirdFuncDrv ds,
real  fac,
const FunDensProp dp 
)
static
static int ldagauss_read ( const char *  conf_line)
static
static int olyp_read ( const char *  conf_line)
static
static int pbe0_read ( const char *  conf_line)
static
static int pbe_read ( const char *  conf_line)
static
static int xalpha_read ( const char *  conf_line)
static

Variable Documentation

Functional B3LYPFunctional = GGA_FUNCTIONAL("B3LYP", b3lyp_read)
Functional B3LYPGaussFunctional = GGA_FUNCTIONAL("B3LYP-G", b3lypgauss_read)
Functional B3P86Functional = GGA_FUNCTIONAL("B3P86", b3p86_read)
Functional B3P86GFunctional = GGA_FUNCTIONAL("B3P86-G", b3p86g_read)
Functional B3PW91Functional = GGA_FUNCTIONAL("B3PW91", b3pw91_read)
Functional BHandHFunctional = GGA_FUNCTIONAL("BHandH", bhandh_read)
Functional BHandHLYPFunctional = GGA_FUNCTIONAL("BHandHLYP", bhandhlyp_read)
Functional BLYPFunctional = GGA_FUNCTIONAL("BLYP", blyp_read)
Functional BP86Functional = GGA_FUNCTIONAL("BP86", bp86_read)
Functional BPW91Functional = GGA_FUNCTIONAL("BPW91", bpw91_read)
Functional CombineFunctional =GGA_FUNCTIONAL("Combine", combine_read)
FuncList* gga_fun_list = NULL
Functional GGAKeyFunctional = GGA_FUNCTIONAL("GGAKey", combine_read)
Functional KT1Functional = GGA_FUNCTIONAL("KT1", kt1_read)
Functional KT2Functional = GGA_FUNCTIONAL("KT2", kt2_read)
Functional KT3Functional = GGA_FUNCTIONAL("KT3", kt3_read)
Functional LDAFunctional = LDA_FUNCTIONAL("LDA", lda_read)
Functional OLYPFunctional = GGA_FUNCTIONAL("OLYP" , olyp_read)
Functional PBE0Functional = GGA_FUNCTIONAL("PBE0", pbe0_read)
Functional PBEFunctional = GGA_FUNCTIONAL("PBE", pbe_read)
Functional SVWN3Functional = GGA_FUNCTIONAL("SVWN3", ldagauss_read)
Functional SVWN5Functional = LDA_FUNCTIONAL("SVWN5", lda_read)
Functional XAlphaFunctional = GGA_FUNCTIONAL("XAlpha", xalpha_read)