- FPMD prepared for NEB

- variables in module pwcom/varie moved to Modules/control_flags
- module PW/format moved to Modules/format
- in module PW/supercell added workaround for AUTOMATIC variable and
  AIX compilers
- PH Makefile added rbecmod.o


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@468 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
cavazzon 2004-01-07 22:54:02 +00:00
parent 3eae140f76
commit bb4db10003
8 changed files with 69 additions and 14 deletions

View File

@ -16,6 +16,7 @@ energies.o \
fft_base.o \
fft_scalar.o \
fft_types.o \
formats.o \
griddim.o \
input_parameters.o \
io_base.o \

View File

@ -172,6 +172,57 @@
REAL(dbl) :: forc_conv_thr = 0.0d0
INTEGER :: forc_maxiter = 100
!
! ... Several variables controlling the run
!
! ... Control variables use mainly in PW calculations
!
!
REAL(KIND=DP), PUBLIC :: &
mixing_beta, &! the mixing parameter
tr2, &! the convergence threshold for potential
upscale, &! maximum reduction of convergence threshold
time_max, &! maximum allowed cpu time in sec
ethr, &! the convergence threshold for eigenvalues
alpha0, &! the mixing parameters for the extrapolation
beta0, &! of the starting potential
diis_ethr_cg ! threshold in eigval for starting DIIS
INTEGER, PUBLIC :: &
ngm0, &! used in mix_rho
niter, &! the maximum number of iteration
nmix, &! the number of iteration kept in the history
imix, &! the type of mixing (0=plain,1=TF,2=local-TF)
! iprint, &! the interval between full writing of results
iverbosity, &! type of printing ( 0 few, 1 all )
david, &! used on Davidson diagonalization
nstep, &! number of minimization steps
istep, &! current minimization step
isolve, &! Davidson or CG diagonalization
iswitch, &! general switch for the calculation type
modenum, &! used with iswitch=-4
max_cg_iter, &! maximum number of iterations in a CG di
diis_buff, &! dimension of the buffer in diis
diis_ndim, &! dimension of reduced basis in DIIS
order ! type of potential updating ( see update_pot )
!
LOGICAL, PUBLIC :: &
lscf, &! if .TRUE. the calculation is selfconsistent
lbfgs, &! if .TRUE. the calculation is a bfgs-type relaxation
lnewbfgs, &! if .TRUE. the calculation is a relaxation based on new BFGS scheme
lmd, &! if .TRUE. the calculation is a dynamics
lneb, &! if .TRUE. the calculation is neb
conv_elec, &! if .TRUE. electron convergence has been reached
conv_ions, &! if .TRUE. ionic convergence has been reached
nosym, &! if .TRUE. no symmetry is used
newpseudo(npsx), &! if .TRUE. done with the new pseudopotentials
noinv = .FALSE., &! if .TRUE. eliminates inversion symmetry
diis_wfc_keep, &! if .TRUE. keeps old wfc for starting
restart, &! if .TRUE. restart from results of a preceding run
reduce_io ! if .TRUE. reduce the I/O to the strict minimum
!
! end of module-scope declarations
! ----------------------------------------------

View File

@ -17,8 +17,8 @@
# include "/cineca/prod/hpm/include/f_hpm.h"
#endif
#undef __FFT_BASE_TS1
!#define __FFT_BASE_TS1
!#undef __FFT_BASE_TS1
#define __FFT_BASE_TS1
!=----------------------------------------------------------------------=!
MODULE fft_base

View File

@ -266,6 +266,7 @@ PWOBJS = \
../PW/pw_gemm.o \
../PW/qvan2.o \
../PW/random.o \
../PW/rbecmod.o \
../PW/rdiaghg.o \
../PW/read_conf_from_file.o \
../PW/read_file.o \

View File

@ -96,7 +96,6 @@ force_hub.o \
force_lc.o \
force_us.o \
forces.o \
formats.o \
funct.o \
functionals.o \
g_psi.o \

View File

@ -433,9 +433,7 @@ MODULE varie
!
! ... Several variables controlling the run
!
SAVE
!
REAL(KIND=DP) :: &
USE control_flags, ONLY: &
mixing_beta, &! the mixing parameter
tr2, &! the convergence threshold for potential
upscale, &! maximum reduction of convergence threshold
@ -443,8 +441,7 @@ MODULE varie
ethr, &! the convergence threshold for eigenvalues
alpha0, &! the mixing parameters for the extrapolation
beta0, &! of the starting potential
diis_ethr_cg ! threshold in eigval for starting DIIS
INTEGER :: &
diis_ethr_cg, &! threshold in eigval for starting DIIS
ngm0, &! used in mix_rho
niter, &! the maximum number of iteration
nmix, &! the number of iteration kept in the history
@ -460,9 +457,7 @@ MODULE varie
max_cg_iter, &! maximum number of iterations in a CG di
diis_buff, &! dimension of the buffer in diis
diis_ndim, &! dimension of reduced basis in DIIS
order ! type of potential updating ( see update_pot )
!
LOGICAL :: &
order, &! type of potential updating ( see update_pot )
lscf, &! if .TRUE. the calculation is selfconsistent
lbfgs, &! if .TRUE. the calculation is a bfgs-type relaxation
lnewbfgs, &! if .TRUE. the calculation is a relaxation based on new BFGS scheme
@ -471,8 +466,8 @@ MODULE varie
conv_elec, &! if .TRUE. electron convergence has been reached
conv_ions, &! if .TRUE. ionic convergence has been reached
nosym, &! if .TRUE. no symmetry is used
newpseudo(npsx), &! if .TRUE. done with the new pseudopotentials
noinv = .FALSE., &! if .TRUE. eliminates inversion symmetry
newpseudo, &! if .TRUE. done with the new pseudopotentials
noinv, &! if .TRUE. eliminates inversion symmetry
diis_wfc_keep, &! if .TRUE. keeps old wfc for starting
restart, &! if .TRUE. restart from results of a preceding run
reduce_io ! if .TRUE. reduce the I/O to the strict minimum

View File

@ -23,8 +23,16 @@ MODULE supercell
!
REAL (KIND=DP), DIMENSION(:), INTENT(IN) :: vect
REAL (KIND=DP), DIMENSION(SIZE( vect )) :: pbc
#if defined __AIX
! with AIX compiler some combination of flags lead to
! variables being defined as static, hence giving a conflict
! with PURE function. We then force the variable be AUTOMATIC
REAL (KIND=DP), AUTOMATIC, DIMENSION(3) :: crystal
INTEGER, AUTOMATIC :: i, j, index
#else
REAL (KIND=DP), DIMENSION(3) :: crystal
INTEGER :: i, j, index
INTEGER :: i, j, index
#endif
!
!
pbc = 0.D0