2
* $Id: integrate_kbppv3d_new.f,v 1.1 2008-03-17 17:53:57 bylaska Exp $
2
* $Id: integrate_kbppv3d_new.f 21512 2011-11-12 01:20:37Z bylaska $
4
4
subroutine integrate_kbppv3d_new(version,rlocal,
5
5
> nrho,drho,lmax,locp,zv,
9
> n_prj,l_prj,m_prj,vnlnrm,
9
> n_prj,l_prj,m_prj,b_prj,vnlnrm,
10
10
> semicore,rho_sc_r,rho_sc_k,
11
11
> nray,G_ray,vl_ray,vnl_ray,
12
12
> rho_sc_k_ray,tmp_ray,
194
195
if (locp.ne.3) then
195
196
D = nwpw_splint(G_ray,vnl_ray(1,3,1),vnl_ray(1,3,2),nray,nx,Q)
197
vnl(k1,lcount)=D*GX*(4.0d0*GX*GX-3.0d0*(1.0d0-GZ*GZ))
199
198
lcount = lcount-1
200
199
vnl(k1,lcount)=D*GY*(3.0d0*(1.0d0-GZ*GZ)-4.0d0*GY*GY)
202
201
lcount = lcount-1
203
vnl(k1,lcount)=D*GZ*(GX*GX - GY*GY)
206
202
vnl(k1,lcount)=D*GX*GY*GZ
207
203
lcount = lcount-1
208
vnl(k1,lcount)=D*GX*(5.0d0*GZ*GZ-1.0d0)
211
204
vnl(k1,lcount)=D*GY*(5.0d0*GZ*GZ-1.0d0)
213
206
lcount = lcount-1
214
207
vnl(k1,lcount)=D*GZ*(5.0d0*GZ*GZ-3.0d0)
210
vnl(k1,lcount)=D*GX*(5.0d0*GZ*GZ-1.0d0)
213
vnl(k1,lcount)=D*GZ*(GX*GX - GY*GY)
216
vnl(k1,lcount)=D*GX*(4.0d0*GX*GX-3.0d0*(1.0d0-GZ*GZ))
219
c vnl(k1,lcount)=D*GX*(4.0d0*GX*GX-3.0d0*(1.0d0-GZ*GZ))
222
c vnl(k1,lcount)=D*GY*(3.0d0*(1.0d0-GZ*GZ)-4.0d0*GY*GY)
225
c vnl(k1,lcount)=D*GZ*(GX*GX - GY*GY)
228
c vnl(k1,lcount)=D*GX*GY*GZ
230
c vnl(k1,lcount)=D*GX*(5.0d0*GZ*GZ-1.0d0)
233
c vnl(k1,lcount)=D*GY*(5.0d0*GZ*GZ-1.0d0)
236
c vnl(k1,lcount)=D*GZ*(5.0d0*GZ*GZ-3.0d0)
217
239
* :::::::::::::::::::::::::::::: d-wave ::::::::::::::::::::::::::::::
219
241
if (locp.ne.2) then
220
242
D = nwpw_splint(G_ray,vnl_ray(1,2,1),vnl_ray(1,2,2),nray,nx,Q)
221
243
lcount = lcount-1
244
vnl(k1,lcount)=D*GX*GY
246
vnl(k1,lcount)=D*GY*GZ
222
248
vnl(k1,lcount)=D*(3.0d0*GZ*GZ-1.0d0)
223
249
> /(2.0d0*dsqrt(3.0d0))
224
250
lcount = lcount-1
225
vnl(k1,lcount)=D*GX*GY
227
vnl(k1,lcount)=D*GY*GZ
229
251
vnl(k1,lcount)=D*GZ*GX
230
252
lcount = lcount-1
231
253
vnl(k1,lcount)=D*(GX*GX-GY*GY)/(2.0d0)
256
c vnl(k1,lcount)=D*(3.0d0*GZ*GZ-1.0d0)
257
c > /(2.0d0*dsqrt(3.0d0))
259
c vnl(k1,lcount)=D*GX*GY
261
c vnl(k1,lcount)=D*GY*GZ
263
c vnl(k1,lcount)=D*GZ*GX
265
c vnl(k1,lcount)=D*(GX*GX-GY*GY)/(2.0d0)
233
267
* :::::::::::::::::::::::::::::: p-wave ::::::::::::::::::::::::::::::
235
269
if (locp.ne.1) then
236
270
P = nwpw_splint(G_ray,vnl_ray(1,1,1),vnl_ray(1,1,2),nray,nx,Q)
239
272
lcount = lcount-1
240
273
vnl(k1,lcount)=P*GY
241
274
lcount = lcount-1
242
275
vnl(k1,lcount)=P*GZ
280
c vnl(k1,lcount)=P*GX
282
c vnl(k1,lcount)=P*GY
284
c vnl(k1,lcount)=P*GZ
244
286
* :::::::::::::::::::::::::::::: s-wave :::::::::::::::::::::::::::::::