The parameter max_out_wfc transformed into a variable that can be controlled

from input.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7762 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
dalcorso 2011-05-08 16:12:53 +00:00
parent db1c47606a
commit 924628bd45
5 changed files with 19 additions and 9 deletions

View File

@ -40,7 +40,7 @@ subroutine ld1_readin
rmatch_augfun_nc, &
rhos, bmat, lsmall, & ! extra for paw2us
lgipaw_reconstruction, lsave_wfc, &
relpert, noscf, &
relpert, noscf, max_out_wfc, &
rcutv ! LDA-1/2
use funct, only : set_dft_from_name
@ -95,6 +95,8 @@ subroutine ld1_readin
file_charge, & ! file with the all-electron charge
write_coulomb, & ! if .true. write a fake pseudopotential file with the
! Coulomb potential for usage in all-electron calculations
max_out_wfc, & ! maximum number of wavefunctions written in the
! output file
relpert ! compute relativistic perturbative corrections
namelist /test/ &
@ -201,6 +203,7 @@ subroutine ld1_readin
latt= 0
title = ' '
config= ' '
max_out_wfc=7
verbosity='low'
lpaw = .false.
@ -654,7 +657,7 @@ subroutine bcast_input()
USE mp, ONLY : mp_bcast
USE ld1inc, ONLY : zed, beta, tr2, iswitch, nlc, rlderiv, eminld, emaxld, &
deld, lsd, rel, lsmall, isic, latt, title, prefix, vdw, &
nld, noscf, relpert, file_charge
nld, noscf, relpert, file_charge, max_out_wfc
implicit none
@ -679,6 +682,7 @@ implicit none
call mp_bcast( relpert, ionode_id )
call mp_bcast( vdw, ionode_id )
call mp_bcast( file_charge, ionode_id )
call mp_bcast( max_out_wfc, ionode_id )
#endif
return
end subroutine bcast_input

View File

@ -167,6 +167,8 @@ MODULE ld1inc
isic, & ! if true uses self-interaction correction
latt, & ! if true Latter's correction is applied
iswitch, & ! control the type of run
max_out_wfc, & ! maximum number of wavefunctions written on the
! wavefunctions file.
rel ! 0 nonrelativistic calculation
! 1 scalar relativistic calculation
! 2 calculation with the full dirac equation

View File

@ -20,14 +20,11 @@ subroutine write_results
dhrsic, dxcsic, eps0, iter, psi, rytoev_fact, lsmall, &
core_state, ekinc, ekinv, ae_fc_energy, cau_fact, &
relpert, evel, edar, eso, noscf, iswitch, rho, &
file_charge
file_charge, max_out_wfc
use funct, only : get_iexch, get_dft_name
implicit none
integer, parameter :: max_out_wfc=7
! max number of wfcts written to file
! you need to change the format as well if you increase this
integer :: is, i, j, n, m, im(40), ios, counter, ismax
real(DP):: work(ndmx), dum, int_0_inf_dr, ravg, r2avg, sij, ene, mm, &
sij1, sij2, charge_large, charge_small, work1(ndmx), work2(ndmx)

View File

@ -18,13 +18,12 @@ SUBROUTINE write_resultsps ( )
grid, enl, eps0, iter, etot, etots, etot0, lpaw, &
etots0, ekin, encl, ehrt, ecxc, nlcc, ecc, evxt, epseu, &
dhrsic, dxcsic, file_wavefunctionsps, phits, rytoev_fact, &
verbosity, frozen_core, ae_fc_energy, jj
verbosity, frozen_core, ae_fc_energy, jj, max_out_wfc
USE ld1inc, ONLY : nwf, el, psi, rcut
USE funct, ONLY: get_dft_name
IMPLICIT NONE
INTEGER, PARAMETER :: max_out_wfc=6
! max_out_wfc = max number of PS wfcts written to file
INTEGER :: counter
real(DP) :: psiaux(ndmx,2*max_out_wfc), phase
CHARACTER (len=2) :: elaux(2*max_out_wfc)

View File

@ -158,6 +158,14 @@ input_description -distribution {Quantum Espresso} -program ld1.x {
}
}
var max_out_wfc -type INTEGER {
default { 7 }
info {
Maximum number of atomic wavefunctions written in the output
file.
}
}
var noscf -type LOGICAL {
default { .false. }
info {