~ubuntu-branches/ubuntu/utopic/nwchem/utopic

« back to all changes in this revision

Viewing changes to src/tce/tce_eom_xdiagon.F

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Daniel Leidert, Andreas Tille, Michael Banck
  • Date: 2013-07-04 12:14:55 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130704121455-5tvsx2qabor3nrui
Tags: 6.3-1
* New upstream release.
* Fixes anisotropic properties (Closes: #696361).
* New features include:
  + Multi-reference coupled cluster (MRCC) approaches
  + Hybrid DFT calculations with short-range HF 
  + New density-functionals including Minnesota (M08, M11) and HSE hybrid
    functionals
  + X-ray absorption spectroscopy (XAS) with TDDFT
  + Analytical gradients for the COSMO solvation model
  + Transition densities from TDDFT 
  + DFT+U and Electron-Transfer (ET) methods for plane wave calculations
  + Exploitation of space group symmetry in plane wave geometry optimizations
  + Local density of states (LDOS) collective variable added to Metadynamics
  + Various new XC functionals added for plane wave calculations, including
    hybrid and range-corrected ones
  + Electric field gradients with relativistic corrections 
  + Nudged Elastic Band optimization method
  + Updated basis sets and ECPs 

[ Daniel Leidert ]
* debian/watch: Fixed.

[ Andreas Tille ]
* debian/upstream: References

[ Michael Banck ]
* debian/upstream (Name): New field.
* debian/patches/02_makefile_flags.patch: Refreshed.
* debian/patches/06_statfs_kfreebsd.patch: Likewise.
* debian/patches/07_ga_target_force_linux.patch: Likewise.
* debian/patches/05_avoid_inline_assembler.patch: Removed, no longer needed.
* debian/patches/09_backported_6.1.1_fixes.patch: Likewise.
* debian/control (Build-Depends): Added gfortran-4.7 and gcc-4.7.
* debian/patches/10_force_gcc-4.7.patch: New patch, explicitly sets
  gfortran-4.7 and gcc-4.7, fixes test suite hang with gcc-4.8 (Closes:
  #701328, #713262).
* debian/testsuite: Added tests for COSMO analytical gradients and MRCC.
* debian/rules (MRCC_METHODS): New variable, required to enable MRCC methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
     2  k_x1_offset,k_x2_offset,k_x3_offset,k_x4_offset,
4
4
     3  d_r1,d_r2,d_r3,d_r4,omega,residual,k_hbar,iteration)
5
5
c
6
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
6
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
7
7
c
8
8
c     Form a subspace matrix and diagonalize
9
9
c
284
284
c  DIAGONALIZE l_shbar
285
285
c
286
286
c
287
 
      call tddft_dgeev('n','v',nxtrials,dbl_mb(k_shbar),nxtrials,
 
287
      call util_dgeev('n','v',nxtrials,dbl_mb(k_shbar),nxtrials,
288
288
     1  omega,dbl_mb(k_ei),dbl_mb(k_vl),1,dbl_mb(k_vr),nxtrials,
289
289
     2  dbl_mb(k_wk),4*nxtrials,info)
290
290
      if (info.ne.0) call errquit('tce_eom_xdiagon: dgeev failed',info,
291
291
     1  UNKNOWN_ERR)
292
 
      call tddft_sort(nxtrials,omega,dbl_mb(k_vr),'A')
 
292
      call util_nwsort(nxtrials,omega,dbl_mb(k_vr),'A')
293
293
      if (nodezero.and.util_print('omega',print_debug)) then
294
294
        do ivec = 1, nxtrials
295
295
          write(LuOut,9000) omega(ivec),omega(ivec)*au2ev
552
552
     1                           size_x1,size_x2,
553
553
     1                           imicro,xdiis)
554
554
c
555
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
555
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
556
556
c
557
557
c     Form a subspace matrix and diagonalize
558
558
c
637
637
     &                     size_x1,size_x2,
638
638
     &                     c_eff,imicro_x,xdiis,iroot)
639
639
c
640
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
640
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
641
641
c
642
642
c  xc(iroot) = sum(i=1,...,imicro) x(i)
643
643
c
687
687
     &                     size_x1,size_x2,
688
688
     &                     c_eff,omega,imicro,xdiis,residual)
689
689
c
690
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
690
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
691
691
c
692
692
c  delta_x = (omega - H-bar) xc
693
693
c
780
780
      subroutine form_heff(k_x1_offset,k_x2_offset,size_x1,size_x2,
781
781
     &                     c_eff,h_eff,omega,imicro,xdiis,iter_eomcc)
782
782
c
783
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
783
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
784
784
c
785
785
c     Form a subspace matrix and diagonalize
786
786
c
904
904
c
905
905
c
906
906
c
907
 
        call dgeev(jobvl,jobvr,xdiis,h_eff,xdiis,wr,wi,
 
907
        call util_dgeev(jobvl,jobvr,xdiis,h_eff,xdiis,wr,wi,
908
908
     &             vl,xdiis,vr,xdiis,work,lwork,info_x)
909
909
c
910
910
c selection
962
962
      subroutine norm_xc_vector(k_x1_offset,k_x2_offset,
963
963
     1                           size_x1,size_x2,iroot)
964
964
c
965
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
965
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
966
966
c
967
967
c     Form a subspace matrix and diagonalize
968
968
c
1022
1022
      subroutine eom_starts(size_x1,k_x1_offset,d_f1,k_f1_offset,d_v2,
1023
1023
     1 k_v2_offset,k_omegax)
1024
1024
c
1025
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1025
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1026
1026
c
1027
1027
c     Form a subspace matrix and diagonalize
1028
1028
c
1134
1134
     1    call errquit("tce_energy: deall5",24,MA_ERR)
1135
1135
c
1136
1136
c  diagonalize matrix
1137
 
        call dgeev(jobvl,jobvr,nxtrials,dbl_mb(k_matrix),
 
1137
        call util_dgeev(jobvl,jobvr,nxtrials,dbl_mb(k_matrix),
1138
1138
     &   nxtrials,dbl_mb(k_wr),dbl_mb(k_wi),
1139
1139
     &   dbl_mb(k_vl),nxtrials,dbl_mb(k_vr),
1140
1140
     &   nxtrials,dbl_mb(k_work),lwork,info_x)
1192
1192
     1                           size_x1,size_x2,
1193
1193
     1                           imicro,xdiis)
1194
1194
c
1195
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1195
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1196
1196
c
1197
1197
c     Form a subspace matrix and diagonalize
1198
1198
c
1275
1275
     &                     size_x1,size_x2,
1276
1276
     &                     c_eff,omega,imicro,xdiis,residual)
1277
1277
c
1278
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1278
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1279
1279
c
1280
1280
c  delta_x = (omega - H-bar) xc
1281
1281
c
1361
1361
      subroutine form_heff_act(k_x1_offset,k_x2_offset,size_x1,size_x2,
1362
1362
     &                     c_eff,h_eff,omega,imicro,xdiis)
1363
1363
c
1364
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1364
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1365
1365
c
1366
1366
c     Form a subspace matrix and diagonalize
1367
1367
c
1485
1485
c
1486
1486
c
1487
1487
c
1488
 
        call dgeev(jobvl,jobvr,xdiis,h_eff,xdiis,wr,wi,
 
1488
        call util_dgeev(jobvl,jobvr,xdiis,h_eff,xdiis,wr,wi,
1489
1489
     &             vl,xdiis,vr,xdiis,work,lwork,info_x)
1490
1490
c
1491
1491
c selection
1528
1528
      subroutine norm_xc_vector_act(k_x1_offset,k_x2_offset,
1529
1529
     1                           size_x1,size_x2,iroot)
1530
1530
c
1531
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1531
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1532
1532
c
1533
1533
c     Form a subspace matrix and diagonalize
1534
1534
c
1590
1590
      subroutine norm_x_vector_mr(k_x1_offset,k_x2_offset,
1591
1591
     1                           size_x1,size_x2,totr)
1592
1592
c
1593
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1593
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1594
1594
c
1595
1595
c     Form a subspace matrix and diagonalize
1596
1596
c
1677
1677
      subroutine form_heff_mr(k_x1_offset,k_x2_offset,size_x1,size_x2,
1678
1678
     &                      c_eff,h_eff,omega,imicro,xdiis,iter_eomcc)
1679
1679
c
1680
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1680
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1681
1681
c
1682
1682
c     Form a subspace matrix and diagonalize
1683
1683
c
1814
1814
       enddo
1815
1815
c
1816
1816
c
1817
 
        call dgeev(jobvl,jobvr,xdiis*nroots_reduced,h_eff,
 
1817
        call util_dgeev(jobvl,jobvr,xdiis*nroots_reduced,h_eff,
1818
1818
     &             xdiis*nroots_reduced,wr,wi,
1819
1819
     &             vl,xdiis*nroots_reduced,vr,
1820
1820
     &             xdiis*nroots_reduced,work,lwork,info_x)
1864
1864
     &                     size_x1,size_x2,
1865
1865
     &                     c_eff,omega,imicro,xdiis,residual,iroot)
1866
1866
c
1867
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1867
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1868
1868
c
1869
1869
c  delta_x = (omega - H-bar) xc
1870
1870
c
1953
1953
     &                     size_x1,size_x2,
1954
1954
     &                     c_eff,imicro_x,xdiis,iroot)
1955
1955
c
1956
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
1956
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
1957
1957
c
1958
1958
c  xc(iroot) = sum(i=1,...,imicro) x(i)
1959
1959
c
2006
2006
     1                           size_x1,size_x2,
2007
2007
     1                           imicro,xdiis)
2008
2008
c
2009
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
2009
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
2010
2010
c
2011
2011
c     Form a subspace matrix and diagonalize
2012
2012
c
2098
2098
      subroutine norm_x_vector_act_mr(k_x1_offset,k_x2_offset,
2099
2099
     1                           size_x1,size_x2,totr)
2100
2100
c
2101
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
2101
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
2102
2102
c
2103
2103
c     Form a subspace matrix and diagonalize
2104
2104
c
2187
2187
     &                    size_x1,size_x2,
2188
2188
     &                    c_eff,h_eff,omega,imicro,xdiis,iter_eomcc)
2189
2189
c
2190
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
2190
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
2191
2191
c
2192
2192
c     Form a subspace matrix and diagonalize
2193
2193
c
2324
2324
       enddo
2325
2325
c
2326
2326
c
2327
 
        call dgeev(jobvl,jobvr,xdiis*nroots_reduced,h_eff,
 
2327
        call util_dgeev(jobvl,jobvr,xdiis*nroots_reduced,h_eff,
2328
2328
     &             xdiis*nroots_reduced,wr,wi,
2329
2329
     &             vl,xdiis*nroots_reduced,vr,
2330
2330
     &             xdiis*nroots_reduced,work,lwork,info_x)
2374
2374
     &                     size_x1,size_x2,
2375
2375
     &                     c_eff,omega,imicro,xdiis,residual,iroot)
2376
2376
c
2377
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
2377
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
2378
2378
c
2379
2379
c  delta_x = (omega - H-bar) xc
2380
2380
c
2463
2463
     &                     size_x1,size_x2,
2464
2464
     &                     c_eff,imicro_x,xdiis,iroot)
2465
2465
c
2466
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
2466
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
2467
2467
c
2468
2468
c  xc(iroot) = sum(i=1,...,imicro) x(i)
2469
2469
c
2516
2516
     1                           size_x1,size_x2,
2517
2517
     1                           imicro,xdiis)
2518
2518
c
2519
 
c $Id: tce_eom_xdiagon.F 21253 2011-10-20 18:34:29Z kowalski $
 
2519
c $Id: tce_eom_xdiagon.F 24035 2013-04-11 20:23:10Z edo $
2520
2520
c
2521
2521
c     Form a subspace matrix and diagonalize
2522
2522
c