[Q-e-commits] r8248 - trunk/espresso/TDDFPT/src

sbinnie at sissa.it sbinnie at sissa.it
Wed Nov 16 15:04:48 CET 2011


Author: sbinnie
Date: 2011-11-16 15:04:48 +0100 (Wed, 16 Nov 2011)
New Revision: 8248

Modified:
   trunk/espresso/TDDFPT/src/lr_readin.f90
Log:
Added error trap for turbo_lanczos.x if attempting to use it with a different number of processors than pw.x without wf_collect=.true. 
The previous behaviour was to blithly continue and generate garbage.


Modified: trunk/espresso/TDDFPT/src/lr_readin.f90
===================================================================
--- trunk/espresso/TDDFPT/src/lr_readin.f90	2011-11-15 14:42:59 UTC (rev 8247)
+++ trunk/espresso/TDDFPT/src/lr_readin.f90	2011-11-16 14:04:48 UTC (rev 8248)
@@ -22,7 +22,7 @@
   USE lsda_mod,            ONLY : current_spin, nspin
   USE control_flags,       ONLY : twfcollect,use_para_diag
   USE scf,                 ONLY : vltot, v, vrs, vnew, &
-                                   & destroy_scf_type
+                                  & destroy_scf_type
   USE fft_base,            ONLY : dfftp
   USE gvecs,               ONLY : doublegrid
   USE wvfct,               ONLY : nbnd, et, wg
@@ -34,18 +34,22 @@
   USE input_parameters,    ONLY : degauss, nosym,wfcdir,outdir
   USE ktetra,              ONLY : ltetra
   USE realus,              ONLY : real_space, real_space_debug, &
-                                   init_realspace_vars, qpointlist, &
-                                   betapointlist,read_rs_status,newd_r
+                                  & init_realspace_vars, qpointlist, &
+                                  & betapointlist,read_rs_status,newd_r
   USE funct,               ONLY : dft_is_meta
   USE io_global,           ONLY : stdout
-  USE control_flags,       ONLY : tqr
+  USE control_flags,       ONLY : tqr, twfcollect
   USE iotk_module
   USE charg_resp,          ONLY : w_T_prefix, omeg, w_T_npol, epsil
-  USE mp,        ONLY : mp_bcast,mp_barrier
-  USE mp_global, ONLY : my_pool_id, intra_image_comm, intra_pool_comm
-  USE io_global, ONLY : ionode, ionode_id
-  USE DFUNCT,         ONLY : newd
-  USE vlocal,         ONLY : strf
+  USE mp,                  ONLY : mp_bcast,mp_barrier
+  USE mp_global,           ONLY : my_pool_id, intra_image_comm, &
+                                  & intra_pool_comm, nproc_image, &
+                                  & nproc_pool, nproc_pool_file, &
+                                  & nproc_image_file
+  USE io_global,           ONLY : ionode, ionode_id
+  USE DFUNCT,              ONLY : newd
+  USE vlocal,              ONLY : strf
+
   IMPLICIT NONE
   !
   CHARACTER(LEN=256), EXTERNAL :: trimcheck
@@ -257,6 +261,12 @@
   IF ( .not. nosym ) &
        CALL errore( ' iosys ', ' Linear response calculation ' // &
        & 'not implemented with symmetry', 1 )
+  IF (nproc_image /= nproc_image_file .and. .not. twfcollect)  &
+     CALL errore('lr_readin',&
+     'pw.x run with a different number of processors. Use wf_collect=.true.',1)
+  IF (nproc_pool /= nproc_pool_file .and. .not. twfcollect)  &
+     CALL errore('lr_readin',&
+     'pw.x run with a different number of pools. Use wf_collect=.true.',1)
   !
   !
   !Scalapack related stuff, 



More information about the Q-e-commits mailing list