ergo
|
PW91C implementation. More...
Macros | |
#define | __CVERSION__ |
Functions | |
static int | pw91c_isgga (void) |
static int | pw91c_read (const char *conf_line) |
static real | pw91c_energy (const FunDensProp *dp) |
static void | pw91c_first (FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | pw91c_second (FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) |
static void | pw91c_third (FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) |
Variables | |
Functional | Pw91cFunctional |
PW91C implementation.
Automatically generated code implementing pw91c functional and its derivatives. Generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2004
This functional is connected by making following changes:
This functional has been generated from following input: ---— cut here ----— PW92C parameters c:1.709921; T:[0.031091,0.015545,0.016887]; U:[0.21370,0.20548,0.11125]; V:[7.5957,14.1189,10.357]; W:[3.5876,6.1977,3.6231]; X:[1.6382,3.3662,0.88026]; Y:[0.49294,0.62517,0.49671]; P:[1,1,1];
PW92C helper functions
r(a,b):=(3/(4*PI*(a+b)))^(1/3); zet(a,b):=(a-b)/(a+b); omega(z):=((1+z)^(4/3)+(1-z)^(4/3)-2)/(2^(4/3)-2); en(r,t,u,v,w,x,y,p):=-2*t*(1+u*r)*log(1+1/(2*t*(v*sqrt(r)+w*r+x*r^(3/2)+y*r^(p+1))));
eps(a,b):=en(r(a,b),T[1],U[1],V[1],W[1],X[1],Y[1],P[1]);
pw91c parameters
iota:0.09; nu:16/PI*(3*PI^2)^(1/3); kappa:0.004235; lamda:nu*kappa; Z:-0.001667; Xi:23.266; Phi:0.007389; Lamda:8.723; Upsilon:0.472;
pw91c functions (closed shell!)
theta(r):=10^(-3)*(2.568+Xi*r+Phi*r^2)/(1+Lamda*r+Upsilon*r^2+10*Phi*r^3); phi(r):=theta(r)-Z; sigma(ga,gb,gab):=ga*ga+gb*gb+2*gab; d(a,b,ga,gb,gab):=sqrt(sigma(ga,gb,gab))/4/(3/PI)^(1/6)/(a+b)^(7/6); A(a,b):=2*iota/lamda*(1/(exp(-2*iota*eps(a,b)/lamda^2)-1)); L(d,a,b):=lamda^2/(2*iota)*log((1+2*(iota*(d^2+A(a,b)*d^4))/(lamda*(1+A(a,b)*d^2+(A(a,b))^2*d^4)))); J(d,a,b):=nu*(phi(r(a,b))-kappa-3*Z/7)*d^2*exp(-100*4/(3*PI^5*(a+b))^(1/3)*d^2); H(d,a,b):=L(d,a,b)+J(d,a,b);
kernel
K(rhoa,grada,rhob,gradb,gradab):=(rhoa+rhob)*(eps(rhoa,rhob)+H(d(rhoa,rhob,grada,gradb,gradab),rhoa,rhob));
------ cut here -------
#define __CVERSION__ |
|
static |
References FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, LOG, POW, FunDensProp_::rhoa, FunDensProp_::rhob, and SQRT.
|
static |
|
static |
|
static |
References fun_set_hf_weight.
|
static |
References FunSecondFuncDrv::df00001, FunSecondFuncDrv::df00002, FunSecondFuncDrv::df0001, FunSecondFuncDrv::df00011, FunSecondFuncDrv::df0002, FunSecondFuncDrv::df0010, FunSecondFuncDrv::df00101, FunSecondFuncDrv::df0011, FunSecondFuncDrv::df0020, FunSecondFuncDrv::df0100, FunSecondFuncDrv::df01001, FunSecondFuncDrv::df0101, FunSecondFuncDrv::df0110, FunSecondFuncDrv::df0200, FunSecondFuncDrv::df1000, FunSecondFuncDrv::df10001, FunSecondFuncDrv::df1001, FunSecondFuncDrv::df1010, FunSecondFuncDrv::df1100, FunSecondFuncDrv::df2000, FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, LOG, POW, FunDensProp_::rhoa, FunDensProp_::rhob, and SQRT.
|
static |
References FunThirdFuncDrv::df00001, FunThirdFuncDrv::df0001, FunThirdFuncDrv::df0002, FunThirdFuncDrv::df0003, FunThirdFuncDrv::df0010, FunThirdFuncDrv::df0011, FunThirdFuncDrv::df0012, FunThirdFuncDrv::df0020, FunThirdFuncDrv::df0021, FunThirdFuncDrv::df0030, FunThirdFuncDrv::df0100, FunThirdFuncDrv::df01001, FunThirdFuncDrv::df0101, FunThirdFuncDrv::df0102, FunThirdFuncDrv::df0110, FunThirdFuncDrv::df0111, FunThirdFuncDrv::df0120, FunThirdFuncDrv::df0200, FunThirdFuncDrv::df02001, FunThirdFuncDrv::df0201, FunThirdFuncDrv::df0210, FunThirdFuncDrv::df0300, FunThirdFuncDrv::df1000, FunThirdFuncDrv::df10001, FunThirdFuncDrv::df1001, FunThirdFuncDrv::df1002, FunThirdFuncDrv::df1010, FunThirdFuncDrv::df1011, FunThirdFuncDrv::df1020, FunThirdFuncDrv::df1100, FunThirdFuncDrv::df11001, FunThirdFuncDrv::df1101, FunThirdFuncDrv::df1110, FunThirdFuncDrv::df1200, FunThirdFuncDrv::df2000, FunThirdFuncDrv::df20001, FunThirdFuncDrv::df2001, FunThirdFuncDrv::df2010, FunThirdFuncDrv::df2100, FunThirdFuncDrv::df3000, FunDensProp_::grada, FunDensProp_::gradab, FunDensProp_::gradb, LOG, POW, FunDensProp_::rhoa, FunDensProp_::rhob, and SQRT.
Functional Pw91cFunctional |
Referenced by b3pw91_read(), and bpw91_read().