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