diff --git a/src/nwdft/coulomb/dft_fitvc.F b/src/nwdft/coulomb/dft_fitvc.F index 253893d322..81e587f8db 100644 --- a/src/nwdft/coulomb/dft_fitvc.F +++ b/src/nwdft/coulomb/dft_fitvc.F @@ -61,6 +61,7 @@ c integer k_at,l_at,atom_c_in,atom_d_in integer nbffac logical v_nonzero + integer nctr_used external nxtask double precision ddot external ddot @@ -151,9 +152,11 @@ c call ga_zero(g_vc(imat)) enddo if(.not.MA_Push_Get(MT_int,ncenters,'at list',l_at,k_at)) - & call errquit('dft_fitvc: cannot allocate at list',0, MA_ERR) + & call errquit('dft_fitvc: cannot allocate at list for nat=', + N ncenters, MA_ERR) c sort atoms list based on decreasing atomic weight - call dft_sortatbyz(geom,ncenters,int_mb(k_at)) + nctr_used=ncenters + call dft_sortatbyz_screen(ao_bas_han,geom,nctr_used,int_mb(k_at)) c n1=0 use_nxtask=.not.incore @@ -162,7 +165,7 @@ c ipoint=1 c n_batch_done = 1 - do atom_c_in = 1,ncenters + do atom_c_in = 1,nctr_used atom_c=int_mb(k_at+atom_c_in-1) if (.not. bas_ce2cnr( AO_bas_han, atom_c, sh_lo_c, sh_hi_c)) & call errquit('Exiting in dft_fitcd',110, BASIS_ERR) diff --git a/src/nwdft/libxc/nwchem_libxc_compute.F b/src/nwdft/libxc/nwchem_libxc_compute.F index 0e4d3da1ea..da5b9a0507 100644 --- a/src/nwdft/libxc/nwchem_libxc_compute.F +++ b/src/nwdft/libxc/nwchem_libxc_compute.F @@ -83,28 +83,28 @@ size2 = nq*(ipol*(ipol+1))/2 if (.not.(ma_push_get(mt_dbl,size1,'rhoval',lrho,krho))) - $ call errquit(" could not allocate",0,ma_err) + $ call errquit(" could not allocate rhoval",0,ma_err) if (.not.(ma_push_get(mt_dbl,size1,'vrho',lvrho,kvrho))) - $ call errquit(" could not allocate",0,ma_err) + $ call errquit(" could not allocate vrho",0,ma_err) if (.not.(ma_push_get(mt_dbl,nq,'exc',lexc,kexc))) - $ call errquit(" could not allocate",0,ma_err) + $ call errquit(" could not allocate exc",0,ma_err) if (ksgrad) then if (.not.(ma_push_get(mt_dbl,size2,'sigma',lsigma,ksigma))) - $ call errquit(" could not allocate",0,ma_err) + $ call errquit(" could not allocate sigma",0,ma_err) if (.not.(ma_push_get(mt_dbl,size2,'vsigma',lvsigma,kvsigma))) - $ call errquit(" could not allocate",0,ma_err) + $ call errquit(" could not allocate vsigma",0,ma_err) endif if (kske.or.kslap) then - if (.not.(ma_push_get(mt_dbl,size2,'tau',ltau,ktau))) - $ call errquit(" could not allocate",0,ma_err) - if (.not.(ma_push_get(mt_dbl,size2,'vtau',lvtau,kvtau))) - $ call errquit(" could not allocate",0,ma_err) - if (.not.(ma_push_get(mt_dbl,size2,'lapl',llapl,klapl))) - $ call errquit(" could not allocate",0,ma_err) - if (.not.(ma_push_get(mt_dbl,size2,'vlapl',lvlapl,kvlapl))) - $ call errquit(" could not allocate",0,ma_err) + if (.not.(ma_push_get(mt_dbl,size1,'tau',ltau,ktau))) + $ call errquit(" could not allocate tau",0,ma_err) + if (.not.(ma_push_get(mt_dbl,size1,'vtau',lvtau,kvtau))) + $ call errquit(" could not allocate vtau",0,ma_err) + if (.not.(ma_push_get(mt_dbl,size1,'lapl',llapl,klapl))) + $ call errquit(" could not allocate lapl",0,ma_err) + if (.not.(ma_push_get(mt_dbl,size1,'vlapl',lvlapl,kvlapl))) + $ call errquit(" could not allocate vlapl",0,ma_err) endif if (do_2nd .or. do_3rd) then diff --git a/src/nwdft/libxc/nwchem_libxc_util.F b/src/nwdft/libxc/nwchem_libxc_util.F index 36b370af18..3f8756bec5 100644 --- a/src/nwdft/libxc/nwchem_libxc_util.F +++ b/src/nwdft/libxc/nwchem_libxc_util.F @@ -59,11 +59,19 @@ nwchem_libxc_family = iand(libxc_flags(ifunc), $ xc_flags_have_fxc).eq. $ xc_flags_have_fxc +C MGGAs are not ready for 2nd derivatives + if((libxc_family(ifunc).eq.xc_family_mgga).or. + $ (libxc_family(ifunc).eq.xc_family_hyb_mgga)) + $ nwchem_libxc_family = .false. if (.not.nwchem_libxc_family) return elseif (family.eq."kxc") then nwchem_libxc_family = iand(libxc_flags(ifunc), $ xc_flags_have_kxc).eq. $ xc_flags_have_kxc +C MGGAs are not ready for 3rd derivatives + if((libxc_family(ifunc).eq.xc_family_mgga).or. + $ (libxc_family(ifunc).eq.xc_family_hyb_mgga)) + $ nwchem_libxc_family = .false. if (.not.nwchem_libxc_family) return endif enddo diff --git a/src/nwdft/rt_tddft/input/rt_tddft_input_field.F b/src/nwdft/rt_tddft/input/rt_tddft_input_field.F index 05dbf77d20..57d1c4e662 100644 --- a/src/nwdft/rt_tddft/input/rt_tddft_input_field.F +++ b/src/nwdft/rt_tddft/input/rt_tddft_input_field.F @@ -655,12 +655,14 @@ C == Variables == entry_name = trim(basename) // "name" if (.not.rtdb_cget(rtdb,entry_name,1,field%name)) - $ call errquit(pname//'Read failed for name rtdb', + $ call errquit(pname//'Read failed for name rtdb =' + $ //entry_name, $ 0,RTDB_ERR) entry_name = trim(basename) // "filename" if (.not.rtdb_cget(rtdb,entry_name,1,field%filename)) - $ call errquit(pname//'Read failed for name rtdb', + $ call errquit(pname//'Read failed for filename rtdb =' + $ //entry_name, $ 0,RTDB_ERR) entry_name = trim(basename) // "type"