~ubuntu-branches/ubuntu/saucy/nwchem/saucy

« back to all changes in this revision

Viewing changes to src/nwpw/pspw/kbpp/integrate_kbppv3d_new.f

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Michael Banck, Daniel Leidert
  • Date: 2012-02-09 20:02:41 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120209200241-jgk03qfsphal4ug2
Tags: 6.1-1
* New upstream release.

[ Michael Banck ]
* debian/patches/02_makefile_flags.patch: Updated.
* debian/patches/02_makefile_flags.patch: Use internal blas and lapack code.
* debian/patches/02_makefile_flags.patch: Define GCC4 for LINUX and LINUX64
  (Closes: #632611 and LP: #791308).
* debian/control (Build-Depends): Added openssh-client.
* debian/rules (USE_SCALAPACK, SCALAPACK): Removed variables (Closes:
  #654658).
* debian/rules (LIBDIR, USE_MPIF4, ARMCI_NETWORK): New variables.
* debian/TODO: New file.
* debian/control (Build-Depends): Removed libblas-dev, liblapack-dev and
  libscalapack-mpi-dev.
* debian/patches/04_show_testsuite_diff_output.patch: New patch, shows the
  diff output for failed tests.
* debian/patches/series: Adjusted.
* debian/testsuite: Optionally run all tests if "all" is passed as option.
* debian/rules: Run debian/testsuite with "all" if DEB_BUILD_OPTIONS
  contains "checkall".

[ Daniel Leidert ]
* debian/control: Used wrap-and-sort. Added Vcs-Svn and Vcs-Browser fields.
  (Priority): Moved to extra according to policy section 2.5.
  (Standards-Version): Bumped to 3.9.2.
  (Description): Fixed a typo.
* debian/watch: Added.
* debian/patches/03_hurd-i386_define_path_max.patch: Added.
  - Define MAX_PATH if not defines to fix FTBFS on hurd.
* debian/patches/series: Adjusted.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
*
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 $
3
3
*
4
4
      subroutine integrate_kbppv3d_new(version,rlocal,
5
5
     >                            nrho,drho,lmax,locp,zv,
6
6
     >                            vp,wp,rho,f,cs,sn,
7
7
     >                            nfft3d,lmmax,
8
8
     >                            G,vl,vnl,
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,
32
32
      double precision vl(nfft3d)
33
33
      double precision vnl(nfft3d,lmmax)
34
34
      integer          n_prj(lmmax),l_prj(lmmax),m_prj(lmmax)
 
35
      integer          b_prj(lmmax)
35
36
      double precision vnlnrm(0:lmax)
36
37
 
37
38
      logical semicore
193
194
  200   CONTINUE
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)
196
 
           lcount = lcount-1
197
 
           vnl(k1,lcount)=D*GX*(4.0d0*GX*GX-3.0d0*(1.0d0-GZ*GZ))
198
 
     >                          /dsqrt(24.0d0)
 
197
 
199
198
           lcount = lcount-1
200
199
           vnl(k1,lcount)=D*GY*(3.0d0*(1.0d0-GZ*GZ)-4.0d0*GY*GY)
201
200
     >                          /dsqrt(24.0d0)
202
201
           lcount = lcount-1
203
 
           vnl(k1,lcount)=D*GZ*(GX*GX - GY*GY)
204
 
     >                          /2.0d0
205
 
           lcount = lcount-1
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)
209
 
     >                          /dsqrt(40.0d0)
210
 
           lcount = lcount-1
211
204
           vnl(k1,lcount)=D*GY*(5.0d0*GZ*GZ-1.0d0)
212
205
     >                          /dsqrt(40.0d0)
213
206
           lcount = lcount-1
214
207
           vnl(k1,lcount)=D*GZ*(5.0d0*GZ*GZ-3.0d0)
215
208
     >                          /dsqrt(60.0d0)
 
209
           lcount = lcount-1
 
210
           vnl(k1,lcount)=D*GX*(5.0d0*GZ*GZ-1.0d0)
 
211
     >                          /dsqrt(40.0d0)
 
212
           lcount = lcount-1
 
213
           vnl(k1,lcount)=D*GZ*(GX*GX - GY*GY)
 
214
     >                          /2.0d0
 
215
           lcount = lcount-1
 
216
           vnl(k1,lcount)=D*GX*(4.0d0*GX*GX-3.0d0*(1.0d0-GZ*GZ))
 
217
     >                          /dsqrt(24.0d0)
 
218
c           lcount = lcount-1
 
219
c           vnl(k1,lcount)=D*GX*(4.0d0*GX*GX-3.0d0*(1.0d0-GZ*GZ))
 
220
c     >                          /dsqrt(24.0d0)
 
221
c           lcount = lcount-1
 
222
c           vnl(k1,lcount)=D*GY*(3.0d0*(1.0d0-GZ*GZ)-4.0d0*GY*GY)
 
223
c     >                          /dsqrt(24.0d0)
 
224
c           lcount = lcount-1
 
225
c           vnl(k1,lcount)=D*GZ*(GX*GX - GY*GY)
 
226
c     >                          /2.0d0
 
227
c           lcount = lcount-1
 
228
c           vnl(k1,lcount)=D*GX*GY*GZ
 
229
c           lcount = lcount-1
 
230
c           vnl(k1,lcount)=D*GX*(5.0d0*GZ*GZ-1.0d0)
 
231
c     >                          /dsqrt(40.0d0)
 
232
c           lcount = lcount-1
 
233
c           vnl(k1,lcount)=D*GY*(5.0d0*GZ*GZ-1.0d0)
 
234
c     >                          /dsqrt(40.0d0)
 
235
c           lcount = lcount-1
 
236
c           vnl(k1,lcount)=D*GZ*(5.0d0*GZ*GZ-3.0d0)
 
237
c     >                          /dsqrt(60.0d0)
216
238
        end if
217
239
*       ::::::::::::::::::::::::::::::  d-wave  ::::::::::::::::::::::::::::::
218
240
  300   CONTINUE
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
 
245
          lcount = lcount-1
 
246
          vnl(k1,lcount)=D*GY*GZ
 
247
          lcount = lcount-1
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
226
 
          lcount = lcount-1
227
 
          vnl(k1,lcount)=D*GY*GZ
228
 
          lcount = lcount-1
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)
 
254
 
 
255
c          lcount = lcount-1
 
256
c          vnl(k1,lcount)=D*(3.0d0*GZ*GZ-1.0d0)
 
257
c     >                          /(2.0d0*dsqrt(3.0d0))
 
258
c          lcount = lcount-1
 
259
c          vnl(k1,lcount)=D*GX*GY
 
260
c          lcount = lcount-1
 
261
c          vnl(k1,lcount)=D*GY*GZ
 
262
c          lcount = lcount-1
 
263
c          vnl(k1,lcount)=D*GZ*GX
 
264
c          lcount = lcount-1
 
265
c          vnl(k1,lcount)=D*(GX*GX-GY*GY)/(2.0d0)
232
266
        end if
233
267
*       ::::::::::::::::::::::::::::::  p-wave  ::::::::::::::::::::::::::::::
234
268
  400   CONTINUE
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)
237
 
           lcount = lcount-1
238
 
           vnl(k1,lcount)=P*GX
 
271
 
239
272
           lcount = lcount-1
240
273
           vnl(k1,lcount)=P*GY
241
274
           lcount = lcount-1
242
275
           vnl(k1,lcount)=P*GZ
 
276
           lcount = lcount-1
 
277
           vnl(k1,lcount)=P*GX
 
278
 
 
279
c           lcount = lcount-1
 
280
c           vnl(k1,lcount)=P*GX
 
281
c           lcount = lcount-1
 
282
c           vnl(k1,lcount)=P*GY
 
283
c           lcount = lcount-1
 
284
c           vnl(k1,lcount)=P*GZ
243
285
        end if
244
286
*       ::::::::::::::::::::::::::::::  s-wave  :::::::::::::::::::::::::::::::
245
287
  500   CONTINUE
311
353
          n_prj(lcount) = 1
312
354
          l_prj(lcount) = 3
313
355
          m_prj(lcount) = -3
 
356
          b_prj(lcount) = 4
314
357
    
315
358
          lcount = lcount-1
316
359
          n_prj(lcount) = 1
317
360
          l_prj(lcount) = 3
318
361
          m_prj(lcount) = -2
 
362
          b_prj(lcount) = 4
319
363
           
320
364
          lcount = lcount-1
321
365
          n_prj(lcount) = 1
322
366
          l_prj(lcount) = 3
323
367
          m_prj(lcount) = -1
 
368
          b_prj(lcount) = 4
324
369
     
325
370
          lcount = lcount-1
326
371
          n_prj(lcount) = 1
327
372
          l_prj(lcount) = 3
328
373
          m_prj(lcount) = 0
 
374
          b_prj(lcount) = 4
329
375
           
330
376
          lcount = lcount-1
331
377
          n_prj(lcount) = 1
332
378
          l_prj(lcount) = 3
333
379
          m_prj(lcount) = 1
 
380
          b_prj(lcount) = 4
334
381
           
335
382
          lcount = lcount-1
336
383
          n_prj(lcount) = 1
337
384
          l_prj(lcount) = 3
338
385
          m_prj(lcount) = 2
 
386
          b_prj(lcount) = 4
339
387
     
340
388
          lcount = lcount-1
341
389
          n_prj(lcount) = 1
342
390
          l_prj(lcount) = 3
343
391
          m_prj(lcount) = 3
 
392
          b_prj(lcount) = 4
344
393
        end if
345
394
 
346
395
 
351
400
          n_prj(lcount) = 1
352
401
          l_prj(lcount) = 2
353
402
          m_prj(lcount) = -2
 
403
          b_prj(lcount) = 3
354
404
 
355
405
          lcount = lcount-1
356
406
          n_prj(lcount) = 1
357
407
          l_prj(lcount) = 2
358
408
          m_prj(lcount) = -1
 
409
          b_prj(lcount) = 3
359
410
          
360
411
          lcount = lcount-1
361
412
          n_prj(lcount) = 1
362
413
          l_prj(lcount) = 2
363
414
          m_prj(lcount) = 0
 
415
          b_prj(lcount) = 3
364
416
          
365
417
          lcount = lcount-1
366
418
          n_prj(lcount) = 1
367
419
          l_prj(lcount) = 2
368
420
          m_prj(lcount) = 1
 
421
          b_prj(lcount) = 3
369
422
          
370
423
          lcount = lcount-1
371
424
          n_prj(lcount) = 1
372
425
          l_prj(lcount) = 2
373
426
          m_prj(lcount) = 2
 
427
          b_prj(lcount) = 3
374
428
        end if
375
429
 
376
430
 
381
435
          n_prj(lcount) = 1
382
436
          l_prj(lcount) = 1
383
437
          m_prj(lcount) = -1
 
438
          b_prj(lcount) = 2
384
439
 
385
440
          lcount = lcount-1
386
441
          n_prj(lcount) = 1
387
442
          l_prj(lcount) = 1
388
443
          m_prj(lcount) = 0
 
444
          b_prj(lcount) = 2
389
445
 
390
446
          lcount = lcount-1
391
447
          n_prj(lcount) = 1
392
448
          l_prj(lcount) = 1
393
449
          m_prj(lcount) = 1
 
450
          b_prj(lcount) = 2
394
451
        end if
395
452
 
396
453
 
401
458
          n_prj(lcount) = 1
402
459
          l_prj(lcount) = 0
403
460
          m_prj(lcount) = 0
 
461
          b_prj(lcount) = 1
404
462
        end if
405
463
 
406
464