mirror of
https://github.com/nwchemgit/nwchem.git
synced 2026-07-28 06:05:44 -04:00
use peigs only when USE_PEIGS is on
This commit is contained in:
parent
e0b6685260
commit
7ff904edc3
14 changed files with 46 additions and 34 deletions
|
|
@ -182,7 +182,6 @@ c
|
|||
if (.not. ma_push_get(MT_DBL,nbf,'psquared',p2m_a,p2Im_a))
|
||||
$ call errquit('int_1edk_ga: ma_push_get failed psquared',0,
|
||||
& MA_ERR)
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
c pdsygv is unstable since it uses the inaccurate pdsyevx
|
||||
cold call ga_pdsygv(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
|
||||
|
|
@ -202,9 +201,8 @@ c diag f_prime c_prime
|
|||
c c=inv(chol)_t*c_prime
|
||||
call ga_dgemm('n','n',nbf,nbf,nbf,1.0d0,tempg_a,tmpg_a,
|
||||
Z 0.0d0,ug_a)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_seq(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -168,7 +168,6 @@ c
|
|||
if (.not. ma_push_get(MT_DBL,nbf,'psquared',p2m_a,p2Im_a))
|
||||
$ call errquit('int_1edk_ga: ma_push_get failed psquared',0,
|
||||
& MA_ERR)
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
c pdsygv is unstable since it uses the inaccurate pdsyevx
|
||||
cold call ga_pdsygv(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
|
||||
|
|
@ -191,9 +190,8 @@ c diag f_prime c_prime
|
|||
c c=inv(chol)_t*c_prime
|
||||
call ga_dgemm('n','n',nbf,nbf,nbf,1.0d0,tempg_a,tmpg_a,
|
||||
Z 0.0d0,ug_a)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_seq(Tg_a,tempg_a,Ug_a,dbl_mb(p2Im_a))
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -203,12 +203,10 @@ c
|
|||
if ( util_print('evp_input', print_never) ) then
|
||||
call scf_dump_evp_input(rtdb,g_fock,g_over)
|
||||
endif
|
||||
#if defined(PARALLEL_DIAG)
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsygv(g_fock,g_over, g_tmp, dbl_mb(k_eval))
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag( g_fock, g_over, g_tmp, dbl_mb(k_eval))
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_seq( g_fock, g_over, g_tmp, dbl_mb(k_eval))
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -371,12 +371,10 @@ c
|
|||
call ga_dgemm('t','n',nscat,nscat,nbf_all,
|
||||
& 1.0d0, g_tran, g_tmp, 1.0d0, g_scat)
|
||||
c
|
||||
#if defined(PARALLEL_DIAG)
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsygv(g_scat, g_over, g_tmpscat, dbl_mb(k_evals+nbf))
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag(g_scat, g_over, g_tmpscat, dbl_mb(k_evals+nbf))
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_seq(g_scat, g_over, g_tmpscat, dbl_mb(k_evals+nbf))
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -94,12 +94,10 @@ C
|
|||
!
|
||||
! Perform the Eigendecomposition of the Casida matrix
|
||||
!
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
call dft_scaleig(g_rpa,g_rpa,omega,0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_rpa,g_rpa,omega)
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_std_seq(g_rpa,g_rpa,omega)
|
||||
#endif
|
||||
|
|
@ -247,12 +245,10 @@ c ECRPA pending
|
|||
c pars%ecrpa =
|
||||
|
||||
c Diagonalize RPA matrix
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
call dft_scaleig(g_rpa,g_rpa,omega,0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_rpa,g_rpa,omega)
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_std_seq(g_rpa,g_rpa,omega)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ c
|
|||
c
|
||||
pars%fdstep = 0.0005d0
|
||||
|
||||
#if defined(PARALLEL_DIAG) && defined(SCALAPACK)
|
||||
#if defined(SCALAPACK)
|
||||
call slexit
|
||||
call slexit2
|
||||
call slexit3
|
||||
|
|
|
|||
|
|
@ -105,8 +105,10 @@ c
|
|||
#ifdef SCALAPACK
|
||||
call dft_scaleig(g_tmp, g_tmp2, DBl_MB(iev),
|
||||
P 0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_tmp,g_tmp2,DBl_MB(iev))
|
||||
#else
|
||||
call ga_diag_std_seq(g_tmp,g_tmp2,DBl_MB(iev))
|
||||
#endif
|
||||
|
||||
!
|
||||
|
|
|
|||
|
|
@ -1195,12 +1195,10 @@ c
|
|||
call ga_copy_patch( 'n', g_gfock, 1, nclosed, 1, nclosed,
|
||||
$ g_tmp, 1, nclosed, 1, nclosed )
|
||||
call ga_symmetrize( g_tmp )
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsyev (g_tmp, g_u, eps, 0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std( g_tmp, g_u, eps )
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_std_seq( g_tmp, g_u, eps )
|
||||
#endif
|
||||
|
|
@ -1224,12 +1222,10 @@ c
|
|||
call ga_copy_patch( 'n', g_gfock, aoff, aend, aoff, aend,
|
||||
$ g_tmp, 1, nact, 1, nact )
|
||||
call ga_symmetrize( g_tmp )
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsyev (g_tmp, g_u, eps(aoff), 0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std( g_tmp, g_u, eps(aoff) )
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_std_seq( g_tmp, g_u, eps(aoff) )
|
||||
#endif
|
||||
|
|
@ -1254,12 +1250,10 @@ c
|
|||
$ 2.d0, g_afock, aoff, nbf, aoff, nbf,
|
||||
$ g_tmp, 1, nvir, 1, nvir )
|
||||
call ga_symmetrize( g_tmp )
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsyev (g_tmp, g_u, eps(aoff), 0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std( g_tmp, g_u, eps(aoff) )
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_std_seq( g_tmp, g_u, eps(aoff) )
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -99,12 +99,10 @@ c to most weakly occupied, negate the density.
|
|||
c
|
||||
call ga_scale(g_dens,-1.0d0)
|
||||
c
|
||||
#ifdef PARALLEL_DIAG
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsyev (g_dens, g_work, dbl_mb(k_eval+ioff), 0)
|
||||
#else
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_dens, g_work, dbl_mb(k_eval+ioff))
|
||||
#endif
|
||||
#else
|
||||
call ga_diag_std_seq(g_dens, g_work, dbl_mb(k_eval+ioff))
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -570,7 +570,14 @@ c
|
|||
dbl_mb(k_h+j-1) = 0.0d0
|
||||
enddo
|
||||
|
||||
#ifdef SCALAPACK
|
||||
call dft_scaleig(g_h,g_hvec,dbl_mb(k_h),
|
||||
P mdeg)
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_h,g_hvec,dbl_mb(k_h))
|
||||
#else
|
||||
call ga_diag_std_seq(g_h,g_hvec,dbl_mb(k_h))
|
||||
#endif
|
||||
|
||||
cccc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CJB Analyse
|
||||
|
|
|
|||
|
|
@ -575,7 +575,14 @@ c
|
|||
dbl_mb(k_h+j-1) = 0.0d0
|
||||
enddo
|
||||
|
||||
#ifdef SCALAPACK
|
||||
call dft_scaleig(g_h,g_hvec,dbl_mb(k_h),
|
||||
P mdeg)
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_h,g_hvec,dbl_mb(k_h))
|
||||
#else
|
||||
call ga_diag_std_seq(g_h,g_hvec,dbl_mb(k_h))
|
||||
#endif
|
||||
|
||||
cccc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CJB Analyse
|
||||
|
|
|
|||
|
|
@ -68,7 +68,14 @@ C
|
|||
call ga_zero (g_fockre_mo)
|
||||
call ga_zero (g_fockim_mo)
|
||||
call convert_z2d (g_zfock_mo, g_fockre_mo, g_fockim_mo)
|
||||
call ga_diag_std (g_fockre_mo, g_movecs_gs, dbl_mb(ievals))
|
||||
#ifdef SCALAPACK
|
||||
call dft_scaleig(g_fockre_mo, g_movecs_gs, dbl_mb(ievals),
|
||||
P params%ns_mo)
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(g_fockre_mo, g_movecs_gs, dbl_mb(ievals))
|
||||
#else
|
||||
call ga_diag_std_seq(g_fockre_mo, g_movecs_gs, dbl_mb(ievals))
|
||||
#endif
|
||||
|
||||
|
||||
C XXX
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
#$Id$
|
||||
|
||||
OBJ= ga_chol.o ga_inverse.o ga_chol_seq.o ga_inv_seq.o dft_invio.o dft_print_mats.o dft_save_mats.o
|
||||
OBJ= ga_chol_seq.o ga_inv_seq.o dft_invio.o dft_print_mats.o dft_save_mats.o
|
||||
ifdef _USE_PEIGS
|
||||
OBJ+= ga_chol.o ga_inverse.o
|
||||
endif
|
||||
|
||||
|
||||
OBJ_OPTIMIZE= \
|
||||
|
|
|
|||
|
|
@ -185,7 +185,13 @@ c > read_time,diag_time)
|
|||
if (oprint)
|
||||
>write(luout,*) "Into diagonalize matrix,current time=",cpu2-cpu1
|
||||
|
||||
#ifdef SCALAPACK
|
||||
call ga_pdsyev(hmatrix,vmatrix,eigs,0)
|
||||
#elif defined(PEIGS)
|
||||
call ga_diag_std(hmatrix,vmatrix,eigs)
|
||||
#else
|
||||
call ga_diag_std_seq(hmatrix,vmatrix,eigs)
|
||||
#endif
|
||||
call current_second(cpu3)
|
||||
|
||||
!*** destroy the ga matrix hmatrix ***
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue