1 #ifndef QNANO_NEW_SLATERKOSTER_DEFINED_H_     2 #define QNANO_NEW_SLATERKOSTER_DEFINED_H_     9   inline static double s_s(
double L, 
double M, 
double N, 
double t_ss){
    12   inline static double s_px(
double L, 
double M, 
double N, 
double t_sp){
    15   inline static double s_py(
double L, 
double M, 
double N, 
double t_sp){
    18   inline static double s_pz(
double L, 
double M, 
double N, 
double t_sp){
    21   inline static double px_s(
double L, 
double M, 
double N, 
double t_ps){
    24   inline static double py_s(
double L, 
double M, 
double N, 
double t_ps){
    27   inline static double pz_s(
double L, 
double M, 
double N, 
double t_ps){
    30   inline static double px_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    31     return L*L*sigma+(1.-L*L)*pi;
    33   inline static double py_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    34     return M*M*sigma+(1.-M*M)*pi;
    36   inline static double pz_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    37     return N*N*sigma+(1.-N*N)*pi;
    39   inline static double px_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    40     return L*M*(sigma-pi);
    42   inline static double py_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    43     return L*M*(sigma-pi);
    45   inline static double px_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    46     return L*N*(sigma-pi);
    48   inline static double pz_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    49     return L*N*(sigma-pi);
    51   inline static double py_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    52     return M*N*(sigma-pi);
    54   inline static double pz_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
    55     return M*N*(sigma-pi);
    57   inline static double sstar_sstar(
double L, 
double M, 
double N, 
double sigma){
    60   inline static double s_sstar(
double L, 
double M, 
double N, 
double sigma){
    63   inline static double sstar_s(
double L, 
double M, 
double N, 
double sigma){
    66   inline static double sstar_px(
double L, 
double M, 
double N, 
double sigma){
    69   inline static double sstar_py(
double L, 
double M, 
double N, 
double sigma){
    72   inline static double sstar_pz(
double L, 
double M, 
double N, 
double sigma){
    75   inline static double px_sstar(
double L, 
double M, 
double N, 
double sigma){
    78   inline static double py_sstar(
double L, 
double M, 
double N, 
double sigma){
    81   inline static double pz_sstar(
double L, 
double M, 
double N, 
double sigma){
    85   inline static double s_dxy(
double L, 
double M, 
double N, 
double sigma){
    86     return sqrt(3.)*L*M*sigma;
    88   inline static double dxy_s(
double L, 
double M, 
double N, 
double sigma){
    89     return sqrt(3.)*L*M*sigma;
    91   inline static double s_dyz(
double L, 
double M, 
double N, 
double sigma){
    92     return sqrt(3.)*N*M*sigma;
    94   inline static double dyz_s(
double L, 
double M, 
double N, 
double sigma){
    95     return sqrt(3.)*N*M*sigma;
    97   inline static double s_dxz(
double L, 
double M, 
double N, 
double sigma){
    98     return sqrt(3.)*N*L*sigma;
   100   inline static double dxz_s(
double L, 
double M, 
double N, 
double sigma){
   101     return sqrt(3.)*N*L*sigma;
   103   inline static double s_dx2y2(
double L, 
double M, 
double N, 
double sigma){
   104     return sqrt(3.)/2.*(L*L-M*M)*sigma;
   106   inline static double dx2y2_s(
double L, 
double M, 
double N, 
double sigma){
   107     return sqrt(3.)/2.*(L*L-M*M)*sigma;
   109   inline static double s_dz2(
double L, 
double M, 
double N, 
double sigma){
   110     return 0.5*(3.*N*N-1.)*sigma;
   112   inline static double dz2_s(
double L, 
double M, 
double N, 
double sigma){
   113     return 0.5*(3.*N*N-1.)*sigma;
   116   inline static double sstar_dxy(
double L, 
double M, 
double N, 
double sigma){
   117     return sqrt(3.)*L*M*sigma;
   119   inline static double dxy_sstar(
double L, 
double M, 
double N, 
double sigma){
   120     return sqrt(3.)*L*M*sigma;
   122   inline static double sstar_dyz(
double L, 
double M, 
double N, 
double sigma){
   123     return sqrt(3.)*N*M*sigma;
   125   inline static double dyz_sstar(
double L, 
double M, 
double N, 
double sigma){
   126     return sqrt(3.)*N*M*sigma;
   128   inline static double sstar_dxz(
double L, 
double M, 
double N, 
double sigma){
   129     return sqrt(3.)*N*L*sigma;
   131   inline static double dxz_sstar(
double L, 
double M, 
double N, 
double sigma){
   132     return sqrt(3.)*N*L*sigma;
   134   inline static double sstar_dx2y2(
double L, 
double M, 
double N, 
double sigma){
   135     return sqrt(3.)/2.*(L*L-M*M)*sigma;
   137   inline static double dx2y2_sstar(
double L, 
double M, 
double N, 
double sigma){
   138     return sqrt(3.)/2.*(L*L-M*M)*sigma;
   140   inline static double sstar_dz2(
double L, 
double M, 
double N, 
double sigma){
   141     return 0.5*(3.*N*N-1.)*sigma;
   143   inline static double dz2_sstar(
double L, 
double M, 
double N, 
double sigma){
   144     return 0.5*(3.*N*N-1.)*sigma;
   147   inline static double px_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   148     return M*(L*L*(sqrt(3.)*sigma-2.*pi) + pi); 
   150   inline static double dxy_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   151     return -M*(L*L*(sqrt(3.)*sigma-2.*pi) + pi); 
   153   inline static double px_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   154     return L*M*N*(sqrt(3.)*sigma-2.*pi); 
   156   inline static double dyz_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   157     return -L*M*N*(sqrt(3.)*sigma-2.*pi); 
   159   inline static double px_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   160     return N*(L*L*(sqrt(3.)*sigma-2.*pi) + pi); 
   162   inline static double dxz_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   163     return -N*(L*L*(sqrt(3.)*sigma-2.*pi) + pi); 
   165   inline static double px_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   166     return 0.5*L*(sqrt(3.)*(L*L-M*M)*sigma+2.*(2.*M*M+N*N)*pi);
   168   inline static double dx2y2_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   169     return -0.5*L*(sqrt(3.)*(L*L-M*M)*sigma+2.*(2.*M*M+N*N)*pi);
   171   inline static double px_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   172     return 0.5*L*( (3.*N*N-1.)*sigma-2.*sqrt(3.)*N*N*pi);
   174   inline static double dz2_px(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   175     return -0.5*L*( (3.*N*N-1.)*sigma-2.*sqrt(3.)*N*N*pi);
   179   inline static double py_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   180     return L*(M*M*(sqrt(3.)*sigma-2.*pi) + pi); 
   182   inline static double dxy_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   183     return -L*(M*M*(sqrt(3.)*sigma-2.*pi) + pi); 
   185   inline static double py_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   186     return N*(M*M*(sqrt(3.)*sigma-2.*pi) + pi); 
   188   inline static double dyz_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   189     return -N*(M*M*(sqrt(3.)*sigma-2.*pi) + pi); 
   191   inline static double py_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   192     return L*M*N*(sqrt(3.)*sigma-2.*pi); 
   194   inline static double dxz_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   195     return -L*M*N*(sqrt(3.)*sigma-2.*pi); 
   197   inline static double py_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   199     return 0.5*M*(sqrt(3.)*(L*L-M*M)*sigma-2.*(2.*L*L+N*N)*pi);
   201   inline static double dx2y2_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   203     return -0.5*M*(sqrt(3.)*(L*L-M*M)*sigma-2.*(2.*L*L+N*N)*pi);
   205   inline static double py_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   206     return 0.5*M*( (3.*N*N-1.)*sigma-2.*sqrt(3.)*N*N*pi);
   208   inline static double dz2_py(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   209     return -0.5*M*( (3.*N*N-1.)*sigma-2.*sqrt(3.)*N*N*pi);
   212   inline static double pz_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   213     return L*M*N*(sqrt(3.)*sigma-2.*pi);
   215   inline static double dxy_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   216     return -L*M*N*(sqrt(3.)*sigma-2.*pi);
   218   inline static double pz_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   219     return M*(N*N*(sqrt(3.)*sigma-2.*pi)+pi);
   221   inline static double dyz_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   222     return -M*(N*N*(sqrt(3.)*sigma-2.*pi)+pi);
   224   inline static double pz_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   225     return L*(N*N*(sqrt(3.)*sigma-2.*pi)+pi);
   227   inline static double dxz_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   228     return -L*(N*N*(sqrt(3.)*sigma-2.*pi)+pi);
   230   inline static double pz_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   231     return 0.5*N*(L*L-M*M)*(sqrt(3.)*sigma-2.*pi);
   233   inline static double dx2y2_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   234     return -0.5*N*(L*L-M*M)*(sqrt(3.)*sigma-2.*pi);
   236   inline static double pz_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   237     return 0.5*N*( (3.*N*N-1.)*sigma-2.*sqrt(3.)*(N*N-1.)*pi);
   239   inline static double dz2_pz(
double L, 
double M, 
double N, 
double sigma, 
double pi){
   240     return -0.5*N*( (3.*N*N-1.)*sigma-2.*sqrt(3.)*(N*N-1.)*pi);
   244   inline static double dxy_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   245     return 3.*L*L*M*M*sigma+(L*L+M*M-4*L*L*M*M)*pi+(N*N+L*L*M*M)*delta;
   247   inline static double dyz_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   248     return 3.*N*N*M*M*sigma+(N*N+M*M-4.*N*N*M*M)*pi+(L*L+N*N*M*M)*delta;
   250   inline static double dxz_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   251     return 3.*N*N*L*L*sigma+(N*N+L*L-4.*N*N*L*L)*pi+(M*M+N*N*L*L)*delta;
   253   inline static double dx2y2_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   254     return 0.75*(L*L-M*M)*(L*L-M*M)*sigma+(L*L+M*M-(L*L-M*M)*(L*L-M*M))*pi+(0.25*(L*L-M*M)*(L*L-M*M)+N*N)*delta;
   256   inline static double dz2_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   257     return (0.5*L*L+0.5*M*M-N*N)*(0.5*L*L+0.5*M*M-N*N)*sigma+3.*N*N*(1.-N*N)*pi+0.75*(N*N-1)*(N*N-1)*delta;
   261   inline static double dxy_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   262     return L*N*( 3.*M*M*sigma+(1.-4.*M*M)*pi+(M*M-1.)*delta);
   264   inline static double dyz_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   265     return L*N*( 3.*M*M*sigma+(1.-4.*M*M)*pi+(M*M-1.)*delta);
   267   inline static double dxy_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   268     return sqrt(3.)/2.*L*M*( (3.*N*N-1.)*sigma-4.*N*N*pi+(1+N*N)*delta);
   270   inline static double dz2_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   271     return sqrt(3.)/2.*L*M*( (3.*N*N-1.)*sigma-4.*N*N*pi+(1+N*N)*delta);
   273   inline static double dxy_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   274     return M*N*(3.*L*L*sigma+(1.-4.*L*L)*pi+(L*L-1.)*delta);
   276   inline static double dxz_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   277     return M*N*(3.*L*L*sigma+(1.-4.*L*L)*pi+(L*L-1.)*delta);
   279   inline static double dxy_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   280     return 0.5*L*M*(L*L-M*M)*(3.*sigma-4.*pi+delta);
   282   inline static double dx2y2_dxy(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   283     return 0.5*L*M*(L*L-M*M)*(3.*sigma-4.*pi+delta);
   286   inline static double dyz_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   287     return sqrt(3.)/2.*M*N*( (3.*N*N-1.)*sigma+(2.-4.*N*N)*pi+(N*N-1.)*delta);
   289   inline static double dz2_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   290     return sqrt(3.)/2.*M*N*( (3.*N*N-1.)*sigma+(2.-4.*N*N)*pi+(N*N-1.)*delta);
   292   inline static double dyz_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   293     return L*M*(3.*N*N*sigma+(1.-4.*N*N)*pi+(N*N-1.)*delta);
   295   inline static double dxz_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   296     return L*M*(3.*N*N*sigma+(1.-4.*N*N)*pi+(N*N-1.)*delta);
   298   inline static double dyz_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   299     return M*N/2.*(3.*(L*L-M*M)*sigma-(4.*(L*L-M*M)+2.)*pi+(L*L-M*M+2)*delta);
   301   inline static double dx2y2_dyz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   302     return M*N/2.*(3.*(L*L-M*M)*sigma-(4.*(L*L-M*M)+2.)*pi+(L*L-M*M+2)*delta);
   304   inline static double dz2_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   305     return sqrt(3.)/2.*L*N*( (3.*N*N-1.)*sigma+(2.-4.*N*N)*pi+(N*N-1.)*delta);
   307   inline static double dxz_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   308     return sqrt(3.)/2.*L*N*( (3.*N*N-1.)*sigma+(2.-4.*N*N)*pi+(N*N-1.)*delta);
   310   inline static double dz2_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   311     return sqrt(3.)/4.*(L*L-M*M)*( (3.*N*N-1.)*sigma-4.*N*N*pi+(1.+N*N)*delta);
   313   inline static double dx2y2_dz2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   314     return sqrt(3.)/4.*(L*L-M*M)*( (3.*N*N-1.)*sigma-4.*N*N*pi+(1.+N*N)*delta);
   316   inline static double dxz_dx2y2(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   317     return L*N/2.*(3.*(L*L-M*M)*sigma+(2.-4.*(L*L-M*M))*pi+(L*L-M*M-2.)*delta);
   319   inline static double dx2y2_dxz(
double L, 
double M, 
double N, 
double sigma, 
double pi, 
double delta){
   320     return L*N/2.*(3.*(L*L-M*M)*sigma+(2.-4.*(L*L-M*M))*pi+(L*L-M*M-2.)*delta);
 Definition: Slater_Koster.h:7