Limited support to disk_io fine control like in pwscf. Currently only 'reduced'

is supported, which prevents any restart file to be written on disk. Will
definetely work more on that


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7568 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
obm 2011-03-11 11:42:15 +00:00
parent 611dc9ee19
commit 7f8b716e15
4 changed files with 24 additions and 6 deletions

View File

@ -30,6 +30,7 @@ subroutine bcast_lr_input
!
!
call mp_barrier()
call mp_bcast (lr_io_level, ionode_id )
call mp_bcast (itermax, ionode_id )
call mp_bcast (itermax_int, ionode_id )
call mp_bcast (charge_response, ionode_id )

View File

@ -21,7 +21,7 @@ PROGRAM lr_main
n_ipol, d0psi, rho_1_tot, rho_1_tot_im,&
LR_iteration, LR_polarization, &
plot_type, no_hxc, nbnd_total, project, F,R, &
itermax_int
itermax_int, lr_io_level
USE io_files, ONLY : nd_nmbr
USE global_version, ONLY : version_number
USE charg_resp, ONLY : lr_calc_w_T, read_wT_beta_gamma_z, &
@ -249,7 +249,7 @@ PROGRAM lr_main
!
call one_lanczos_step()
!
IF ( mod(LR_iteration,restart_step)==0 .OR. LR_iteration==itermax .OR. LR_iteration==1 ) CALL lr_write_restart()
IF ( lr_io_level > 0 .and. (mod(LR_iteration,restart_step)==0 .OR. LR_iteration==itermax .OR. LR_iteration==1) ) CALL lr_write_restart()
END DO lancz_loop1
!
if (charge_response == 1 ) then

View File

@ -47,10 +47,13 @@ subroutine lr_readin
implicit none
!
character(len=256) :: beta_gamma_z_prefix
! fine control of beta_gamma_z file
CHARACTER(len=80) :: disk_io
! Specify the amount of I/O activities
integer :: ios, iunout,ierr,ipol
logical :: auto_rs
!
namelist / lr_input / restart, restart_step ,lr_verbosity, prefix, outdir, test_case_no, wfcdir
namelist / lr_input / restart, restart_step ,lr_verbosity, prefix, outdir, test_case_no, wfcdir,disk_io
namelist / lr_control / itermax, ipol, ltammd, real_space, real_space_debug, charge_response, tqr, auto_rs, no_hxc,n_ipol,project
namelist / lr_post / omeg, beta_gamma_z_prefix, w_T_npol, plot_type, epsil,itermax_int
!
@ -69,6 +72,7 @@ subroutine lr_readin
restart_step = itermax+1
lr_verbosity = 1
prefix = 'pwscf'
disk_io = 'default'
ltammd = .false.
ipol = 1
n_ipol=1
@ -157,6 +161,20 @@ subroutine lr_readin
!
end if
if (itermax_int < itermax) itermax_int=itermax
!
! Limited disk_io support: currently only one setting is supported
!
SELECT CASE( trim( disk_io ) )
CASE ( 'reduced' )
!
lr_io_level = -1
restart = .false.
!
CASE DEFAULT
!
lr_io_level = 1
END SELECT
#ifdef __PARA
end if
call bcast_lr_input
@ -173,8 +191,6 @@ subroutine lr_readin
WRITE(stdout,'(5x,"Status of real space flags: TQR=", L5 ," REAL_SPACE=", L5)') tqr, real_space
endif
!print *, "rs_status-ended"
! Here we finished the reading of the input file.
! Now PWSCF XML file will be read, and various initialisations will be done
!
!print *, "newd"

View File

@ -149,6 +149,7 @@ module lr_variables
integer :: lr_verbosity ! verbosity level for linear response routines
!
integer :: test_case_no = 0 ! OBM, this dummy variable performs various tests
integer :: lr_io_level = 1 ! Controls disk io
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! lr_control: