mirror of https://gitlab.com/QEF/q-e.git
More miscellanous cleanup from Axel:
- disable locales via use of LC_ALL=C in all shell scripts (which will hopefully make sorted lists more consistent between people running with different locales). - remove redundant files from PW, NMR_new, VdW, VIB; rename subroutines if their functionality is noI unchanged from the original source it was taken from. - corresponding updates to Makefiles and dependencies. - whitespace cleanups (eleminate remaining tabs). - a few more float->DBLE git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3596 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
166ec98487
commit
19aaac89fa
|
@ -172,7 +172,7 @@
|
|||
!-------------verifica
|
||||
! do i=1,n
|
||||
! do ig=1,ngw
|
||||
! phi(ig,i,1,1)=phi(ig,i,1,1)+c0(ig,i,1,1)*(1.d0/ema0bg(ig)-1.d0)
|
||||
! phi(ig,i,1,1)=phi(ig,i,1,1)+c0(ig,i,1,1)*(1.d0/ema0bg(ig)-1.d0)
|
||||
! enddo
|
||||
! enddo
|
||||
! !call calbec(1,nsp,eigr,phi,becm)
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
#include "f_defs.h"
|
||||
!
|
||||
!----------------------------------------------------------------------------
|
||||
SUBROUTINE compute_scf( N_in, N_fin, stat )
|
||||
!----------------------------------------------------------------------------
|
||||
|
@ -35,7 +37,7 @@ SUBROUTINE compute_scf( N_in, N_fin, stat )
|
|||
INTEGER :: image
|
||||
REAL(DP) :: tcpu
|
||||
CHARACTER(LEN=256) :: outdir_saved
|
||||
LOGICAL :: file_exists, opnd
|
||||
LOGICAL :: opnd
|
||||
REAL(DP), ALLOCATABLE :: tau(:,:)
|
||||
REAL(DP), ALLOCATABLE :: fion(:,:)
|
||||
REAL(DP) :: etot
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! cp_autopilot.f90
|
||||
!********************************************************************************
|
||||
! cp_autopilot.f90 Copyright (c) 2005 Targacept, Inc.
|
||||
! cp_autopilot.f90 Copyright (c) 2005 Targacept, Inc.
|
||||
!********************************************************************************
|
||||
! The Autopilot Feature suite is a user level enhancement that enables the
|
||||
! following features:
|
||||
|
|
42
CPV/cpr.f90
42
CPV/cpr.f90
|
@ -351,15 +351,15 @@ SUBROUTINE cprmain( tau_out, fion_out, etot_out )
|
|||
!
|
||||
IF ( lconstrain ) THEN
|
||||
!
|
||||
IF ( ionode ) THEN
|
||||
!
|
||||
IF ( ionode ) THEN
|
||||
!
|
||||
ALLOCATE( usrt_tau0( 3, nat ) )
|
||||
ALLOCATE( usrt_taup( 3, nat ) )
|
||||
ALLOCATE( usrt_fion( 3, nat ) )
|
||||
!
|
||||
usrt_tau0(:,:) = tau0(:,ind_bck(:))
|
||||
usrt_fion(:,:) = fion(:,ind_bck(:))
|
||||
!
|
||||
!
|
||||
usrt_tau0(:,:) = tau0(:,ind_bck(:))
|
||||
usrt_fion(:,:) = fion(:,ind_bck(:))
|
||||
!
|
||||
IF ( lcoarsegrained ) CALL set_target()
|
||||
!
|
||||
! ... we first remove the component of the force along the
|
||||
|
@ -370,11 +370,11 @@ SUBROUTINE cprmain( tau_out, fion_out, etot_out )
|
|||
if_pos, ityp, 1.D0, usrt_fion )
|
||||
!
|
||||
fion(:,:) = usrt_fion(:,ind_srt(:))
|
||||
!
|
||||
END IF
|
||||
!
|
||||
CALL mp_bcast( fion, ionode_id, intra_image_comm )
|
||||
!
|
||||
!
|
||||
END IF
|
||||
!
|
||||
CALL mp_bcast( fion, ionode_id, intra_image_comm )
|
||||
!
|
||||
END IF
|
||||
!
|
||||
CALL ions_move( tausp, taus, tausm, iforce, pmass, fion, ainv, &
|
||||
|
@ -386,28 +386,28 @@ SUBROUTINE cprmain( tau_out, fion_out, etot_out )
|
|||
! ... constraints are imposed here
|
||||
!
|
||||
IF ( ionode ) THEN
|
||||
!
|
||||
!
|
||||
CALL s_to_r( tausp, taup, na, nsp, hnew )
|
||||
!
|
||||
usrt_taup(:,:) = taup(:,ind_bck(:))
|
||||
usrt_taup(:,:) = taup(:,ind_bck(:))
|
||||
!
|
||||
CALL check_constraint( nat, usrt_taup, usrt_tau0, usrt_fion, &
|
||||
if_pos, ityp, 1.D0, delt, amu_au )
|
||||
if_pos, ityp, 1.D0, delt, amu_au )
|
||||
!
|
||||
taup(:,:) = usrt_taup(:,ind_srt(:))
|
||||
fion(:,:) = usrt_fion(:,ind_srt(:))
|
||||
taup(:,:) = usrt_taup(:,ind_srt(:))
|
||||
fion(:,:) = usrt_fion(:,ind_srt(:))
|
||||
!
|
||||
! ... average value of the lagrange multipliers
|
||||
!
|
||||
IF ( lcoarsegrained ) CALL mean_force( nfi, etot, 1.D0 )
|
||||
!
|
||||
DEALLOCATE( usrt_tau0, usrt_taup, usrt_fion )
|
||||
!
|
||||
DEALLOCATE( usrt_tau0, usrt_taup, usrt_fion )
|
||||
!
|
||||
END IF
|
||||
!
|
||||
CALL mp_bcast( taup, ionode_id, intra_image_comm )
|
||||
CALL mp_bcast( fion, ionode_id, intra_image_comm )
|
||||
!
|
||||
CALL mp_bcast( taup, ionode_id, intra_image_comm )
|
||||
CALL mp_bcast( fion, ionode_id, intra_image_comm )
|
||||
!
|
||||
CALL r_to_s( taup, tausp, na, nsp, ainv )
|
||||
!
|
||||
END IF
|
||||
|
|
771
CPV/make.depend
771
CPV/make.depend
File diff suppressed because it is too large
Load Diff
146
D3/make.depend
146
D3/make.depend
|
@ -1,24 +1,23 @@
|
|||
allocate_d3.o : d3com.o
|
||||
allocate_d3.o : ../Modules/ions_base.o
|
||||
allocate_d3.o : ../PH/phcom.o
|
||||
allocate_d3.o : ../PW/pwcom.o
|
||||
bcast_d3_input.o : d3com.o
|
||||
allocate_d3.o : d3com.o
|
||||
bcast_d3_input.o : ../Modules/control_flags.o
|
||||
bcast_d3_input.o : ../Modules/io_files.o
|
||||
bcast_d3_input.o : ../Modules/ions_base.o
|
||||
bcast_d3_input.o : ../Modules/mp.o
|
||||
bcast_d3_input.o : ../PH/phcom.o
|
||||
bcast_d3_input.o : ../PW/pwcom.o
|
||||
bcast_d3_input.o : d3com.o
|
||||
ch_psi_all2.o : ../Modules/kind.o
|
||||
ch_psi_all2.o : ../PH/phcom.o
|
||||
ch_psi_all2.o : ../PW/becmod.o
|
||||
ch_psi_all2.o : ../PW/pwcom.o
|
||||
close_open.o : d3com.o
|
||||
close_open.o : ../Modules/io_files.o
|
||||
close_open.o : ../Modules/io_global.o
|
||||
close_open.o : ../PH/phcom.o
|
||||
close_open.o : ../PW/pwcom.o
|
||||
d0rhod2v.o : d3com.o
|
||||
close_open.o : d3com.o
|
||||
d0rhod2v.o : ../Modules/io_files.o
|
||||
d0rhod2v.o : ../Modules/io_global.o
|
||||
d0rhod2v.o : ../Modules/ions_base.o
|
||||
|
@ -28,39 +27,23 @@ d0rhod2v.o : ../Modules/uspp.o
|
|||
d0rhod2v.o : ../Modules/wavefunctions.o
|
||||
d0rhod2v.o : ../PH/phcom.o
|
||||
d0rhod2v.o : ../PW/pwcom.o
|
||||
d0rhod2v.o : d3com.o
|
||||
d2mxc.o : ../Modules/kind.o
|
||||
d3com.o : ../Modules/kind.o
|
||||
d3dyn_cc.o : d3com.o
|
||||
d3dyn_cc.o : ../Modules/functionals.o
|
||||
d3dyn_cc.o : ../Modules/ions_base.o
|
||||
d3dyn_cc.o : ../Modules/kind.o
|
||||
d3dyn_cc.o : ../PH/phcom.o
|
||||
d3dyn_cc.o : ../PW/pwcom.o
|
||||
d3_exc.o : d3com.o
|
||||
d3_exc.o : ../Modules/io_global.o
|
||||
d3_exc.o : ../Modules/ions_base.o
|
||||
d3_exc.o : ../Modules/kind.o
|
||||
d3_exc.o : ../Modules/mp_global.o
|
||||
d3_exc.o : ../Modules/mp.o
|
||||
d3_exc.o : ../Modules/mp_global.o
|
||||
d3_exc.o : ../PH/phcom.o
|
||||
d3_exc.o : ../PW/pwcom.o
|
||||
d3_init.o : d3com.o
|
||||
d3_exc.o : d3com.o
|
||||
d3_init.o : ../Modules/atom.o
|
||||
d3_init.o : ../Modules/ions_base.o
|
||||
d3_init.o : ../Modules/mp.o
|
||||
d3_init.o : ../Modules/uspp.o
|
||||
d3_init.o : ../PH/phcom.o
|
||||
d3_init.o : ../PW/pwcom.o
|
||||
d3ionq.o : ../Modules/constants.o
|
||||
d3ionq.o : ../Modules/io_global.o
|
||||
d3ionq.o : ../Modules/kind.o
|
||||
d3matrix.o : d3com.o
|
||||
d3matrix.o : ../Modules/control_flags.o
|
||||
d3matrix.o : ../Modules/ions_base.o
|
||||
d3matrix.o : ../Modules/kind.o
|
||||
d3matrix.o : ../PH/phcom.o
|
||||
d3matrix.o : ../PW/pwcom.o
|
||||
d3_readin.o : d3com.o
|
||||
d3_init.o : d3com.o
|
||||
d3_readin.o : ../Modules/control_flags.o
|
||||
d3_readin.o : ../Modules/io_files.o
|
||||
d3_readin.o : ../Modules/io_global.o
|
||||
|
@ -68,12 +51,12 @@ d3_readin.o : ../Modules/ions_base.o
|
|||
d3_readin.o : ../PH/phcom.o
|
||||
d3_readin.o : ../PW/noncol.o
|
||||
d3_readin.o : ../PW/pwcom.o
|
||||
d3_recover.o : d3com.o
|
||||
d3_readin.o : d3com.o
|
||||
d3_recover.o : ../Modules/io_global.o
|
||||
d3_recover.o : ../Modules/mp.o
|
||||
d3_recover.o : ../PH/phcom.o
|
||||
d3_recover.o : ../PW/pwcom.o
|
||||
d3_setup.o : d3com.o
|
||||
d3_recover.o : d3com.o
|
||||
d3_setup.o : ../Modules/atom.o
|
||||
d3_setup.o : ../Modules/constants.o
|
||||
d3_setup.o : ../Modules/control_flags.o
|
||||
|
@ -84,7 +67,7 @@ d3_setup.o : ../Modules/kind.o
|
|||
d3_setup.o : ../Modules/mp_global.o
|
||||
d3_setup.o : ../PH/phcom.o
|
||||
d3_setup.o : ../PW/pwcom.o
|
||||
d3_summary.o : d3com.o
|
||||
d3_setup.o : d3com.o
|
||||
d3_summary.o : ../Modules/atom.o
|
||||
d3_summary.o : ../Modules/control_flags.o
|
||||
d3_summary.o : ../Modules/io_global.o
|
||||
|
@ -93,10 +76,31 @@ d3_summary.o : ../Modules/kind.o
|
|||
d3_summary.o : ../Modules/uspp.o
|
||||
d3_summary.o : ../PH/phcom.o
|
||||
d3_summary.o : ../PW/pwcom.o
|
||||
d3_summary.o : d3com.o
|
||||
d3_symdyn.o : ../Modules/kind.o
|
||||
d3_symdynph.o : ../Modules/constants.o
|
||||
d3_symdynph.o : ../Modules/kind.o
|
||||
d3toten.o : d3com.o
|
||||
d3_valence.o : ../Modules/ions_base.o
|
||||
d3_valence.o : ../Modules/kind.o
|
||||
d3_valence.o : ../PH/phcom.o
|
||||
d3_valence.o : ../PW/pwcom.o
|
||||
d3_valence.o : d3com.o
|
||||
d3com.o : ../Modules/kind.o
|
||||
d3dyn_cc.o : ../Modules/functionals.o
|
||||
d3dyn_cc.o : ../Modules/ions_base.o
|
||||
d3dyn_cc.o : ../Modules/kind.o
|
||||
d3dyn_cc.o : ../PH/phcom.o
|
||||
d3dyn_cc.o : ../PW/pwcom.o
|
||||
d3dyn_cc.o : d3com.o
|
||||
d3ionq.o : ../Modules/constants.o
|
||||
d3ionq.o : ../Modules/io_global.o
|
||||
d3ionq.o : ../Modules/kind.o
|
||||
d3matrix.o : ../Modules/control_flags.o
|
||||
d3matrix.o : ../Modules/ions_base.o
|
||||
d3matrix.o : ../Modules/kind.o
|
||||
d3matrix.o : ../PH/phcom.o
|
||||
d3matrix.o : ../PW/pwcom.o
|
||||
d3matrix.o : d3com.o
|
||||
d3toten.o : ../Modules/io_files.o
|
||||
d3toten.o : ../Modules/io_global.o
|
||||
d3toten.o : ../Modules/ions_base.o
|
||||
|
@ -104,12 +108,7 @@ d3toten.o : ../Modules/kind.o
|
|||
d3toten.o : ../Modules/version.o
|
||||
d3toten.o : ../PH/phcom.o
|
||||
d3toten.o : ../PW/pwcom.o
|
||||
d3_valence.o : d3com.o
|
||||
d3_valence.o : ../Modules/ions_base.o
|
||||
d3_valence.o : ../Modules/kind.o
|
||||
d3_valence.o : ../PH/phcom.o
|
||||
d3_valence.o : ../PW/pwcom.o
|
||||
d3vrho.o : d3com.o
|
||||
d3toten.o : d3com.o
|
||||
d3vrho.o : ../Modules/cell_base.o
|
||||
d3vrho.o : ../Modules/constants.o
|
||||
d3vrho.o : ../Modules/io_files.o
|
||||
|
@ -119,29 +118,29 @@ d3vrho.o : ../Modules/uspp.o
|
|||
d3vrho.o : ../Modules/wavefunctions.o
|
||||
d3vrho.o : ../PH/phcom.o
|
||||
d3vrho.o : ../PW/pwcom.o
|
||||
d3vrho.o : d3com.o
|
||||
davcio_drho2.o : ../Modules/io_global.o
|
||||
davcio_drho2.o : ../Modules/kind.o
|
||||
davcio_drho2.o : ../Modules/mp_global.o
|
||||
davcio_drho2.o : ../Modules/mp.o
|
||||
davcio_drho2.o : ../Modules/mp_global.o
|
||||
davcio_drho2.o : ../PH/phcom.o
|
||||
davcio_drho2.o : ../PW/para.o
|
||||
davcio_drho2.o : ../PW/pwcom.o
|
||||
dpsi_corr.o : d3com.o
|
||||
dpsi_corr.o : ../Modules/kind.o
|
||||
dpsi_corr.o : ../PH/phcom.o
|
||||
dpsi_corr.o : ../PW/pwcom.o
|
||||
dpsidpsidv.o : d3com.o
|
||||
dpsi_corr.o : d3com.o
|
||||
dpsidpsidv.o : ../Modules/ions_base.o
|
||||
dpsidpsidv.o : ../Modules/kind.o
|
||||
dpsidpsidv.o : ../PH/phcom.o
|
||||
dpsidpsidv.o : ../PW/pwcom.o
|
||||
dpsidvdpsi.o : d3com.o
|
||||
dpsidpsidv.o : d3com.o
|
||||
dpsidvdpsi.o : ../Modules/io_files.o
|
||||
dpsidvdpsi.o : ../Modules/ions_base.o
|
||||
dpsidvdpsi.o : ../Modules/kind.o
|
||||
dpsidvdpsi.o : ../PH/phcom.o
|
||||
dpsidvdpsi.o : ../PW/pwcom.o
|
||||
dqrhod2v.o : d3com.o
|
||||
dpsidvdpsi.o : d3com.o
|
||||
dqrhod2v.o : ../Modules/io_files.o
|
||||
dqrhod2v.o : ../Modules/ions_base.o
|
||||
dqrhod2v.o : ../Modules/kind.o
|
||||
|
@ -150,88 +149,88 @@ dqrhod2v.o : ../Modules/uspp.o
|
|||
dqrhod2v.o : ../Modules/wavefunctions.o
|
||||
dqrhod2v.o : ../PH/phcom.o
|
||||
dqrhod2v.o : ../PW/pwcom.o
|
||||
drho_cc.o : d3com.o
|
||||
dqrhod2v.o : d3com.o
|
||||
drho_cc.o : ../Modules/kind.o
|
||||
drho_cc.o : ../PH/phcom.o
|
||||
drho_cc.o : ../PW/pwcom.o
|
||||
drhod2v.o : d3com.o
|
||||
drhod2v.o : ../Modules/ions_base.o
|
||||
drhod2v.o : ../Modules/kind.o
|
||||
drhod2v.o : ../PH/phcom.o
|
||||
drhod2v.o : ../PW/pwcom.o
|
||||
drho_drc.o : d3com.o
|
||||
drho_cc.o : d3com.o
|
||||
drho_drc.o : ../Modules/atom.o
|
||||
drho_drc.o : ../Modules/ions_base.o
|
||||
drho_drc.o : ../Modules/kind.o
|
||||
drho_drc.o : ../Modules/mp.o
|
||||
drho_drc.o : ../PH/phcom.o
|
||||
drho_drc.o : ../PW/pwcom.o
|
||||
dvdpsi.o : d3com.o
|
||||
drho_drc.o : d3com.o
|
||||
drhod2v.o : ../Modules/ions_base.o
|
||||
drhod2v.o : ../Modules/kind.o
|
||||
drhod2v.o : ../PH/phcom.o
|
||||
drhod2v.o : ../PW/pwcom.o
|
||||
drhod2v.o : d3com.o
|
||||
dvdpsi.o : ../Modules/ions_base.o
|
||||
dvdpsi.o : ../Modules/uspp.o
|
||||
dvdpsi.o : ../PH/phcom.o
|
||||
dvdpsi.o : ../PW/pwcom.o
|
||||
dvscf.o : d3com.o
|
||||
dvdpsi.o : d3com.o
|
||||
dvscf.o : ../Modules/atom.o
|
||||
dvscf.o : ../Modules/ions_base.o
|
||||
dvscf.o : ../Modules/kind.o
|
||||
dvscf.o : ../PH/phcom.o
|
||||
dvscf.o : ../PW/pwcom.o
|
||||
gen_dpdvp.o : d3com.o
|
||||
dvscf.o : d3com.o
|
||||
gen_dpdvp.o : ../Modules/io_files.o
|
||||
gen_dpdvp.o : ../Modules/ions_base.o
|
||||
gen_dpdvp.o : ../Modules/kind.o
|
||||
gen_dpdvp.o : ../Modules/wavefunctions.o
|
||||
gen_dpdvp.o : ../PH/phcom.o
|
||||
gen_dpdvp.o : ../PW/pwcom.o
|
||||
gen_dwfc.o : d3com.o
|
||||
gen_dpdvp.o : d3com.o
|
||||
gen_dwfc.o : ../Modules/io_global.o
|
||||
gen_dwfc.o : ../PH/phcom.o
|
||||
gen_dwfc.o : ../PW/pwcom.o
|
||||
gen_dwfc.o : d3com.o
|
||||
incdrhoscf2.o : ../Modules/ions_base.o
|
||||
incdrhoscf2.o : ../Modules/kind.o
|
||||
incdrhoscf2.o : ../Modules/uspp.o
|
||||
incdrhoscf2.o : ../Modules/wavefunctions.o
|
||||
incdrhoscf2.o : ../PH/phcom.o
|
||||
incdrhoscf2.o : ../PW/pwcom.o
|
||||
openfild3.o : d3com.o
|
||||
openfild3.o : ../Modules/control_flags.o
|
||||
openfild3.o : ../Modules/io_files.o
|
||||
openfild3.o : ../Modules/io_global.o
|
||||
openfild3.o : ../Modules/mp_global.o
|
||||
openfild3.o : ../PH/phcom.o
|
||||
openfild3.o : ../PW/pwcom.o
|
||||
print_clock_d3.o : d3com.o
|
||||
openfild3.o : d3com.o
|
||||
print_clock_d3.o : ../Modules/io_global.o
|
||||
psymd0rho.o : d3com.o
|
||||
print_clock_d3.o : d3com.o
|
||||
psymd0rho.o : ../Modules/ions_base.o
|
||||
psymd0rho.o : ../Modules/kind.o
|
||||
psymd0rho.o : ../Modules/mp_global.o
|
||||
psymd0rho.o : ../PH/phcom.o
|
||||
psymd0rho.o : ../PW/para.o
|
||||
psymd0rho.o : ../PW/pwcom.o
|
||||
psymd0rho.o : d3com.o
|
||||
qstar_d3.o : ../Modules/kind.o
|
||||
read_ef.o : d3com.o
|
||||
read_ef.o : ../Modules/io_global.o
|
||||
read_ef.o : ../Modules/mp.o
|
||||
read_ef.o : ../PW/pwcom.o
|
||||
read_ef.o : d3com.o
|
||||
rotate_and_add_d3.o : ../Modules/kind.o
|
||||
set_d3irr.o : d3com.o
|
||||
set_d3irr.o : ../Modules/control_flags.o
|
||||
set_d3irr.o : ../Modules/ions_base.o
|
||||
set_d3irr.o : ../Modules/kind.o
|
||||
set_d3irr.o : ../PH/phcom.o
|
||||
set_d3irr.o : ../PW/pwcom.o
|
||||
set_efsh.o : d3com.o
|
||||
set_d3irr.o : d3com.o
|
||||
set_efsh.o : ../Modules/io_global.o
|
||||
set_efsh.o : ../Modules/kind.o
|
||||
set_efsh.o : ../PH/phcom.o
|
||||
set_efsh.o : ../PW/pwcom.o
|
||||
set_efsh.o : d3com.o
|
||||
set_sym_irr.o : ../Modules/kind.o
|
||||
set_sym_irr.o : ../Modules/mp_global.o
|
||||
set_sym_irr.o : ../Modules/mp.o
|
||||
set_sym_irr.o : ../Modules/mp_global.o
|
||||
sgama_d3.o : ../Modules/kind.o
|
||||
solve_linter_d3.o : d3com.o
|
||||
solve_linter_d3.o : ../Modules/io_files.o
|
||||
solve_linter_d3.o : ../Modules/io_global.o
|
||||
solve_linter_d3.o : ../Modules/ions_base.o
|
||||
|
@ -239,51 +238,52 @@ solve_linter_d3.o : ../Modules/kind.o
|
|||
solve_linter_d3.o : ../Modules/wavefunctions.o
|
||||
solve_linter_d3.o : ../PH/phcom.o
|
||||
solve_linter_d3.o : ../PW/pwcom.o
|
||||
stop_d3.o : d3com.o
|
||||
solve_linter_d3.o : d3com.o
|
||||
stop_d3.o : ../Modules/control_flags.o
|
||||
stop_d3.o : ../Modules/io_files.o
|
||||
stop_d3.o : ../Modules/mp_global.o
|
||||
stop_d3.o : ../Modules/mp.o
|
||||
stop_d3.o : ../Modules/mp_global.o
|
||||
stop_d3.o : ../PH/phcom.o
|
||||
stop_d3.o : ../PW/pwcom.o
|
||||
symd0rho.o : ../Modules/kind.o
|
||||
sym_def1.o : d3com.o
|
||||
stop_d3.o : d3com.o
|
||||
sym_def1.o : ../Modules/kind.o
|
||||
sym_def1.o : ../PH/phcom.o
|
||||
sym_def1.o : ../PW/pwcom.o
|
||||
sym_def1.o : d3com.o
|
||||
symd0rho.o : ../Modules/kind.o
|
||||
trntnsc_3.o : ../Modules/kind.o
|
||||
w_1gauss.o : ../Modules/kind.o
|
||||
write_aux.o : d3com.o
|
||||
write_aux.o : ../Modules/ions_base.o
|
||||
write_aux.o : ../PH/phcom.o
|
||||
write_aux.o : ../PW/pwcom.o
|
||||
writed3dyn_5.o : d3com.o
|
||||
write_aux.o : d3com.o
|
||||
write_d3dyn.o : ../Modules/kind.o
|
||||
write_igk.o : ../Modules/io_files.o
|
||||
write_igk.o : ../PH/phcom.o
|
||||
write_igk.o : ../PW/pwcom.o
|
||||
writed3dyn_5.o : ../Modules/io_global.o
|
||||
writed3dyn_5.o : ../Modules/ions_base.o
|
||||
writed3dyn_5.o : ../Modules/kind.o
|
||||
writed3dyn_5.o : ../PH/phcom.o
|
||||
writed3dyn_5.o : ../PW/pwcom.o
|
||||
write_d3dyn.o : ../Modules/kind.o
|
||||
write_igk.o : ../Modules/io_files.o
|
||||
write_igk.o : ../PH/phcom.o
|
||||
write_igk.o : ../PW/pwcom.o
|
||||
writed3dyn_5.o : d3com.o
|
||||
allocate_d3.o : ../include/f_defs.h
|
||||
bcast_d3_input.o : ../include/f_defs.h
|
||||
ch_psi_all2.o : ../include/f_defs.h
|
||||
close_open.o : ../include/f_defs.h
|
||||
d0rhod2v.o : ../include/f_defs.h
|
||||
d3dyn_cc.o : ../include/f_defs.h
|
||||
d3_exc.o : ../include/f_defs.h
|
||||
d3_init.o : ../include/f_defs.h
|
||||
d3ionq.o : ../include/f_defs.h
|
||||
d3_readin.o : ../include/f_defs.h
|
||||
d3_recover.o : ../include/f_defs.h
|
||||
d3_setup.o : ../include/f_defs.h
|
||||
d3_summary.o : ../include/f_defs.h
|
||||
d3_symdyn.o : ../include/f_defs.h
|
||||
d3_symdynph.o : ../include/f_defs.h
|
||||
d3toten.o : ../include/f_defs.h
|
||||
d3_valence.o : ../include/f_defs.h
|
||||
d3dyn_cc.o : ../include/f_defs.h
|
||||
d3ionq.o : ../include/f_defs.h
|
||||
d3toten.o : ../include/f_defs.h
|
||||
d3vrho.o : ../include/f_defs.h
|
||||
davcio_drho2.o : ../include/f_defs.h
|
||||
dpsi_corr.o : ../include/f_defs.h
|
||||
|
@ -291,8 +291,8 @@ dpsidpsidv.o : ../include/f_defs.h
|
|||
dpsidvdpsi.o : ../include/f_defs.h
|
||||
dqrhod2v.o : ../include/f_defs.h
|
||||
drho_cc.o : ../include/f_defs.h
|
||||
drhod2v.o : ../include/f_defs.h
|
||||
drho_drc.o : ../include/f_defs.h
|
||||
drhod2v.o : ../include/f_defs.h
|
||||
dvdpsi.o : ../include/f_defs.h
|
||||
dvscf.o : ../include/f_defs.h
|
||||
gen_dpdvp.o : ../include/f_defs.h
|
||||
|
@ -307,8 +307,8 @@ set_efsh.o : ../include/f_defs.h
|
|||
set_sym_irr.o : ../include/f_defs.h
|
||||
sgama_d3.o : ../include/f_defs.h
|
||||
solve_linter_d3.o : ../include/f_defs.h
|
||||
symd0rho.o : ../include/f_defs.h
|
||||
sym_def1.o : ../include/f_defs.h
|
||||
symd0rho.o : ../include/f_defs.h
|
||||
trntnsc_3.o : ../include/f_defs.h
|
||||
write_aux.o : ../include/f_defs.h
|
||||
writed3dyn_5.o : ../include/f_defs.h
|
||||
|
|
|
@ -3500,5 +3500,16 @@ is the physical length of your box along the $x$ axis. You have to round
|
|||
your result to the nearest larger integer.'' (info by Nicola Marzari)
|
||||
\end{itemize}
|
||||
|
||||
\item {\em How can I calculate magnetic moments for each atom?}
|
||||
|
||||
"There is no 'right' way of defining the local magnetic moment around
|
||||
an atom in a multi-atom system. However an approximate way to define
|
||||
it is via the projected density of states on the atomic orbitals (code
|
||||
{\tt projwfc.x}, see example08 for its use as a postprocessing tool).
|
||||
This code generate many files with the density of states projected
|
||||
on each atomic wavefunction of each atom and a BIG amount of data
|
||||
on the standard output, the last few lines of which contain the
|
||||
decomposition of Lowdin charges on angular momentum and spin component
|
||||
of each atom."
|
||||
|
||||
\end{document}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
a_h.o : cgcom.o
|
||||
a_h.o : ../Modules/cell_base.o
|
||||
a_h.o : ../Modules/constants.o
|
||||
a_h.o : ../Modules/functionals.o
|
||||
|
@ -7,8 +6,7 @@ a_h.o : ../Modules/uspp.o
|
|||
a_h.o : ../Modules/wavefunctions.o
|
||||
a_h.o : ../PW/becmod.o
|
||||
a_h.o : ../PW/pwcom.o
|
||||
cgcom.o : ../Modules/kind.o
|
||||
cg_readin.o : cgcom.o
|
||||
a_h.o : cgcom.o
|
||||
cg_readin.o : ../Modules/io_files.o
|
||||
cg_readin.o : ../Modules/io_global.o
|
||||
cg_readin.o : ../Modules/ions_base.o
|
||||
|
@ -16,11 +14,7 @@ cg_readin.o : ../Modules/kind.o
|
|||
cg_readin.o : ../Modules/mp.o
|
||||
cg_readin.o : ../PW/noncol.o
|
||||
cg_readin.o : ../PW/pwcom.o
|
||||
cg_setupdgc.o : cgcom.o
|
||||
cg_setupdgc.o : ../Modules/functionals.o
|
||||
cg_setupdgc.o : ../Modules/kind.o
|
||||
cg_setupdgc.o : ../PW/pwcom.o
|
||||
cg_setup.o : cgcom.o
|
||||
cg_readin.o : cgcom.o
|
||||
cg_setup.o : ../Modules/atom.o
|
||||
cg_setup.o : ../Modules/functionals.o
|
||||
cg_setup.o : ../Modules/io_files.o
|
||||
|
@ -29,6 +23,12 @@ cg_setup.o : ../Modules/kind.o
|
|||
cg_setup.o : ../Modules/mp_global.o
|
||||
cg_setup.o : ../Modules/wavefunctions.o
|
||||
cg_setup.o : ../PW/pwcom.o
|
||||
cg_setup.o : cgcom.o
|
||||
cg_setupdgc.o : ../Modules/functionals.o
|
||||
cg_setupdgc.o : ../Modules/kind.o
|
||||
cg_setupdgc.o : ../PW/pwcom.o
|
||||
cg_setupdgc.o : cgcom.o
|
||||
cgcom.o : ../Modules/kind.o
|
||||
cgsolve.o : ../Modules/io_global.o
|
||||
cgsolve.o : ../Modules/kind.o
|
||||
d2ion.o : ../Modules/io_global.o
|
||||
|
@ -38,45 +38,44 @@ dgcxc.o : ../Modules/kind.o
|
|||
dgcxc_spin.o : ../Modules/functionals.o
|
||||
dgcxc_spin.o : ../Modules/kind.o
|
||||
dgradcorr.o : ../Modules/kind.o
|
||||
dielec.o : cgcom.o
|
||||
dielec.o : ../Modules/ions_base.o
|
||||
dielec.o : ../PW/pwcom.o
|
||||
drhodv.o : cgcom.o
|
||||
dielec.o : cgcom.o
|
||||
drhodv.o : ../PW/pwcom.o
|
||||
dvpsi_e.o : cgcom.o
|
||||
drhodv.o : cgcom.o
|
||||
dvpsi_e.o : ../Modules/ions_base.o
|
||||
dvpsi_e.o : ../Modules/kind.o
|
||||
dvpsi_e.o : ../Modules/uspp.o
|
||||
dvpsi_e.o : ../Modules/wavefunctions.o
|
||||
dvpsi_e.o : ../PW/becmod.o
|
||||
dvpsi_e.o : ../PW/pwcom.o
|
||||
dvpsi_kb.o : cgcom.o
|
||||
dvpsi_e.o : cgcom.o
|
||||
dvpsi_kb.o : ../Modules/atom.o
|
||||
dvpsi_kb.o : ../Modules/ions_base.o
|
||||
dvpsi_kb.o : ../Modules/kind.o
|
||||
dvpsi_kb.o : ../Modules/uspp.o
|
||||
dvpsi_kb.o : ../Modules/wavefunctions.o
|
||||
dvpsi_kb.o : ../PW/pwcom.o
|
||||
dvpsi_kb.o : cgcom.o
|
||||
dyndiar.o : ../Modules/io_global.o
|
||||
dyndiar.o : ../Modules/kind.o
|
||||
dynmatcc.o : cgcom.o
|
||||
dynmat_init.o : ../Modules/ions_base.o
|
||||
dynmat_init.o : ../PW/pwcom.o
|
||||
dynmat_init.o : cgcom.o
|
||||
dynmatcc.o : ../Modules/atom.o
|
||||
dynmatcc.o : ../Modules/ions_base.o
|
||||
dynmatcc.o : ../Modules/wavefunctions.o
|
||||
dynmatcc.o : ../PW/pwcom.o
|
||||
dynmat_init.o : cgcom.o
|
||||
dynmat_init.o : ../Modules/ions_base.o
|
||||
dynmat_init.o : ../PW/pwcom.o
|
||||
dynmatcc.o : cgcom.o
|
||||
generate_dynamical_matrix.o : ../Modules/kind.o
|
||||
generate_effective_charges.o : ../Modules/kind.o
|
||||
h_h.o : cgcom.o
|
||||
h_h.o : ../Modules/kind.o
|
||||
h_h.o : ../Modules/uspp.o
|
||||
h_h.o : ../PW/becmod.o
|
||||
h_h.o : ../PW/pwcom.o
|
||||
macro.o : cgcom.o
|
||||
h_h.o : cgcom.o
|
||||
macro.o : ../PW/pwcom.o
|
||||
phcg.o : cgcom.o
|
||||
macro.o : cgcom.o
|
||||
phcg.o : ../Modules/check_stop.o
|
||||
phcg.o : ../Modules/control_flags.o
|
||||
phcg.o : ../Modules/functionals.o
|
||||
|
@ -87,27 +86,28 @@ phcg.o : ../Modules/mp.o
|
|||
phcg.o : ../Modules/version.o
|
||||
phcg.o : ../PW/noncol.o
|
||||
phcg.o : ../PW/pwcom.o
|
||||
phcg.o : cgcom.o
|
||||
pw_dot.o : ../Modules/kind.o
|
||||
pw_dot.o : ../PW/pwcom.o
|
||||
rhod2vkb.o : cgcom.o
|
||||
rhod2vkb.o : ../Modules/ions_base.o
|
||||
rhod2vkb.o : ../Modules/uspp.o
|
||||
rhod2vkb.o : ../Modules/wavefunctions.o
|
||||
rhod2vkb.o : ../PW/pwcom.o
|
||||
solve_e.o : cgcom.o
|
||||
rhod2vkb.o : cgcom.o
|
||||
solve_e.o : ../Modules/io_global.o
|
||||
solve_e.o : ../Modules/wavefunctions.o
|
||||
solve_e.o : ../PW/becmod.o
|
||||
solve_e.o : ../PW/pwcom.o
|
||||
solve_ph.o : cgcom.o
|
||||
solve_e.o : cgcom.o
|
||||
solve_ph.o : ../Modules/io_files.o
|
||||
solve_ph.o : ../Modules/io_global.o
|
||||
solve_ph.o : ../Modules/wavefunctions.o
|
||||
solve_ph.o : ../PW/becmod.o
|
||||
solve_ph.o : ../PW/pwcom.o
|
||||
writedyn.o : cgcom.o
|
||||
solve_ph.o : cgcom.o
|
||||
writedyn.o : ../Modules/ions_base.o
|
||||
writedyn.o : ../PW/pwcom.o
|
||||
writedyn.o : cgcom.o
|
||||
a_h.o : ../include/f_defs.h
|
||||
cg_readin.o : ../include/f_defs.h
|
||||
cg_setup.o : ../include/f_defs.h
|
||||
|
@ -120,8 +120,8 @@ dvb_cc.o : ../include/f_defs.h
|
|||
dvpsi_e.o : ../include/f_defs.h
|
||||
dvpsi_kb.o : ../include/f_defs.h
|
||||
dyndiar.o : ../include/f_defs.h
|
||||
dynmatcc.o : ../include/f_defs.h
|
||||
dynmat_init.o : ../include/f_defs.h
|
||||
dynmatcc.o : ../include/f_defs.h
|
||||
generate_dynamical_matrix.o : ../include/f_defs.h
|
||||
generate_effective_charges.o : ../include/f_defs.h
|
||||
h_h.o : ../include/f_defs.h
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! autopilot.f90
|
||||
!********************************************************************************
|
||||
! autopilot.f90 Copyright (c) 2005 Targacept, Inc.
|
||||
! autopilot.f90 Copyright (c) 2005 Targacept, Inc.
|
||||
!********************************************************************************
|
||||
! The Autopilot Feature suite is a user level enhancement that enables the
|
||||
! following features:
|
||||
|
|
|
@ -577,7 +577,7 @@ MODULE input_parameters
|
|||
noncolin, lspinorb, lambda, angle1, angle2, report, &
|
||||
constrained_magnetization, B_field, fixed_magnetization, &
|
||||
sic, sic_epsilon, force_pairing, sic_alpha, &
|
||||
tot_charge, multiplicity, tot_magnetization
|
||||
tot_charge, multiplicity, tot_magnetization
|
||||
|
||||
!=----------------------------------------------------------------------------=!
|
||||
! ELECTRONS Namelist Input Parameters
|
||||
|
|
|
@ -7,8 +7,8 @@ autopilot.o : mp.o
|
|||
autopilot.o : parser.o
|
||||
basic_algebra_routines.o : kind.o
|
||||
berry_phase.o : io_global.o
|
||||
berry_phase.o : mp_global.o
|
||||
berry_phase.o : mp.o
|
||||
berry_phase.o : mp_global.o
|
||||
berry_phase.o : recvec.o
|
||||
berry_phase.o : stick_base.o
|
||||
bfgs_module.o : basic_algebra_routines.o
|
||||
|
@ -25,12 +25,12 @@ check_stop.o : input_parameters.o
|
|||
check_stop.o : io_files.o
|
||||
check_stop.o : io_global.o
|
||||
check_stop.o : kind.o
|
||||
check_stop.o : mp_global.o
|
||||
check_stop.o : mp.o
|
||||
check_stop.o : mp_global.o
|
||||
clocks.o : io_global.o
|
||||
clocks.o : kind.o
|
||||
clocks.o : mp_global.o
|
||||
clocks.o : mp.o
|
||||
clocks.o : mp_global.o
|
||||
constants.o : kind.o
|
||||
constraints_module.o : basic_algebra_routines.o
|
||||
constraints_module.o : cell_base.o
|
||||
|
@ -55,8 +55,8 @@ fft_base.o : kind.o
|
|||
fft_base.o : mp_global.o
|
||||
fft_base.o : parallel_include.o
|
||||
fft_base.o : task_groups.o
|
||||
fft_scalar.o : kind.o
|
||||
|
||||
fft_scalar.o : kind.o
|
||||
fft_types.o : io_global.o
|
||||
functionals.o : io_global.o
|
||||
functionals.o : kind.o
|
||||
|
@ -64,8 +64,8 @@ griddim.o : fft_scalar.o
|
|||
griddim.o : fft_types.o
|
||||
griddim.o : io_global.o
|
||||
griddim.o : kind.o
|
||||
griddim.o : mp_global.o
|
||||
griddim.o : mp.o
|
||||
griddim.o : mp_global.o
|
||||
input_parameters.o : kind.o
|
||||
input_parameters.o : parameters.o
|
||||
input_parameters.o : pres_ai_mod.o
|
||||
|
@ -99,13 +99,13 @@ metadyn_base.o : metadyn_vars.o
|
|||
metadyn_base.o : mp.o
|
||||
metadyn_base.o : random_numbers.o
|
||||
metadyn_base.o : xml_io_base.o
|
||||
metadyn_io.o : ../iotk/src/iotk_module.o
|
||||
metadyn_io.o : constants.o
|
||||
metadyn_io.o : constraints_module.o
|
||||
metadyn_io.o : input_parameters.o
|
||||
metadyn_io.o : io_files.o
|
||||
metadyn_io.o : io_global.o
|
||||
metadyn_io.o : ions_base.o
|
||||
metadyn_io.o : ../iotk/src/iotk_module.o
|
||||
metadyn_io.o : kind.o
|
||||
metadyn_io.o : metadyn_vars.o
|
||||
metadyn_io.o : mp.o
|
||||
|
@ -113,20 +113,20 @@ metadyn_io.o : xml_io_base.o
|
|||
metadyn_vars.o : control_flags.o
|
||||
metadyn_vars.o : input_parameters.o
|
||||
metadyn_vars.o : kind.o
|
||||
mp_global.o : mp.o
|
||||
mp_global.o : parallel_include.o
|
||||
mp_global.o : shmem_include.o
|
||||
mp.o : io_global.o
|
||||
mp.o : kind.o
|
||||
mp.o : parallel_include.o
|
||||
mp_global.o : mp.o
|
||||
mp_global.o : parallel_include.o
|
||||
mp_global.o : shmem_include.o
|
||||
mp_wave.o : kind.o
|
||||
mp_wave.o : parallel_include.o
|
||||
parallel_include.o : kind.o
|
||||
parallel_types.o : kind.o
|
||||
parser.o : io_global.o
|
||||
parser.o : kind.o
|
||||
parser.o : mp_global.o
|
||||
parser.o : mp.o
|
||||
parser.o : mp_global.o
|
||||
path_base.o : basic_algebra_routines.o
|
||||
path_base.o : check_stop.o
|
||||
path_base.o : constants.o
|
||||
|
@ -139,8 +139,8 @@ path_base.o : ions_base.o
|
|||
path_base.o : kind.o
|
||||
path_base.o : metadyn_base.o
|
||||
path_base.o : metadyn_vars.o
|
||||
path_base.o : mp_global.o
|
||||
path_base.o : mp.o
|
||||
path_base.o : mp_global.o
|
||||
path_base.o : path_formats.o
|
||||
path_base.o : path_io_routines.o
|
||||
path_base.o : path_opt_routines.o
|
||||
|
@ -156,8 +156,8 @@ path_io_routines.o : io_files.o
|
|||
path_io_routines.o : io_global.o
|
||||
path_io_routines.o : ions_base.o
|
||||
path_io_routines.o : kind.o
|
||||
path_io_routines.o : mp_global.o
|
||||
path_io_routines.o : mp.o
|
||||
path_io_routines.o : mp_global.o
|
||||
path_io_routines.o : path_formats.o
|
||||
path_io_routines.o : path_reparametrisation.o
|
||||
path_io_routines.o : path_variables.o
|
||||
|
@ -180,12 +180,12 @@ path_variables.o : kind.o
|
|||
pres_ai_mod.o : parameters.o
|
||||
printout_base.o : io_global.o
|
||||
printout_base.o : kind.o
|
||||
printout_base.o : mp_global.o
|
||||
printout_base.o : mp.o
|
||||
pseudodata.o : kind.o
|
||||
pseudodata.o : parameters.o
|
||||
printout_base.o : mp_global.o
|
||||
pseudo_types.o : kind.o
|
||||
pseudo_types.o : parameters.o
|
||||
pseudodata.o : kind.o
|
||||
pseudodata.o : parameters.o
|
||||
ptoolkit.o : io_global.o
|
||||
ptoolkit.o : kind.o
|
||||
ptoolkit.o : mp.o
|
||||
|
@ -213,8 +213,8 @@ read_uspp.o : kind.o
|
|||
read_uspp.o : parameters.o
|
||||
read_uspp.o : uspp.o
|
||||
recvec.o : kind.o
|
||||
recvec.o : mp_global.o
|
||||
recvec.o : mp.o
|
||||
recvec.o : mp_global.o
|
||||
shmem_include.o : kind.o
|
||||
sic.o : io_global.o
|
||||
sic.o : kind.o
|
||||
|
@ -226,14 +226,14 @@ stick_base.o : control_flags.o
|
|||
stick_base.o : fft_types.o
|
||||
stick_base.o : io_global.o
|
||||
stick_base.o : kind.o
|
||||
stick_base.o : mp_global.o
|
||||
stick_base.o : mp.o
|
||||
stick_base.o : mp_global.o
|
||||
task_groups.o : electrons_base.o
|
||||
task_groups.o : fft_types.o
|
||||
task_groups.o : io_global.o
|
||||
task_groups.o : kind.o
|
||||
task_groups.o : mp_global.o
|
||||
task_groups.o : mp.o
|
||||
task_groups.o : mp_global.o
|
||||
task_groups.o : parallel_include.o
|
||||
task_groups.o : parameters.o
|
||||
timestep.o : kind.o
|
||||
|
@ -243,17 +243,17 @@ uspp.o : parameters.o
|
|||
uspp.o : random_numbers.o
|
||||
wannier.o : kind.o
|
||||
wave_base.o : kind.o
|
||||
wave_base.o : mp_global.o
|
||||
wave_base.o : mp.o
|
||||
wave_base.o : mp_global.o
|
||||
wave_base.o : random_numbers.o
|
||||
wavefunctions.o : kind.o
|
||||
xml_io_base.o : ../iotk/src/iotk_module.o
|
||||
xml_io_base.o : constants.o
|
||||
xml_io_base.o : io_files.o
|
||||
xml_io_base.o : io_global.o
|
||||
xml_io_base.o : ../iotk/src/iotk_module.o
|
||||
xml_io_base.o : kind.o
|
||||
xml_io_base.o : mp_global.o
|
||||
xml_io_base.o : mp.o
|
||||
xml_io_base.o : mp_global.o
|
||||
xml_io_base.o : mp_wave.o
|
||||
basic_algebra_routines.o : ../include/f_defs.h
|
||||
constraints_module.o : ../include/f_defs.h
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
!
|
||||
!Variable description
|
||||
!--------------------
|
||||
!MAXGRP: Maximum number of task-groups
|
||||
!MAXGRP: Maximum number of task-groups
|
||||
!--------------------------------------------
|
||||
|
||||
MODULE task_groups
|
||||
|
@ -65,8 +65,8 @@ END SUBROUTINE DEALLOCATE_GROUPS
|
|||
!========================================================================================
|
||||
! ADDED SUBROUTINEs FOR TASK GROUP PARALLIZATION
|
||||
! C. Bekas, IBM Research, Zurich
|
||||
! - GROUPS: Define and initialize Task Groups
|
||||
! - tg_ivfftw: Inverse FFT driver for Task Groups
|
||||
! - GROUPS: Define and initialize Task Groups
|
||||
! - tg_ivfftw: Inverse FFT driver for Task Groups
|
||||
!=======================================================================================
|
||||
|
||||
|
||||
|
|
|
@ -10,9 +10,7 @@ apply_p.o \
|
|||
apply_vel.o \
|
||||
greenfunction.o \
|
||||
h_psiq.o \
|
||||
cg_psi.o \
|
||||
ch_psi_all.o \
|
||||
cgsolve_all.o \
|
||||
sym_cart_tensor.o \
|
||||
symmetrize_field.o \
|
||||
test_sum_rule.o \
|
||||
|
@ -63,6 +61,7 @@ MODULES = \
|
|||
../Modules/path_opt_routines.o \
|
||||
../Modules/path_io_routines.o \
|
||||
../Modules/path_reparametrisation.o \
|
||||
../Modules/pres_ai_mod.o \
|
||||
../Modules/printout_base.o \
|
||||
../Modules/pseudo_types.o \
|
||||
../Modules/ptoolkit.o \
|
||||
|
@ -85,13 +84,15 @@ MODULES = \
|
|||
|
||||
PWOBJS = ../PW/libpw.a
|
||||
|
||||
TLDEPS=bindir mods libs libiotk
|
||||
PHOBJS = ../PH/libph.a
|
||||
|
||||
TLDEPS=bindir ph pw mods libs libiotk
|
||||
|
||||
all : tldeps magn.x
|
||||
|
||||
magn.x : $(NMROBJS) $(PWOBJS) $(LIBOBJS)
|
||||
magn.x : $(NMROBJS) $(PWOBJS) $(PHOBJS) $(LIBOBJS)
|
||||
$(MPIF90) $(LDFLAGS) -o $@ \
|
||||
$(NMROBJS) $(MODULES) $(PWOBJS) $(LIBOBJS) $(LIBS)
|
||||
$(NMROBJS) $(MODULES) $(PHOBJS) $(PWOBJS) $(LIBOBJS) $(LIBS)
|
||||
- ( cd ../bin; ln -fs ../NMR_new/$@ . )
|
||||
|
||||
tldeps:
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
!-----------------------------------------------------------------
|
||||
subroutine cg_psi (lda, n, m, psi, h_diag)
|
||||
!-----------------------------------------------------------------
|
||||
!
|
||||
! This routine gives a preconditioning to the linear system solver.
|
||||
! The preconditioning is diagonal in reciprocal space
|
||||
!
|
||||
!
|
||||
USE kinds, only : DP
|
||||
implicit none
|
||||
|
||||
integer :: lda, n, m
|
||||
! input: the leading dimension of the psi vector
|
||||
! input: the real dimension of the vector
|
||||
! input: the number of vectors
|
||||
|
||||
complex(DP) :: psi (lda, m)
|
||||
! inp/out: the vector to be preconditioned
|
||||
|
||||
real(DP) :: h_diag (lda, m)
|
||||
! input: the preconditioning vector
|
||||
|
||||
integer :: k, i
|
||||
! counter on bands
|
||||
! counter on the elements of the vector
|
||||
!
|
||||
do k = 1, m
|
||||
do i = 1, n
|
||||
psi (i, k) = psi (i, k) * h_diag (i, k)
|
||||
enddo
|
||||
enddo
|
||||
return
|
||||
end subroutine cg_psi
|
|
@ -1,238 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001-2004 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
#include "f_defs.h"
|
||||
!----------------------------------------------------------------------
|
||||
subroutine cgsolve_all (h_psi, cg_psi, e, d0psi, dpsi, h_diag, &
|
||||
ndmx, ndim, ethr, ik, kter, conv_root, anorm, nbnd)
|
||||
!----------------------------------------------------------------------
|
||||
!
|
||||
! iterative solution of the linear system:
|
||||
!
|
||||
! ( h - e + Q ) * dpsi = d0psi (1)
|
||||
!
|
||||
! where h is a complex hermitean matrix, e is a real sca
|
||||
! dpsi and d0psi are complex vectors
|
||||
!
|
||||
! on input:
|
||||
! h_psi EXTERNAL name of a subroutine:
|
||||
! h_psi(ndim,psi,psip)
|
||||
! Calculates H*psi products.
|
||||
! Vectors psi and psip should be dimensined
|
||||
! (ndmx,nvec). nvec=1 is used!
|
||||
!
|
||||
! cg_psi EXTERNAL name of a subroutine:
|
||||
! g_psi(ndmx,ndim,notcnv,psi,e)
|
||||
! which calculates (h-e)^-1 * psi, with
|
||||
! some approximation, e.g. (diag(h)-e)
|
||||
!
|
||||
! e real unperturbed eigenvalue.
|
||||
!
|
||||
! dpsi contains an estimate of the solution
|
||||
! vector.
|
||||
!
|
||||
! d0psi contains the right hand side vector
|
||||
! of the system.
|
||||
!
|
||||
! ndmx integer row dimension of dpsi, ecc.
|
||||
!
|
||||
! ndim integer actual row dimension of dpsi
|
||||
!
|
||||
! ethr real convergence threshold. solution
|
||||
! improvement is stopped when the error in
|
||||
! eq (1), defined as l.h.s. - r.h.s., becomes
|
||||
! less than ethr in norm.
|
||||
!
|
||||
! on output: dpsi contains the refined estimate of the
|
||||
! solution vector.
|
||||
!
|
||||
! d0psi is corrupted on exit
|
||||
!
|
||||
! revised (extensively) 6 Apr 1997 by A. Dal Corso & F. Mauri
|
||||
! revised (to reduce memory) 29 May 2004 by S. de Gironcoli
|
||||
!
|
||||
#include "f_defs.h"
|
||||
USE kinds, only : DP
|
||||
implicit none
|
||||
!
|
||||
! first the I/O variables
|
||||
!
|
||||
integer :: ndmx, & ! input: the maximum dimension of the vectors
|
||||
ndim, & ! input: the actual dimension of the vectors
|
||||
kter, & ! output: counter on iterations
|
||||
nbnd, & ! input: the number of bands
|
||||
ik ! input: the k point
|
||||
|
||||
real(DP) :: &
|
||||
e(nbnd), & ! input: the actual eigenvalue
|
||||
anorm, & ! output: the norm of the error in the solution
|
||||
h_diag(ndmx,nbnd), & ! input: an estimate of ( H - \epsilon )
|
||||
ethr ! input: the required precision
|
||||
|
||||
complex(DP) :: &
|
||||
dpsi (ndmx, nbnd), & ! output: the solution of the linear syst
|
||||
d0psi (ndmx, nbnd) ! input: the known term
|
||||
|
||||
logical :: conv_root ! output: if true the root is converged
|
||||
external h_psi, & ! input: the routine computing h_psi
|
||||
cg_psi ! input: the routine computing cg_psi
|
||||
!
|
||||
! here the local variables
|
||||
!
|
||||
integer, parameter :: maxter = 200
|
||||
! the maximum number of iterations
|
||||
integer :: iter, ibnd, lbnd
|
||||
! counters on iteration, bands
|
||||
integer , allocatable :: conv (:)
|
||||
! if 1 the root is converged
|
||||
|
||||
complex(DP), allocatable :: g (:,:), t (:,:), h (:,:), hold (:,:)
|
||||
! the gradient of psi
|
||||
! the preconditioned gradient
|
||||
! the delta gradient
|
||||
! the conjugate gradient
|
||||
! work space
|
||||
complex(DP) :: dcgamma, dclambda, ZDOTC
|
||||
! the ratio between rho
|
||||
! step length
|
||||
! the scalar product
|
||||
real(DP), allocatable :: rho (:), rhoold (:), eu (:), a(:), c(:)
|
||||
! the residue
|
||||
! auxiliary for h_diag
|
||||
real(DP) :: kter_eff
|
||||
! account the number of iterations with b
|
||||
! coefficient of quadratic form
|
||||
!
|
||||
call start_clock ('cgsolve')
|
||||
allocate ( g(ndmx,nbnd), t(ndmx,nbnd), h(ndmx,nbnd), hold(ndmx ,nbnd) )
|
||||
allocate (a(nbnd), c(nbnd))
|
||||
allocate (conv ( nbnd))
|
||||
allocate (rho(nbnd),rhoold(nbnd))
|
||||
allocate (eu ( nbnd))
|
||||
! WRITE( stdout,*) g,t,h,hold
|
||||
|
||||
kter_eff = 0.d0
|
||||
do ibnd = 1, nbnd
|
||||
conv (ibnd) = 0
|
||||
enddo
|
||||
do iter = 1, maxter
|
||||
!
|
||||
! compute the gradient. can reuse information from previous step
|
||||
!
|
||||
if (iter == 1) then
|
||||
call h_psi (ndim, dpsi, g, e, ik, nbnd)
|
||||
do ibnd = 1, nbnd
|
||||
call ZAXPY (ndim, (-1.d0,0.d0), d0psi(1,ibnd), 1, g(1,ibnd), 1)
|
||||
enddo
|
||||
endif
|
||||
!
|
||||
! compute preconditioned residual vector and convergence check
|
||||
!
|
||||
lbnd = 0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
lbnd = lbnd+1
|
||||
call ZCOPY (ndim, g (1, ibnd), 1, h (1, ibnd), 1)
|
||||
call cg_psi(ndmx, ndim, 1, h(1,ibnd), h_diag(1,ibnd) )
|
||||
rho(lbnd) = ZDOTC (ndim, h(1,ibnd), 1, g(1,ibnd), 1)
|
||||
endif
|
||||
enddo
|
||||
kter_eff = kter_eff + DBLE (lbnd) / DBLE (nbnd)
|
||||
#ifdef __PARA
|
||||
call reduce (lbnd, rho )
|
||||
#endif
|
||||
do ibnd = nbnd, 1, -1
|
||||
if (conv(ibnd).eq.0) then
|
||||
rho(ibnd)=rho(lbnd)
|
||||
lbnd = lbnd -1
|
||||
anorm = sqrt (rho (ibnd) )
|
||||
if (anorm.lt.ethr) conv (ibnd) = 1
|
||||
endif
|
||||
enddo
|
||||
!
|
||||
conv_root = .true.
|
||||
do ibnd = 1, nbnd
|
||||
conv_root = conv_root.and. (conv (ibnd) .eq.1)
|
||||
enddo
|
||||
if (conv_root) goto 100
|
||||
!
|
||||
! compute the step direction h. Conjugate it to previous step
|
||||
!
|
||||
lbnd = 0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
!
|
||||
! change sign to h
|
||||
!
|
||||
call DSCAL (2 * ndim, - 1.d0, h (1, ibnd), 1)
|
||||
if (iter.ne.1) then
|
||||
dcgamma = rho (ibnd) / rhoold (ibnd)
|
||||
call ZAXPY (ndim, dcgamma, hold (1, ibnd), 1, h (1, ibnd), 1)
|
||||
endif
|
||||
|
||||
!
|
||||
! here hold is used as auxiliary vector in order to efficiently compute t = A*h
|
||||
! it is later set to the current (becoming old) value of h
|
||||
!
|
||||
lbnd = lbnd+1
|
||||
call ZCOPY (ndim, h (1, ibnd), 1, hold (1, lbnd), 1)
|
||||
eu (lbnd) = e (ibnd)
|
||||
endif
|
||||
enddo
|
||||
!
|
||||
! compute t = A*h
|
||||
!
|
||||
call h_psi (ndim, hold, t, eu, ik, lbnd)
|
||||
!
|
||||
! compute the coefficients a and c for the line minimization
|
||||
! compute step length lambda
|
||||
lbnd=0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
lbnd=lbnd+1
|
||||
a(lbnd) = ZDOTC (ndim, h(1,ibnd), 1, g(1,ibnd), 1)
|
||||
c(lbnd) = ZDOTC (ndim, h(1,ibnd), 1, t(1,lbnd), 1)
|
||||
end if
|
||||
end do
|
||||
#ifdef __PARA
|
||||
call reduce (lbnd, a)
|
||||
call reduce (lbnd, c)
|
||||
#endif
|
||||
lbnd=0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
lbnd=lbnd+1
|
||||
dclambda = CMPLX ( - a(lbnd) / c(lbnd), 0.d0)
|
||||
!
|
||||
! move to new position
|
||||
!
|
||||
call ZAXPY (ndim, dclambda, h(1,ibnd), 1, dpsi(1,ibnd), 1)
|
||||
!
|
||||
! update to get the gradient
|
||||
!
|
||||
!g=g+lam
|
||||
call ZAXPY (ndim, dclambda, t(1,lbnd), 1, g(1,ibnd), 1)
|
||||
!
|
||||
! save current (now old) h and rho for later use
|
||||
!
|
||||
call ZCOPY (ndim, h(1,ibnd), 1, hold(1,ibnd), 1)
|
||||
rhoold (ibnd) = rho (ibnd)
|
||||
endif
|
||||
enddo
|
||||
enddo
|
||||
100 continue
|
||||
kter = kter_eff
|
||||
deallocate (eu)
|
||||
deallocate (rho, rhoold)
|
||||
deallocate (conv)
|
||||
deallocate (a,c)
|
||||
deallocate (g, t, h, hold)
|
||||
|
||||
call stop_clock ('cgsolve')
|
||||
return
|
||||
end subroutine cgsolve_all
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine ch_psi_all (n, h, ah, e, ik, m)
|
||||
subroutine ch_psi_all_nmr (n, h, ah, e, ik, m)
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine applies the operator ( H - \epsilon S + alpha_pv P_v)
|
||||
|
@ -54,8 +54,8 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
!
|
||||
! compute the product of the hamiltonian with the h vector
|
||||
!
|
||||
call h_psiq (npwx, n, m, h, hpsi, spsi)
|
||||
|
||||
call h_psiq_nmr (npwx, n, m, h, hpsi, spsi)
|
||||
!
|
||||
call start_clock ('last')
|
||||
!
|
||||
! then we compute the operator H-epsilon S
|
||||
|
@ -104,4 +104,4 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
call stop_clock ('last')
|
||||
call stop_clock ('ch_psi')
|
||||
return
|
||||
end subroutine ch_psi_all
|
||||
end subroutine ch_psi_all_nmr
|
||||
|
|
|
@ -36,7 +36,7 @@ SUBROUTINE greenfunction(ik, psi, g_psi, q)
|
|||
integer :: ibnd, ig, lter
|
||||
logical :: conv_root, q_is_zero
|
||||
complex(dp), external :: ZDOTC
|
||||
external ch_psi_all, cg_psi
|
||||
external ch_psi_all_nmr, cg_psi
|
||||
|
||||
|
||||
call start_clock ('greenf')
|
||||
|
@ -122,7 +122,7 @@ SUBROUTINE greenfunction(ik, psi, g_psi, q)
|
|||
g_psi(:,:) = (0.d0, 0.d0)
|
||||
|
||||
! solve linear system
|
||||
call cgsolve_all (ch_psi_all, cg_psi, et(1,ik), psi, g_psi, &
|
||||
call cgsolve_all (ch_psi_all_nmr, cg_psi, et(1,ik), psi, g_psi, &
|
||||
h_diag, npwx, npw, thresh, ik, lter, conv_root, anorm, &
|
||||
nbnd_occ(ik) )
|
||||
!!write(stdout, '(5X,''cgsolve_all converged in '',I3,'' iterations'')') &
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
!
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine h_psiq (lda, n, m, psi, hpsi, spsi)
|
||||
subroutine h_psiq_nmr (lda, n, m, psi, hpsi, spsi)
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine computes the product of the Hamiltonian
|
||||
|
@ -99,4 +99,4 @@ subroutine h_psiq (lda, n, m, psi, hpsi, spsi)
|
|||
|
||||
call stop_clock ('h_psiq')
|
||||
return
|
||||
end subroutine h_psiq
|
||||
end subroutine h_psiq_nmr
|
||||
|
|
|
@ -7,9 +7,6 @@ magnetic_kkterm.o : ../Modules/kind.o
|
|||
magnetic_kkterm.o : ../Modules/wavefunctions.o
|
||||
magnetic_kkterm.o : ../PH/phcom.o
|
||||
magnetic_kkterm.o : ../PW/pwcom.o
|
||||
nmr_mod.o : ../Modules/kind.o
|
||||
nmr_mod.o : ../Modules/uspp.o
|
||||
nmr_mod.o : ../PW/pwcom.o
|
||||
nmr.o : ../Modules/cell_base.o
|
||||
nmr.o : ../Modules/io_files.o
|
||||
nmr.o : ../Modules/ions_base.o
|
||||
|
@ -18,11 +15,14 @@ nmr.o : ../Modules/parameters.o
|
|||
nmr.o : ../Modules/uspp.o
|
||||
nmr.o : ../Modules/version.o
|
||||
nmr.o : ../Modules/wavefunctions.o
|
||||
nmr.o : nmr_mod.o
|
||||
nmr.o : ../PH/phcom.o
|
||||
nmr.o : ../PW/becmod.o
|
||||
nmr.o : ../PW/paw.o
|
||||
nmr.o : ../PW/pwcom.o
|
||||
nmr.o : nmr_mod.o
|
||||
nmr_mod.o : ../Modules/kind.o
|
||||
nmr_mod.o : ../Modules/uspp.o
|
||||
nmr_mod.o : ../PW/pwcom.o
|
||||
solve_cg.o : ../Modules/kind.o
|
||||
solve_cg.o : ../Modules/uspp.o
|
||||
solve_cg.o : ../Modules/wavefunctions.o
|
||||
|
@ -33,9 +33,9 @@ take_nloc_k_kq.o : ../Modules/ions_base.o
|
|||
take_nloc_k_kq.o : ../Modules/kind.o
|
||||
take_nloc_k_kq.o : ../Modules/uspp.o
|
||||
take_nloc_k_kq.o : ../Modules/wavefunctions.o
|
||||
take_nloc_k_kq.o : nmr_mod.o
|
||||
take_nloc_k_kq.o : ../PH/phcom.o
|
||||
take_nloc_k_kq.o : ../PW/becmod.o
|
||||
take_nloc_k_kq.o : ../PW/pwcom.o
|
||||
take_nloc_k_kq.o : nmr_mod.o
|
||||
nmr.o : ../include/f_defs.h
|
||||
solve_cg.o : ../include/f_defs.h
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
#include "f_defs.h"
|
||||
!----------------------------------------------------------------------
|
||||
subroutine cgsolve_all (h_psi, cg_psi, e, d0psi, dpsi, h_diag, &
|
||||
ndmx, ndim, ethr, ik, kter, conv_root, anorm, nbnd)
|
||||
|
|
|
@ -55,7 +55,7 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
! compute the product of the hamiltonian with the h vector
|
||||
!
|
||||
call h_psiq (npwx, n, m, h, hpsi, spsi)
|
||||
|
||||
!
|
||||
call start_clock ('last')
|
||||
!
|
||||
! then we compute the operator H-epsilon S
|
||||
|
|
|
@ -188,7 +188,7 @@ subroutine gmressolve_all (h_psi, cg_psi, e, d0psi, dpsi, h_diag, &
|
|||
endif
|
||||
!
|
||||
enddo
|
||||
kter_eff = kter_eff + float (lbnd) / float (nbnd)
|
||||
kter_eff = kter_eff + DBLE (lbnd) / DBLE (nbnd)
|
||||
!
|
||||
conv_root = .true.
|
||||
do ibnd = 1, nbnd
|
||||
|
@ -227,7 +227,7 @@ subroutine gmressolve_all (h_psi, cg_psi, e, d0psi, dpsi, h_diag, &
|
|||
!
|
||||
! compute hm(i,j)
|
||||
! hm(i,j) = ZDOTC (ndim, w(1,ibnd), 1, v(1,ibnd,i), 1)
|
||||
hm4para(1) = ZDOTC (ndim, w(1,ibnd), 1, v(1,ibnd,i), 1)
|
||||
hm4para(1) = ZDOTC (ndim, w(1,ibnd), 1, v(1,ibnd,i), 1)
|
||||
#ifdef __PARA
|
||||
call reduce (2, hm4para )
|
||||
#endif
|
||||
|
|
|
@ -147,12 +147,6 @@ compute_nldyn.o : ../Modules/kind.o
|
|||
compute_nldyn.o : ../Modules/uspp.o
|
||||
compute_nldyn.o : ../PW/pwcom.o
|
||||
compute_nldyn.o : phcom.o
|
||||
compute_qdipol.o : ../Modules/atom.o
|
||||
compute_qdipol.o : ../Modules/constants.o
|
||||
compute_qdipol.o : ../Modules/ions_base.o
|
||||
compute_qdipol.o : ../Modules/kind.o
|
||||
compute_qdipol.o : ../Modules/uspp.o
|
||||
compute_qdipol.o : phcom.o
|
||||
compute_weight.o : ../Modules/kind.o
|
||||
compute_weight.o : ../PW/pwcom.o
|
||||
compute_weight.o : phcom.o
|
||||
|
|
|
@ -14,13 +14,14 @@ subroutine polariz ( iw )
|
|||
!
|
||||
#include "f_defs.h"
|
||||
|
||||
USE io_global, ONLY : stdout
|
||||
USE io_files, ONLY: iunigk
|
||||
use pwcom
|
||||
USE kinds, only : DP
|
||||
use phcom
|
||||
use cell_base, only : omega
|
||||
implicit none
|
||||
USE io_global, ONLY : stdout
|
||||
USE io_files, ONLY : iunigk
|
||||
USE pwcom
|
||||
USE kinds, ONLY : DP
|
||||
USE phcom
|
||||
USE cell_base, ONLY : omega
|
||||
!
|
||||
IMPLICIT NONE
|
||||
!
|
||||
! I/O variables
|
||||
!
|
||||
|
|
|
@ -73,7 +73,7 @@ subroutine setlocq (xq, lloc, lmax, numeric, mesh, msh, rab, r, &
|
|||
! gx = modulus of g vectors
|
||||
real(DP), external :: erf
|
||||
! the erf function
|
||||
integer :: i, ig, l, ipol, ir
|
||||
integer :: i, ig, l, ir
|
||||
! counters
|
||||
!
|
||||
if (.not.numeric) then
|
||||
|
|
|
@ -57,7 +57,7 @@ subroutine solve_e
|
|||
logical :: conv_root, exst
|
||||
! conv_root: true if linear system is converged
|
||||
|
||||
integer :: kter, iter0, ipol, ibnd, jbnd, iter, lter, &
|
||||
integer :: kter, iter0, ipol, ibnd, iter, lter, &
|
||||
ik, ig, irr, ir, is, nrec, ios
|
||||
! counters
|
||||
integer :: ltaver, lintercall
|
||||
|
|
|
@ -42,8 +42,8 @@ bands.o : ../Modules/constants.o
|
|||
bands.o : ../Modules/io_files.o
|
||||
bands.o : ../Modules/io_global.o
|
||||
bands.o : ../Modules/ions_base.o
|
||||
bands.o : ../Modules/mp_global.o
|
||||
bands.o : ../Modules/mp.o
|
||||
bands.o : ../Modules/mp_global.o
|
||||
bands.o : ../Modules/uspp.o
|
||||
bands.o : ../Modules/wavefunctions.o
|
||||
bands.o : ../PW/noncol.o
|
||||
|
@ -83,6 +83,14 @@ compute_sigma_avg.o : ../PW/pwcom.o
|
|||
cube.o : ../Modules/kind.o
|
||||
cubicspinsym.o : ../Modules/kind.o
|
||||
cubicspinsym.o : ../PW/pwcom.o
|
||||
d_matrix_nc.o : ../Modules/cell_base.o
|
||||
d_matrix_nc.o : ../Modules/kind.o
|
||||
d_matrix_nc.o : ../Modules/random_numbers.o
|
||||
d_matrix_nc.o : ../PW/pwcom.o
|
||||
d_matrix_so.o : ../Modules/cell_base.o
|
||||
d_matrix_so.o : ../Modules/kind.o
|
||||
d_matrix_so.o : ../Modules/random_numbers.o
|
||||
d_matrix_so.o : ../PW/pwcom.o
|
||||
dipole.o : ../Modules/cell_base.o
|
||||
dipole.o : ../Modules/constants.o
|
||||
dipole.o : ../Modules/io_files.o
|
||||
|
@ -92,14 +100,6 @@ dipole.o : ../Modules/kind.o
|
|||
dipole.o : ../Modules/parameters.o
|
||||
dipole.o : ../Modules/wavefunctions.o
|
||||
dipole.o : ../PW/pwcom.o
|
||||
d_matrix_nc.o : ../Modules/cell_base.o
|
||||
d_matrix_nc.o : ../Modules/kind.o
|
||||
d_matrix_nc.o : ../Modules/random_numbers.o
|
||||
d_matrix_nc.o : ../PW/pwcom.o
|
||||
d_matrix_so.o : ../Modules/cell_base.o
|
||||
d_matrix_so.o : ../Modules/kind.o
|
||||
d_matrix_so.o : ../Modules/random_numbers.o
|
||||
d_matrix_so.o : ../PW/pwcom.o
|
||||
do_initial_state.o : ../Modules/cell_base.o
|
||||
do_initial_state.o : ../Modules/io_global.o
|
||||
do_initial_state.o : ../Modules/ions_base.o
|
||||
|
@ -107,7 +107,6 @@ do_initial_state.o : ../Modules/kind.o
|
|||
do_initial_state.o : ../Modules/parameters.o
|
||||
do_initial_state.o : ../Modules/uspp.o
|
||||
do_initial_state.o : ../PW/pwcom.o
|
||||
dosg.o : ../Modules/kind.o
|
||||
do_shift_ew.o : ../Modules/kind.o
|
||||
dos.o : ../Modules/constants.o
|
||||
dos.o : ../Modules/io_files.o
|
||||
|
@ -116,6 +115,7 @@ dos.o : ../Modules/kind.o
|
|||
dos.o : ../Modules/mp.o
|
||||
dos.o : ../PW/noncol.o
|
||||
dos.o : ../PW/pwcom.o
|
||||
dosg.o : ../Modules/kind.o
|
||||
efg.o : ../Modules/atom.o
|
||||
efg.o : ../Modules/cell_base.o
|
||||
efg.o : ../Modules/constants.o
|
||||
|
@ -158,6 +158,15 @@ initial_state.o : ../Modules/parameters.o
|
|||
initial_state.o : ../Modules/uspp.o
|
||||
initial_state.o : ../Modules/wavefunctions.o
|
||||
initial_state.o : ../PW/pwcom.o
|
||||
local_dos.o : ../Modules/cell_base.o
|
||||
local_dos.o : ../Modules/io_files.o
|
||||
local_dos.o : ../Modules/ions_base.o
|
||||
local_dos.o : ../Modules/kind.o
|
||||
local_dos.o : ../Modules/mp.o
|
||||
local_dos.o : ../Modules/uspp.o
|
||||
local_dos.o : ../Modules/wavefunctions.o
|
||||
local_dos.o : ../PW/noncol.o
|
||||
local_dos.o : ../PW/pwcom.o
|
||||
local_dos1d.o : ../Modules/cell_base.o
|
||||
local_dos1d.o : ../Modules/ions_base.o
|
||||
local_dos1d.o : ../Modules/uspp.o
|
||||
|
@ -173,15 +182,6 @@ local_dos_mag.o : ../Modules/uspp.o
|
|||
local_dos_mag.o : ../Modules/wavefunctions.o
|
||||
local_dos_mag.o : ../PW/noncol.o
|
||||
local_dos_mag.o : ../PW/pwcom.o
|
||||
local_dos.o : ../Modules/cell_base.o
|
||||
local_dos.o : ../Modules/io_files.o
|
||||
local_dos.o : ../Modules/ions_base.o
|
||||
local_dos.o : ../Modules/kind.o
|
||||
local_dos.o : ../Modules/mp.o
|
||||
local_dos.o : ../Modules/uspp.o
|
||||
local_dos.o : ../Modules/wavefunctions.o
|
||||
local_dos.o : ../PW/noncol.o
|
||||
local_dos.o : ../PW/pwcom.o
|
||||
openfil_pp.o : ../Modules/control_flags.o
|
||||
openfil_pp.o : ../Modules/io_files.o
|
||||
openfil_pp.o : ../Modules/io_global.o
|
||||
|
@ -200,13 +200,13 @@ plan_avg.o : ../Modules/wavefunctions.o
|
|||
plan_avg.o : ../PW/becmod.o
|
||||
plan_avg.o : ../PW/noncol.o
|
||||
plan_avg.o : ../PW/pwcom.o
|
||||
plotband.o : ../Modules/io_global.o
|
||||
plot_io.o : ../Modules/io_global.o
|
||||
plot_io.o : ../Modules/kind.o
|
||||
plot_whole_cell.o : ../Modules/kind.o
|
||||
plotband.o : ../Modules/io_global.o
|
||||
plotproj.o : ../Modules/kind.o
|
||||
plotrho.o : ../Modules/io_global.o
|
||||
plotrho.o : ../Modules/kind.o
|
||||
plot_whole_cell.o : ../Modules/kind.o
|
||||
poormanwannier.o : ../Modules/atom.o
|
||||
poormanwannier.o : ../Modules/cell_base.o
|
||||
poormanwannier.o : ../Modules/constants.o
|
||||
|
@ -226,7 +226,6 @@ postproc.o : ../Modules/ions_base.o
|
|||
postproc.o : ../Modules/kind.o
|
||||
postproc.o : ../Modules/mp.o
|
||||
postproc.o : ../PW/pwcom.o
|
||||
projwfc.o : ../iotk/src/iotk_module.o
|
||||
projwfc.o : ../Modules/atom.o
|
||||
projwfc.o : ../Modules/cell_base.o
|
||||
projwfc.o : ../Modules/constants.o
|
||||
|
@ -240,6 +239,7 @@ projwfc.o : ../Modules/wavefunctions.o
|
|||
projwfc.o : ../PW/becmod.o
|
||||
projwfc.o : ../PW/noncol.o
|
||||
projwfc.o : ../PW/pwcom.o
|
||||
projwfc.o : ../iotk/src/iotk_module.o
|
||||
punch_plot.o : ../Modules/cell_base.o
|
||||
punch_plot.o : ../Modules/constants.o
|
||||
punch_plot.o : ../Modules/io_global.o
|
||||
|
@ -273,8 +273,8 @@ pw2wannier90.o : ../Modules/io_files.o
|
|||
pw2wannier90.o : ../Modules/io_global.o
|
||||
pw2wannier90.o : ../Modules/ions_base.o
|
||||
pw2wannier90.o : ../Modules/kind.o
|
||||
pw2wannier90.o : ../Modules/mp_global.o
|
||||
pw2wannier90.o : ../Modules/mp.o
|
||||
pw2wannier90.o : ../Modules/mp_global.o
|
||||
pw2wannier90.o : ../Modules/random_numbers.o
|
||||
pw2wannier90.o : ../Modules/uspp.o
|
||||
pw2wannier90.o : ../Modules/wannier.o
|
||||
|
@ -282,19 +282,19 @@ pw2wannier90.o : ../Modules/wavefunctions.o
|
|||
pw2wannier90.o : ../PW/becmod.o
|
||||
pw2wannier90.o : ../PW/noncol.o
|
||||
pw2wannier90.o : ../PW/pwcom.o
|
||||
pw_export.o : ../iotk/src/iotk_module.o
|
||||
pw_export.o : ../Modules/io_files.o
|
||||
pw_export.o : ../Modules/io_global.o
|
||||
pw_export.o : ../Modules/ions_base.o
|
||||
pw_export.o : ../Modules/kind.o
|
||||
pw_export.o : ../Modules/mp_global.o
|
||||
pw_export.o : ../Modules/mp.o
|
||||
pw_export.o : ../Modules/mp_global.o
|
||||
pw_export.o : ../Modules/mp_wave.o
|
||||
pw_export.o : ../Modules/parameters.o
|
||||
pw_export.o : ../Modules/version.o
|
||||
pw_export.o : ../Modules/wavefunctions.o
|
||||
pw_export.o : ../PW/becmod.o
|
||||
pw_export.o : ../PW/pwcom.o
|
||||
pw_export.o : ../iotk/src/iotk_module.o
|
||||
qexml.o : ../iotk/src/iotk_module.o
|
||||
smallgk.o : ../Modules/kind.o
|
||||
start_postproc.o : ../Modules/version.o
|
||||
|
@ -360,16 +360,16 @@ bands.o : ../include/f_defs.h
|
|||
cgracsc.o : ../include/f_defs.h
|
||||
chdens.o : ../include/f_defs.h
|
||||
compute_ppsi.o : ../include/f_defs.h
|
||||
dipole.o : ../include/f_defs.h
|
||||
d_matrix_nc.o : ../include/f_defs.h
|
||||
d_matrix_so.o : ../include/f_defs.h
|
||||
dipole.o : ../include/f_defs.h
|
||||
do_initial_state.o : ../include/f_defs.h
|
||||
do_shift_ew.o : ../include/f_defs.h
|
||||
dos.o : ../include/f_defs.h
|
||||
elf.o : ../include/f_defs.h
|
||||
local_dos.o : ../include/f_defs.h
|
||||
local_dos1d.o : ../include/f_defs.h
|
||||
local_dos_mag.o : ../include/f_defs.h
|
||||
local_dos.o : ../include/f_defs.h
|
||||
plan_avg.o : ../include/f_defs.h
|
||||
plotband.o : ../include/f_defs.h
|
||||
plotproj.o : ../include/f_defs.h
|
||||
|
|
100
PP/wfdd.f90
100
PP/wfdd.f90
|
@ -7,15 +7,15 @@
|
|||
!
|
||||
module wanpar
|
||||
! nw: the number of the G vectors
|
||||
! nit: the number of total iteration during searching
|
||||
! nsd: the number of steepest descent iterations
|
||||
! nit: the number of total iteration during searching
|
||||
! nsd: the number of steepest descent iterations
|
||||
! ibrav: the structure index, the same as ibrav in CP code.
|
||||
integer :: nw, nit, nsd, ibrav
|
||||
logical adapt, restart
|
||||
! wfdt: time step during searching
|
||||
! maxwfdt: the maximum time step during searching
|
||||
! b1,b2,b3: the reciprocal lattice
|
||||
! alat: the lattice parameter
|
||||
! alat: the lattice parameter
|
||||
! a1,a2,a3: the real-space lattice
|
||||
real(kind=8) :: wfdt, maxwfdt, b1(3), b2(3), b3(3), alat
|
||||
real(kind=8) :: a1(3), a2(3), a3(3), tolw
|
||||
|
@ -29,14 +29,14 @@ module wanpar
|
|||
! weight: the weight of each G vectors
|
||||
real(kind=8), allocatable :: weight(:)
|
||||
!
|
||||
! These are the Input variables for Damped Dynamics
|
||||
! These are the Input variables for Damped Dynamics
|
||||
!
|
||||
! q: imaginary mass of the Unitary Matrix
|
||||
! dt: Time Step for damped dynamics
|
||||
! cgordd: 1=conjugate gradient/SD
|
||||
! any other number = damped dynamics
|
||||
! fric: damping coefficient, b/w 0 and 1
|
||||
! nsteps: Max No. of MD Steps
|
||||
! q: imaginary mass of the Unitary Matrix
|
||||
! dt: Time Step for damped dynamics
|
||||
! cgordd: 1=conjugate gradient/SD
|
||||
! any other number = damped dynamics
|
||||
! fric: damping coefficient, b/w 0 and 1
|
||||
! nsteps: Max No. of MD Steps
|
||||
real(kind=8) :: q, dt, fric
|
||||
integer :: cgordd, nsteps
|
||||
|
||||
|
@ -56,7 +56,7 @@ program wf
|
|||
!
|
||||
! Searching parameters are in the input file:
|
||||
!
|
||||
! cgordd wfdt maxwfdt nit nsd q dt fric nsteps
|
||||
! cgordd wfdt maxwfdt nit nsd q dt fric nsteps
|
||||
!
|
||||
!
|
||||
! The final unitary matrix Uall is output to fort.39.
|
||||
|
@ -65,11 +65,11 @@ program wf
|
|||
! Yudong Wu
|
||||
! June 28,2001
|
||||
!
|
||||
! This code has been modified to include Damped dynamics to
|
||||
! find the maximally localized wannier functions.
|
||||
!
|
||||
! Manu
|
||||
! September 16,2001
|
||||
! This code has been modified to include Damped dynamics to
|
||||
! find the maximally localized wannier functions.
|
||||
!
|
||||
! Manu
|
||||
! September 16,2001
|
||||
!
|
||||
!
|
||||
! copyright MANU/YUDONG WU/NICOLA MARZARI/ROBERTO CAR
|
||||
|
@ -83,10 +83,10 @@ program wf
|
|||
complex(kind=8), allocatable :: O(:, :, :), Ospin(:, :, :)
|
||||
real(kind=8), allocatable :: Uall(:,:), Uspin(:,:), u1(:,:)
|
||||
|
||||
read (5,*) cgordd, wfdt, maxwfdt, nit, nsd
|
||||
read (5,*) cgordd, wfdt, maxwfdt, nit, nsd
|
||||
read (5,*) q, dt, fric, adapt, nsteps, tolw
|
||||
read (5,*) restart
|
||||
|
||||
|
||||
|
||||
!
|
||||
! input the overlap matrix from fort.38
|
||||
|
@ -211,9 +211,9 @@ program wf
|
|||
end do
|
||||
end do
|
||||
deallocate(Uspin, Ospin)
|
||||
end if
|
||||
end if
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
rewind 39
|
||||
|
@ -223,7 +223,7 @@ program wf
|
|||
end do
|
||||
end do
|
||||
|
||||
! u1=matmul(Uall,transpose(Uall))
|
||||
!u1=matmul(Uall,transpose(Uall))
|
||||
|
||||
! do i=1, n
|
||||
! do j=1, n
|
||||
|
@ -235,15 +235,15 @@ program wf
|
|||
|
||||
contains
|
||||
!-------------------------------------------------------------------------
|
||||
subroutine ddyn(m,Omat,Umat)
|
||||
subroutine ddyn(m,Omat,Umat)
|
||||
! (m,m) is the size of the matrix Ospin.
|
||||
! Ospin is input overlap matrix.
|
||||
! Uspin is the output unitary transformation.
|
||||
! Rough guess for Uspin can be carried in.
|
||||
!
|
||||
!
|
||||
! MANU
|
||||
! SEPTEMBER 17, 2001
|
||||
! MANU
|
||||
! SEPTEMBER 17, 2001
|
||||
!-------------------------------------------------------------------------
|
||||
|
||||
use wanpar
|
||||
|
@ -287,8 +287,8 @@ contains
|
|||
! do i=1,m
|
||||
! Umat(i,i)=1.d0
|
||||
! end do
|
||||
|
||||
U2=Umat*alpha
|
||||
|
||||
U2=Umat*alpha
|
||||
|
||||
!
|
||||
! update Oc using the initial guess of Uspin
|
||||
|
@ -304,8 +304,8 @@ contains
|
|||
Oc(inw, :, :)=X1(:, :)
|
||||
end do
|
||||
|
||||
U2=beta1
|
||||
U3=beta1
|
||||
U2=beta1
|
||||
U3=beta1
|
||||
|
||||
oldspread=0.0
|
||||
write(24, *) "spread: (unit \AA^2)"
|
||||
|
@ -325,7 +325,7 @@ contains
|
|||
temp=Aminus
|
||||
|
||||
|
||||
! START ITERATIONS HERE
|
||||
! START ITERATIONS HERE
|
||||
|
||||
do ini=1, nsteps
|
||||
|
||||
|
@ -340,16 +340,16 @@ contains
|
|||
|
||||
|
||||
if(ABS(t0-oldt0).lt.tolw) then
|
||||
write(6,*) "MLWF Generated at Step",ini
|
||||
go to 241
|
||||
end if
|
||||
write(6,*) "MLWF Generated at Step",ini
|
||||
go to 241
|
||||
end if
|
||||
|
||||
if(adapt) then
|
||||
if(oldt0.lt.t0) then
|
||||
fric=fric/2.
|
||||
A=Aminus
|
||||
Aminus=temp
|
||||
end if
|
||||
if(oldt0.lt.t0) then
|
||||
fric=fric/2.
|
||||
A=Aminus
|
||||
Aminus=temp
|
||||
end if
|
||||
end if
|
||||
|
||||
! calculate d(omega)/dA and store result in W
|
||||
|
@ -366,21 +366,21 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
|
||||
|
||||
! the verlet scheme to calculate A(t+dt)
|
||||
|
||||
Aplus=0.d0
|
||||
|
||||
Aplus=0.d0
|
||||
|
||||
do i=1,m
|
||||
do j=i+1,m
|
||||
Aplus(i,j)=Aplus(i,j)+(2*dt/(2*dt+fric))*(2*A(i,j) &
|
||||
Aplus(i,j)=Aplus(i,j)+(2*dt/(2*dt+fric))*(2*A(i,j) &
|
||||
-Aminus(i,j)+(dt*dt/q)*W(i,j)) + (fric/(2*dt+fric))*Aminus(i,j)
|
||||
enddo
|
||||
enddo
|
||||
|
||||
Aplus=Aplus-transpose(Aplus)
|
||||
Aplus=(Aplus-A)
|
||||
Aplus=Aplus-transpose(Aplus)
|
||||
Aplus=(Aplus-A)
|
||||
|
||||
do i=1, m
|
||||
do j=i,m
|
||||
|
@ -402,7 +402,7 @@ contains
|
|||
end do !d=exp(d)
|
||||
|
||||
! U=z*exp(d)*z+
|
||||
!
|
||||
!
|
||||
U3=beta1
|
||||
call ZGEMM ('N', 'N', m,m,m,alpha,z,m,d,m,beta1,U3,m)
|
||||
U2=beta1
|
||||
|
@ -436,7 +436,7 @@ contains
|
|||
U2=beta1
|
||||
U3=beta1
|
||||
|
||||
if(ABS(t0-oldt0).ge.tolw.and.ini.ge.nsteps) then
|
||||
if(ABS(t0-oldt0).ge.tolw.and.ini.ge.nsteps) then
|
||||
go to 241
|
||||
end if
|
||||
|
||||
|
@ -516,10 +516,10 @@ contains
|
|||
do i=1, m
|
||||
write(26, '(3f11.6)') wfc(:,i)*autoaf
|
||||
end do
|
||||
|
||||
|
||||
write(6,*) "Friction =", fric
|
||||
write(6,*) "Mass =", q
|
||||
|
||||
|
||||
|
||||
deallocate(wr, W)
|
||||
|
||||
|
@ -694,13 +694,13 @@ contains
|
|||
schd=W
|
||||
end if
|
||||
!
|
||||
! calculate the new d(Lambda) for the new Search Direction
|
||||
! added by Manu. September 19, 2001
|
||||
! calculate the new d(Lambda) for the new Search Direction
|
||||
! added by Manu. September 19, 2001
|
||||
!
|
||||
! calculate slope=d(omiga)/d(lamda)
|
||||
slope=SUM(schd**2)
|
||||
!------------------------------------------------------------------------
|
||||
! schd=schd*maxwfdt
|
||||
! schd=schd*maxwfdt
|
||||
do i=1, m
|
||||
do j=i, m
|
||||
wp1(i + (j-1)*j/2) = cmplx(0.0d0, schd(i,j))
|
||||
|
|
|
@ -237,7 +237,6 @@ vhpsi.o \
|
|||
vhpsi_nc.o \
|
||||
vloc_of_g.o \
|
||||
vloc_psi.o \
|
||||
vpack.o \
|
||||
w0gauss.o \
|
||||
w1gauss.o \
|
||||
wfcinit.o \
|
||||
|
|
|
@ -451,4 +451,4 @@ SUBROUTINE compute_scf( fii, lii, stat )
|
|||
!
|
||||
END FUNCTION interrupt_run
|
||||
!
|
||||
END SUBROUTINE compute_scf
|
||||
END SUBROUTINE compute_scf
|
||||
|
|
474
PW/make.depend
474
PW/make.depend
File diff suppressed because it is too large
Load Diff
|
@ -91,7 +91,7 @@ subroutine set_pseudo_upf (is, upf)
|
|||
do nb = 1, upf%nbeta
|
||||
do mb = nb, upf%nbeta
|
||||
ijv = mb * (mb-1) / 2 + nb
|
||||
qfunc (1:upf%mesh, ijv, is) = upf%qfunc(1:upf%mesh, nb, mb)
|
||||
qfunc (1:upf%mesh, ijv, is) = upf%qfunc(1:upf%mesh, nb, mb)
|
||||
end do
|
||||
end do
|
||||
qfcoef(1:upf%nqf, 1:upf%nqlc, 1:upf%nbeta, 1:upf%nbeta, is ) = &
|
||||
|
|
34
PW/vpack.f90
34
PW/vpack.f90
|
@ -1,34 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
subroutine vpack (ndim, ndimx, nspin, vin, vout, iflag)
|
||||
USE kinds
|
||||
implicit none
|
||||
integer :: ndim, ndimx, nspin, iflag, n
|
||||
|
||||
real(DP) :: vin (ndimx * nspin), vout (ndimx * nspin)
|
||||
if (nspin.eq.1.or.ndim.eq.ndimx) return
|
||||
if (iflag.eq.1) then
|
||||
do n = 1, ndim
|
||||
vin (n + ndim) = vin (n + ndimx)
|
||||
vout (n + ndim) = vout (n + ndimx)
|
||||
enddo
|
||||
elseif (iflag.eq. - 1) then
|
||||
do n = ndim, 1, - 1
|
||||
vin (n + ndimx) = vin (n + ndim)
|
||||
vout (n + ndimx) = vout (n + ndim)
|
||||
enddo
|
||||
do n = ndim + 1, ndimx
|
||||
vin (n) = 0.d0
|
||||
vout (n) = 0.d0
|
||||
enddo
|
||||
else
|
||||
call errore ('vpack', ' wrong flag ', 1)
|
||||
|
||||
endif
|
||||
return
|
||||
end subroutine vpack
|
|
@ -1,38 +1,37 @@
|
|||
allocate_cond.o : condcom.o
|
||||
allocate_cond.o : ../PW/noncol.o
|
||||
allocate_cond.o : condcom.o
|
||||
bessj.o : ../Modules/kind.o
|
||||
compbs_2.o : ../Modules/kind.o
|
||||
compbs.o : condcom.o
|
||||
compbs.o : ../Modules/ions_base.o
|
||||
compbs.o : ../PW/noncol.o
|
||||
compbs.o : ../PW/pwcom.o
|
||||
condcom.o : ../Modules/kind.o
|
||||
condcom.o : ../Modules/parameters.o
|
||||
cond_out.o : condcom.o
|
||||
compbs.o : condcom.o
|
||||
compbs_2.o : ../Modules/kind.o
|
||||
cond_out.o : ../Modules/io_global.o
|
||||
cond_out.o : ../Modules/ions_base.o
|
||||
cond_out.o : ../PW/noncol.o
|
||||
cond_out.o : ../PW/pwcom.o
|
||||
do_cond.o : condcom.o
|
||||
cond_out.o : condcom.o
|
||||
condcom.o : ../Modules/kind.o
|
||||
condcom.o : ../Modules/parameters.o
|
||||
do_cond.o : ../Modules/io_files.o
|
||||
do_cond.o : ../Modules/io_global.o
|
||||
do_cond.o : ../Modules/ions_base.o
|
||||
do_cond.o : ../Modules/mp.o
|
||||
do_cond.o : ../PW/noncol.o
|
||||
do_cond.o : ../PW/pwcom.o
|
||||
do_cond.o : condcom.o
|
||||
eigenchnl.o : ../Modules/kind.o
|
||||
form_zk.o : ../Modules/kind.o
|
||||
four.o : condcom.o
|
||||
four.o : ../Modules/cell_base.o
|
||||
four.o : ../Modules/constants.o
|
||||
four.o : ../Modules/kind.o
|
||||
four.o : ../Modules/parameters.o
|
||||
four.o : condcom.o
|
||||
free_mem.o : condcom.o
|
||||
gep_x.o : condcom.o
|
||||
gep_x.o : ../Modules/kind.o
|
||||
gep_x.o : condcom.o
|
||||
gramsh.o : ../Modules/kind.o
|
||||
hev_ab.o : ../Modules/kind.o
|
||||
init_cond.o : condcom.o
|
||||
init_cond.o : ../Modules/atom.o
|
||||
init_cond.o : ../Modules/io_files.o
|
||||
init_cond.o : ../Modules/io_global.o
|
||||
|
@ -41,81 +40,82 @@ init_cond.o : ../Modules/kind.o
|
|||
init_cond.o : ../Modules/uspp.o
|
||||
init_cond.o : ../PW/noncol.o
|
||||
init_cond.o : ../PW/pwcom.o
|
||||
init_gper.o : condcom.o
|
||||
init_cond.o : condcom.o
|
||||
init_gper.o : ../Modules/io_global.o
|
||||
init_gper.o : ../PW/noncol.o
|
||||
init_gper.o : ../PW/pwcom.o
|
||||
init_orbitals.o : condcom.o
|
||||
init_gper.o : condcom.o
|
||||
init_orbitals.o : ../Modules/atom.o
|
||||
init_orbitals.o : ../Modules/ions_base.o
|
||||
init_orbitals.o : ../Modules/kind.o
|
||||
init_orbitals.o : ../Modules/uspp.o
|
||||
init_orbitals.o : ../PW/noncol.o
|
||||
init_orbitals.o : ../PW/pwcom.o
|
||||
init_orbitals.o : condcom.o
|
||||
integrals.o : ../Modules/kind.o
|
||||
jbloch.o : condcom.o
|
||||
jbloch.o : ../Modules/kind.o
|
||||
jbloch.o : ../PW/noncol.o
|
||||
jbloch.o : condcom.o
|
||||
kbloch.o : ../Modules/constants.o
|
||||
kbloch.o : ../Modules/kind.o
|
||||
local.o : condcom.o
|
||||
local.o : ../Modules/cell_base.o
|
||||
local.o : ../Modules/constants.o
|
||||
local.o : ../Modules/io_files.o
|
||||
local.o : ../Modules/io_global.o
|
||||
local.o : ../Modules/kind.o
|
||||
local.o : ../Modules/mp_global.o
|
||||
local.o : ../Modules/mp.o
|
||||
local.o : ../Modules/mp_global.o
|
||||
local.o : ../Modules/parallel_include.o
|
||||
local.o : ../PW/noncol.o
|
||||
poten.o : condcom.o
|
||||
local.o : condcom.o
|
||||
poten.o : ../Modules/fft_scalar.o
|
||||
poten.o : ../Modules/io_global.o
|
||||
poten.o : ../Modules/mp.o
|
||||
poten.o : ../PW/noncol.o
|
||||
poten.o : ../PW/pwcom.o
|
||||
print_clock_pwcond.o : condcom.o
|
||||
poten.o : condcom.o
|
||||
print_clock_pwcond.o : ../Modules/io_global.o
|
||||
print_clock_pwcond.o : ../Modules/mp_global.o
|
||||
print_clock_pwcond.o : condcom.o
|
||||
rotproc.o : ../Modules/kind.o
|
||||
rotproc.o : ../Modules/mp_global.o
|
||||
rotproc.o : ../Modules/parallel_include.o
|
||||
rotproc.o : ../PW/noncol.o
|
||||
save_cond.o : condcom.o
|
||||
save_cond.o : ../Modules/cell_base.o
|
||||
save_cond.o : ../Modules/io_files.o
|
||||
save_cond.o : ../Modules/kind.o
|
||||
save_cond.o : ../Modules/parameters.o
|
||||
save_cond.o : ../PW/noncol.o
|
||||
save_cond.o : ../PW/pwcom.o
|
||||
scatter_forw.o : condcom.o
|
||||
save_cond.o : condcom.o
|
||||
scatter_forw.o : ../Modules/cell_base.o
|
||||
scatter_forw.o : ../Modules/constants.o
|
||||
scatter_forw.o : ../Modules/parameters.o
|
||||
scatter_forw.o : ../PW/noncol.o
|
||||
summary_band.o : condcom.o
|
||||
scatter_forw.o : condcom.o
|
||||
summary_band.o : ../Modules/io_files.o
|
||||
summary_band.o : ../Modules/io_global.o
|
||||
summary_band.o : ../PW/noncol.o
|
||||
summary_band.o : ../PW/pwcom.o
|
||||
summary_tran.o : condcom.o
|
||||
summary_band.o : condcom.o
|
||||
summary_tran.o : ../Modules/io_files.o
|
||||
summary_tran.o : ../Modules/kind.o
|
||||
summary_tran.o : condcom.o
|
||||
sunitary.o : ../Modules/io_global.o
|
||||
sunitary.o : ../Modules/kind.o
|
||||
transmit.o : condcom.o
|
||||
transmit.o : ../Modules/io_files.o
|
||||
transmit.o : ../Modules/io_global.o
|
||||
transmit.o : ../PW/noncol.o
|
||||
transmit.o : ../PW/pwcom.o
|
||||
write_states.o : condcom.o
|
||||
transmit.o : condcom.o
|
||||
write_states.o : ../Modules/ions_base.o
|
||||
write_states.o : ../Modules/kind.o
|
||||
write_states.o : ../PW/noncol.o
|
||||
write_states.o : ../PW/pwcom.o
|
||||
write_states.o : condcom.o
|
||||
allocate_cond.o : ../include/f_defs.h
|
||||
compbs_2.o : ../include/f_defs.h
|
||||
compbs.o : ../include/f_defs.h
|
||||
compbs_2.o : ../include/f_defs.h
|
||||
do_cond.o : ../include/f_defs.h
|
||||
eigenchnl.o : ../include/f_defs.h
|
||||
form_zk.o : ../include/f_defs.h
|
||||
|
|
5
TODO
5
TODO
|
@ -1,4 +1,4 @@
|
|||
TODO LIST - November 2006
|
||||
TODO LIST - December 2006
|
||||
|
||||
BUGS TO EXAMINE
|
||||
|
||||
|
@ -22,7 +22,7 @@ INSTALLATION/PORTING
|
|||
COMMON
|
||||
|
||||
- uniform and clear values for constants in Modules/constants.f90
|
||||
(almost finished)
|
||||
- convert all single-precision constants to double precision
|
||||
|
||||
- check whether license is written in the header of the file
|
||||
|
||||
|
@ -135,6 +135,7 @@ PH, D3, Gamma
|
|||
|
||||
- stop with 'prefix.EXIT' and restart (PH now has it; D3 & Gamma do not
|
||||
have any infrastructure for stopping like this)
|
||||
Phonon restart is inefficient in some cases
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
|
|
|
@ -1,184 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2002-2005 FPMD-CPV groups
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!==-----------------------------------------------------------------------==!
|
||||
MODULE environment
|
||||
!==-----------------------------------------------------------------------==!
|
||||
#ifdef DFT_CP
|
||||
|
||||
USE kinds
|
||||
USE io_files, ONLY: crash_file, crashunit, &
|
||||
stop_file, stopunit
|
||||
|
||||
IMPLICIT NONE
|
||||
SAVE
|
||||
|
||||
PRIVATE
|
||||
|
||||
REAL(DP) :: start_cclock_val
|
||||
|
||||
PUBLIC :: environment_start
|
||||
PUBLIC :: environment_end
|
||||
PUBLIC :: opening_date_and_time, closing_date_and_time
|
||||
PUBLIC :: start_cclock_val
|
||||
|
||||
!==-----------------------------------------------------------------------==!
|
||||
CONTAINS
|
||||
!==-----------------------------------------------------------------------==!
|
||||
|
||||
|
||||
SUBROUTINE environment_start( )
|
||||
|
||||
USE io_global, ONLY: stdout, meta_ionode
|
||||
USE mp_global, ONLY: mpime, nproc
|
||||
USE cp_version
|
||||
|
||||
LOGICAL :: texst
|
||||
INTEGER :: nchar
|
||||
CHARACTER(LEN=80) :: uname
|
||||
CHARACTER(LEN=80) :: version_str
|
||||
REAL(DP), EXTERNAL :: cclock
|
||||
CHARACTER(LEN=6), EXTERNAL :: int_to_char
|
||||
|
||||
|
||||
CALL init_clocks( .TRUE. )
|
||||
CALL start_clock( 'CP' )
|
||||
|
||||
start_cclock_val = cclock( )
|
||||
|
||||
version_str = TRIM (version_number) // " - " // TRIM (version_date)
|
||||
|
||||
! ... search for file CRASH and delete it
|
||||
|
||||
IF( meta_ionode ) THEN
|
||||
INQUIRE( FILE=TRIM(crash_file), EXIST=texst )
|
||||
IF( texst ) THEN
|
||||
OPEN( UNIT=crashunit, FILE=TRIM(crash_file), STATUS='OLD' )
|
||||
CLOSE( UNIT=crashunit, STATUS='DELETE' )
|
||||
END IF
|
||||
END IF
|
||||
|
||||
! ... each processor other than me=1 opens its own standard output file,
|
||||
! ... this is mainly for debugging, usually only ionode writes to stdout
|
||||
|
||||
IF( .NOT. meta_ionode ) THEN
|
||||
|
||||
uname = 'out.' // int_to_char( mpime )
|
||||
nchar = INDEX(uname,' ') - 1
|
||||
|
||||
!
|
||||
! useful for debugging purposes
|
||||
! open( unit = stdout, file = uname(1:nchar),status='unknown')
|
||||
!
|
||||
open( unit = stdout, file='/dev/null', status='unknown' )
|
||||
|
||||
END IF
|
||||
|
||||
CALL opening_date_and_time( version_str )
|
||||
|
||||
#if defined __MPI
|
||||
|
||||
WRITE( stdout,100) nproc, mpime
|
||||
100 FORMAT(3X,'MPI Parallel Build',/,3X,'Tasks =',I5,' This task id =',I5)
|
||||
|
||||
#else
|
||||
|
||||
WRITE( stdout,100)
|
||||
100 FORMAT(3X,'Serial Build')
|
||||
|
||||
#endif
|
||||
|
||||
RETURN
|
||||
END SUBROUTINE environment_start
|
||||
|
||||
!==-----------------------------------------------------------------------==!
|
||||
|
||||
SUBROUTINE environment_end( )
|
||||
|
||||
USE io_global, ONLY: stdout, meta_ionode
|
||||
|
||||
IF ( meta_ionode ) WRITE( stdout, * )
|
||||
|
||||
CALL stop_clock( 'CP' )
|
||||
CALL print_clock( 'CP' )
|
||||
|
||||
CALL closing_date_and_time( )
|
||||
|
||||
IF( meta_ionode ) THEN
|
||||
WRITE( stdout,'(A)') ' JOB DONE.'
|
||||
WRITE( stdout,3335)
|
||||
END IF
|
||||
3335 FORMAT('=',78('-'),'=')
|
||||
|
||||
RETURN
|
||||
END SUBROUTINE environment_end
|
||||
|
||||
!==-----------------------------------------------------------------------==!
|
||||
|
||||
SUBROUTINE opening_date_and_time( version_str )
|
||||
|
||||
USE io_global, ONLY: stdout, meta_ionode
|
||||
|
||||
CHARACTER(LEN=*), INTENT(IN) :: version_str
|
||||
CHARACTER(LEN=9) :: cdate, ctime
|
||||
CHARACTER(LEN=80) :: time_str
|
||||
|
||||
CALL date_and_tim( cdate, ctime )
|
||||
time_str = 'This run was started on: ' // ctime // ' ' // cdate
|
||||
|
||||
! ... write program heading
|
||||
|
||||
|
||||
IF( meta_ionode ) THEN
|
||||
WRITE( stdout,3331)
|
||||
WRITE( stdout,3332) version_str
|
||||
WRITE( stdout,3331)
|
||||
WRITE( stdout,3334) time_str
|
||||
END IF
|
||||
|
||||
3331 FORMAT('=',78('-'),'=')
|
||||
3332 FORMAT( /, 5X,'CP: variable-cell Car-Parrinello molecular dynamics',/&
|
||||
& ,5X,'using norm-conserving and ultrasoft Vanderbilt pseudopotentials',//&
|
||||
& ,5X,'Version: ',A60,/&
|
||||
& ,5X,'Authors: Alfredo Pasquarello, Kari Laasonen, Andrea Trave, Roberto Car,',/&
|
||||
& ,5X,' Paolo Giannozzi, Nicola Marzari, Carlo Cavazzoni, Guido Chiarotti,',/&
|
||||
& ,5X,' Sandro Scandolo, Paolo Focher, Gerardo Ballabio, and others',/)
|
||||
|
||||
3334 FORMAT(/,3X,A60,/)
|
||||
RETURN
|
||||
END SUBROUTINE opening_date_and_time
|
||||
|
||||
!==-----------------------------------------------------------------------==!
|
||||
|
||||
SUBROUTINE closing_date_and_time( )
|
||||
|
||||
USE io_global, ONLY: stdout, meta_ionode
|
||||
|
||||
CHARACTER(LEN=9) :: cdate, ctime
|
||||
CHARACTER(LEN=80) :: time_str
|
||||
|
||||
CALL date_and_tim( cdate, ctime )
|
||||
|
||||
time_str = 'This run was terminated on: ' // ctime // ' ' // cdate
|
||||
|
||||
IF( meta_ionode ) THEN
|
||||
WRITE( stdout,*)
|
||||
WRITE( stdout,3334) time_str
|
||||
WRITE( stdout,3335)
|
||||
END IF
|
||||
|
||||
3334 FORMAT(3X,A60,/)
|
||||
3335 FORMAT('=',78('-'),'=')
|
||||
|
||||
RETURN
|
||||
END SUBROUTINE closing_date_and_time
|
||||
|
||||
#endif
|
||||
|
||||
!==-----------------------------------------------------------------------==!
|
||||
END MODULE environment
|
||||
!==-----------------------------------------------------------------------==!
|
|
@ -1,16 +1,11 @@
|
|||
environment.o : ../CPV/cp_version.o
|
||||
environment.o : ../Modules/io_files.o
|
||||
environment.o : ../Modules/io_global.o
|
||||
environment.o : ../Modules/kind.o
|
||||
environment.o : ../Modules/mp_global.o
|
||||
poles.o : ../Modules/cell_base.o
|
||||
poles.o : ../Modules/electrons_base.o
|
||||
poles.o : ../Modules/fft_base.o
|
||||
poles.o : ../Modules/griddim.o
|
||||
poles.o : ../Modules/ions_base.o
|
||||
poles.o : ../Modules/kind.o
|
||||
poles.o : ../Modules/mp_global.o
|
||||
poles.o : ../Modules/mp.o
|
||||
poles.o : ../Modules/mp_global.o
|
||||
poles.o : ../PW/pwcom.o
|
||||
read_input_vib.o : ../Modules/constants.o
|
||||
read_input_vib.o : ../Modules/input_parameters.o
|
||||
|
@ -82,8 +77,8 @@ vibstart.o : ../Modules/io_files.o
|
|||
vibstart.o : ../Modules/io_global.o
|
||||
vibstart.o : ../Modules/kind.o
|
||||
vibstart.o : ../Modules/metadyn_base.o
|
||||
vibstart.o : ../Modules/mp_global.o
|
||||
vibstart.o : ../Modules/mp.o
|
||||
vibstart.o : ../Modules/mp_global.o
|
||||
vibstart.o : ../Modules/parameters.o
|
||||
vibstart.o : ../Modules/path_base.o
|
||||
vibstart.o : ../Modules/path_io_routines.o
|
||||
|
@ -93,4 +88,5 @@ vibstart.o : ../PW/noncol.o
|
|||
vibstart.o : ../PW/pwcom.o
|
||||
vibstart.o : vibrations.o
|
||||
read_input_vib.o : ../include/f_defs.h
|
||||
vib_rdiagh.o : ../include/f_defs.h
|
||||
vibstart.o : ../include/f_defs.h
|
||||
|
|
|
@ -5,7 +5,6 @@ include ../make.sys
|
|||
VIB_OBJ = \
|
||||
poles.o \
|
||||
vibrations.o \
|
||||
environment.o \
|
||||
vib_rdiagh.o \
|
||||
vib_rdiaghg.o \
|
||||
read_input_vib.o \
|
||||
|
|
|
@ -5,7 +5,6 @@ include ../make.sys
|
|||
VIB_OBJ = \
|
||||
poles.o \
|
||||
vibrations.o \
|
||||
environment.o \
|
||||
vib_rdiagh.o \
|
||||
vib_rdiaghg.o \
|
||||
read_input_vib.o \
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!#include "f_defs.h"
|
||||
#include "f_defs.h"
|
||||
!
|
||||
!----------------------------------------------------------------------------
|
||||
SUBROUTINE vib_rdiagh( n, h, ldh, e, v )
|
||||
|
|
17
VdW/Makefile
17
VdW/Makefile
|
@ -1,4 +1,4 @@
|
|||
# Makefile for postprocessing (PP)
|
||||
# Makefile for TF-VdW calculation.
|
||||
|
||||
include ../make.sys
|
||||
|
||||
|
@ -6,17 +6,13 @@ include ../make.sys
|
|||
VdWOBJS = \
|
||||
allocate_vdw.o \
|
||||
cegterg.o \
|
||||
cg_psi.o \
|
||||
cgsolve_all.o \
|
||||
check_v_eff.o \
|
||||
ch_psi_all.o \
|
||||
dv_of_drho.o \
|
||||
dvpsi_e.o \
|
||||
eff_pot.o \
|
||||
gmressolve_all.o \
|
||||
h_psiq.o \
|
||||
incdrhoscf.o \
|
||||
openfil_pp.o \
|
||||
pbcg_psi.o \
|
||||
polariz.o \
|
||||
print_clock_vdw.o \
|
||||
|
@ -25,6 +21,9 @@ start_vdw.o \
|
|||
stop_vdw.o \
|
||||
vdwcom.o
|
||||
|
||||
PPOBJS = \
|
||||
../PP/openfil_pp.o
|
||||
|
||||
MODULES = \
|
||||
../Modules/atom.o \
|
||||
../Modules/basic_algebra_routines.o \
|
||||
|
@ -71,13 +70,13 @@ PWOBJS = ../PW/libpw.a
|
|||
|
||||
PHOBJS = ../PH/libph.a
|
||||
|
||||
TLDEPS= bindir mods libs pw
|
||||
TLDEPS= bindir mods libs pw ph pp
|
||||
|
||||
all : vdw.x
|
||||
all : tldeps vdw.x
|
||||
|
||||
vdw.x : vdw.o $(VdWOBJS) $(PWOBJS) $(PHOBJS) $(MODULES) $(LIBOBJS)
|
||||
vdw.x : vdw.o $(VdWOBJS) $(PPOBJS) $(PWOBJS) $(PHOBJS) $(MODULES) $(LIBOBJS)
|
||||
$(MPIF90) $(LDFLAGS) -o $@ \
|
||||
vdw.o $(VdWOBJS) $(MODULES) $(PHOBJS) $(PWOBJS) \
|
||||
vdw.o $(VdWOBJS) $(MODULES) $(PPOBJS) $(PHOBJS) $(PWOBJS) \
|
||||
$(LIBOBJS) $(LIBS)
|
||||
- ( cd ../bin ; ln -fs ../VdW/$@ . )
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "f_defs.h"
|
||||
!
|
||||
!----------------------------------------------------------------------------
|
||||
SUBROUTINE cegterg( ndim, ndmx, nvec, nvecx, evc, &
|
||||
SUBROUTINE cegterg_vdw( ndim, ndmx, nvec, nvecx, evc, &
|
||||
ethr, overlap, e, btype, notcnv, iter )
|
||||
!----------------------------------------------------------------------------
|
||||
!
|
||||
|
@ -73,8 +73,6 @@ SUBROUTINE cegterg( ndim, ndmx, nvec, nvecx, evc, &
|
|||
! the product of H and psi
|
||||
! the product of S and psi
|
||||
COMPLEX(KIND=DP), EXTERNAL :: ZDOTC
|
||||
! scalar product routine
|
||||
COMPLEX(KIND=DP) :: eau
|
||||
! auxiliary complex variable
|
||||
REAL(KIND=DP), ALLOCATABLE :: ew(:)
|
||||
! eigenvalues of the reduced hamiltonian
|
||||
|
@ -405,4 +403,4 @@ SUBROUTINE cegterg( ndim, ndmx, nvec, nvecx, evc, &
|
|||
!
|
||||
RETURN
|
||||
!
|
||||
END SUBROUTINE cegterg
|
||||
END SUBROUTINE cegterg_vdw
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
!-----------------------------------------------------------------
|
||||
subroutine cg_psi (lda, n, m, psi, h_diag)
|
||||
!-----------------------------------------------------------------
|
||||
!
|
||||
! This routine gives a preconditioning to the linear system solver.
|
||||
! The preconditioning is diagonal in reciprocal space
|
||||
!
|
||||
!
|
||||
USE kinds, only : DP
|
||||
implicit none
|
||||
|
||||
integer :: lda, n, m
|
||||
! input: the leading dimension of the psi vector
|
||||
! input: the real dimension of the vector
|
||||
! input: the number of vectors
|
||||
|
||||
complex(kind=DP) :: psi (lda, m)
|
||||
! inp/out: the vector to be preconditioned
|
||||
|
||||
real(kind=DP) :: h_diag (lda, m)
|
||||
! input: the preconditioning vector
|
||||
|
||||
integer :: k, i
|
||||
! counter on bands
|
||||
! counter on the elements of the vector
|
||||
!
|
||||
do k = 1, m
|
||||
do i = 1, n
|
||||
psi (i, k) = psi (i, k) * h_diag (i, k)
|
||||
enddo
|
||||
enddo
|
||||
return
|
||||
end subroutine cg_psi
|
|
@ -1,237 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001-2004 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
subroutine cgsolve_all (h_psi, cg_psi, e, d0psi, dpsi, h_diag, &
|
||||
ndmx, ndim, ethr, ik, kter, conv_root, anorm, nbnd)
|
||||
!----------------------------------------------------------------------
|
||||
!
|
||||
! iterative solution of the linear system:
|
||||
!
|
||||
! ( h - e + Q ) * dpsi = d0psi (1)
|
||||
!
|
||||
! where h is a complex hermitean matrix, e is a real sca
|
||||
! dpsi and d0psi are complex vectors
|
||||
!
|
||||
! on input:
|
||||
! h_psi EXTERNAL name of a subroutine:
|
||||
! h_psi(ndim,psi,psip)
|
||||
! Calculates H*psi products.
|
||||
! Vectors psi and psip should be dimensined
|
||||
! (ndmx,nvec). nvec=1 is used!
|
||||
!
|
||||
! cg_psi EXTERNAL name of a subroutine:
|
||||
! g_psi(ndmx,ndim,notcnv,psi,e)
|
||||
! which calculates (h-e)^-1 * psi, with
|
||||
! some approximation, e.g. (diag(h)-e)
|
||||
!
|
||||
! e real unperturbed eigenvalue.
|
||||
!
|
||||
! dpsi contains an estimate of the solution
|
||||
! vector.
|
||||
!
|
||||
! d0psi contains the right hand side vector
|
||||
! of the system.
|
||||
!
|
||||
! ndmx integer row dimension of dpsi, ecc.
|
||||
!
|
||||
! ndim integer actual row dimension of dpsi
|
||||
!
|
||||
! ethr real convergence threshold. solution
|
||||
! improvement is stopped when the error in
|
||||
! eq (1), defined as l.h.s. - r.h.s., becomes
|
||||
! less than ethr in norm.
|
||||
!
|
||||
! on output: dpsi contains the refined estimate of the
|
||||
! solution vector.
|
||||
!
|
||||
! d0psi is corrupted on exit
|
||||
!
|
||||
! revised (extensively) 6 Apr 1997 by A. Dal Corso & F. Mauri
|
||||
! revised (to reduce memory) 29 May 2004 by S. de Gironcoli
|
||||
!
|
||||
#include "f_defs.h"
|
||||
USE kinds, only : DP
|
||||
implicit none
|
||||
!
|
||||
! first the I/O variables
|
||||
!
|
||||
integer :: ndmx, & ! input: the maximum dimension of the vectors
|
||||
ndim, & ! input: the actual dimension of the vectors
|
||||
kter, & ! output: counter on iterations
|
||||
nbnd, & ! input: the number of bands
|
||||
ik ! input: the k point
|
||||
|
||||
real(kind=DP) :: &
|
||||
e(nbnd), & ! input: the actual eigenvalue
|
||||
anorm, & ! output: the norm of the error in the solution
|
||||
h_diag(ndmx,nbnd), & ! input: an estimate of ( H - \epsilon )
|
||||
ethr ! input: the required precision
|
||||
|
||||
complex(kind=DP) :: &
|
||||
dpsi (ndmx, nbnd), & ! output: the solution of the linear syst
|
||||
d0psi (ndmx, nbnd) ! input: the known term
|
||||
|
||||
logical :: conv_root ! output: if true the root is converged
|
||||
external h_psi, & ! input: the routine computing h_psi
|
||||
cg_psi ! input: the routine computing cg_psi
|
||||
!
|
||||
! here the local variables
|
||||
!
|
||||
integer, parameter :: maxter = 200
|
||||
! the maximum number of iterations
|
||||
integer :: iter, ibnd, lbnd
|
||||
! counters on iteration, bands
|
||||
integer , allocatable :: conv (:)
|
||||
! if 1 the root is converged
|
||||
|
||||
complex(kind=DP), allocatable :: g (:,:), t (:,:), h (:,:), hold (:,:)
|
||||
! the gradient of psi
|
||||
! the preconditioned gradient
|
||||
! the delta gradient
|
||||
! the conjugate gradient
|
||||
! work space
|
||||
complex(kind=DP) :: dcgamma, dclambda, ZDOTC
|
||||
! the ratio between rho
|
||||
! step length
|
||||
! the scalar product
|
||||
real(kind=DP), allocatable :: rho (:), rhoold (:), eu (:), a(:), c(:)
|
||||
! the residue
|
||||
! auxiliary for h_diag
|
||||
real(kind=DP) :: kter_eff
|
||||
! account the number of iterations with b
|
||||
! coefficient of quadratic form
|
||||
!
|
||||
call start_clock ('cgsolve')
|
||||
allocate ( g(ndmx,nbnd), t(ndmx,nbnd), h(ndmx,nbnd), hold(ndmx ,nbnd) )
|
||||
allocate (a(nbnd), c(nbnd))
|
||||
allocate (conv ( nbnd))
|
||||
allocate (rho(nbnd),rhoold(nbnd))
|
||||
allocate (eu ( nbnd))
|
||||
! WRITE( stdout,*) g,t,h,hold
|
||||
|
||||
kter_eff = 0.d0
|
||||
do ibnd = 1, nbnd
|
||||
conv (ibnd) = 0
|
||||
enddo
|
||||
do iter = 1, maxter
|
||||
!
|
||||
! compute the gradient. can reuse information from previous step
|
||||
!
|
||||
if (iter == 1) then
|
||||
call h_psi (ndim, dpsi, g, e, ik, nbnd)
|
||||
do ibnd = 1, nbnd
|
||||
call ZAXPY (ndim, (-1.d0,0.d0), d0psi(1,ibnd), 1, g(1,ibnd), 1)
|
||||
enddo
|
||||
endif
|
||||
!
|
||||
! compute preconditioned residual vector and convergence check
|
||||
!
|
||||
lbnd = 0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
lbnd = lbnd+1
|
||||
call ZCOPY (ndim, g (1, ibnd), 1, h (1, ibnd), 1)
|
||||
call cg_psi(ndmx, ndim, 1, h(1,ibnd), h_diag(1,ibnd) )
|
||||
rho(lbnd) = ZDOTC (ndim, h(1,ibnd), 1, g(1,ibnd), 1)
|
||||
endif
|
||||
enddo
|
||||
kter_eff = kter_eff + float (lbnd) / float (nbnd)
|
||||
#ifdef __PARA
|
||||
call reduce (lbnd, rho )
|
||||
#endif
|
||||
do ibnd = nbnd, 1, -1
|
||||
if (conv(ibnd).eq.0) then
|
||||
rho(ibnd)=rho(lbnd)
|
||||
lbnd = lbnd -1
|
||||
anorm = sqrt (rho (ibnd) )
|
||||
if (anorm.lt.ethr) conv (ibnd) = 1
|
||||
endif
|
||||
enddo
|
||||
!
|
||||
conv_root = .true.
|
||||
do ibnd = 1, nbnd
|
||||
conv_root = conv_root.and. (conv (ibnd) .eq.1)
|
||||
enddo
|
||||
if (conv_root) goto 100
|
||||
!
|
||||
! compute the step direction h. Conjugate it to previous step
|
||||
!
|
||||
lbnd = 0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
!
|
||||
! change sign to h
|
||||
!
|
||||
call DSCAL (2 * ndim, - 1.d0, h (1, ibnd), 1)
|
||||
if (iter.ne.1) then
|
||||
dcgamma = rho (ibnd) / rhoold (ibnd)
|
||||
call ZAXPY (ndim, dcgamma, hold (1, ibnd), 1, h (1, ibnd), 1)
|
||||
endif
|
||||
|
||||
!
|
||||
! here hold is used as auxiliary vector in order to efficiently compute t = A*h
|
||||
! it is later set to the current (becoming old) value of h
|
||||
!
|
||||
lbnd = lbnd+1
|
||||
call ZCOPY (ndim, h (1, ibnd), 1, hold (1, lbnd), 1)
|
||||
eu (lbnd) = e (ibnd)
|
||||
endif
|
||||
enddo
|
||||
!
|
||||
! compute t = A*h
|
||||
!
|
||||
call h_psi (ndim, hold, t, eu, ik, lbnd)
|
||||
!
|
||||
! compute the coefficients a and c for the line minimization
|
||||
! compute step length lambda
|
||||
lbnd=0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
lbnd=lbnd+1
|
||||
a(lbnd) = ZDOTC (ndim, h(1,ibnd), 1, g(1,ibnd), 1)
|
||||
c(lbnd) = ZDOTC (ndim, h(1,ibnd), 1, t(1,lbnd), 1)
|
||||
end if
|
||||
end do
|
||||
#ifdef __PARA
|
||||
call reduce (lbnd, a)
|
||||
call reduce (lbnd, c)
|
||||
#endif
|
||||
lbnd=0
|
||||
do ibnd = 1, nbnd
|
||||
if (conv (ibnd) .eq.0) then
|
||||
lbnd=lbnd+1
|
||||
dclambda = CMPLX ( - a(lbnd) / c(lbnd), 0.d0)
|
||||
!
|
||||
! move to new position
|
||||
!
|
||||
call ZAXPY (ndim, dclambda, h(1,ibnd), 1, dpsi(1,ibnd), 1)
|
||||
!
|
||||
! update to get the gradient
|
||||
!
|
||||
!g=g+lam
|
||||
call ZAXPY (ndim, dclambda, t(1,lbnd), 1, g(1,ibnd), 1)
|
||||
!
|
||||
! save current (now old) h and rho for later use
|
||||
!
|
||||
call ZCOPY (ndim, h(1,ibnd), 1, hold(1,ibnd), 1)
|
||||
rhoold (ibnd) = rho (ibnd)
|
||||
endif
|
||||
enddo
|
||||
enddo
|
||||
100 continue
|
||||
kter = kter_eff
|
||||
deallocate (eu)
|
||||
deallocate (rho, rhoold)
|
||||
deallocate (conv)
|
||||
deallocate (a,c)
|
||||
deallocate (g, t, h, hold)
|
||||
|
||||
call stop_clock ('cgsolve')
|
||||
return
|
||||
end subroutine cgsolve_all
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine ch_psi_all (n, h, ah, e, ik, m)
|
||||
subroutine ch_psi_all_vdw (n, h, ah, e, ik, m)
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine applies the operator ( H - \epsilon S + alpha_pv P_v)
|
||||
|
@ -26,10 +26,10 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
! input: the number of bands
|
||||
! input: the k point
|
||||
|
||||
complex(kind=DP) :: e (m)
|
||||
complex(DP) :: e (m)
|
||||
! input: the eigenvalue plus imaginary freq.
|
||||
|
||||
complex(kind=DP) :: h (npwx, m), ah (npwx, m)
|
||||
complex(DP) :: h (npwx, m), ah (npwx, m)
|
||||
! input: the vector
|
||||
! output: the operator applied to the vector
|
||||
!
|
||||
|
@ -40,7 +40,7 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
! the point k+q
|
||||
! counter on G vetors
|
||||
|
||||
complex(kind=DP), allocatable :: ps (:,:), hpsi (:,:), spsi (:,:)
|
||||
complex(DP), allocatable :: ps (:,:), hpsi (:,:), spsi (:,:)
|
||||
! scalar products
|
||||
! the product of the Hamiltonian and h
|
||||
! the product of the S matrix and h
|
||||
|
@ -54,7 +54,7 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
!
|
||||
! compute the product of the hamiltonian with the h vector
|
||||
!
|
||||
call h_psiq (npwx, n, m, h, hpsi, spsi)
|
||||
call h_psiq_vdw (npwx, n, m, h, hpsi, spsi)
|
||||
!
|
||||
call start_clock ('last')
|
||||
!
|
||||
|
@ -112,4 +112,4 @@ subroutine ch_psi_all (n, h, ah, e, ik, m)
|
|||
call stop_clock ('last')
|
||||
call stop_clock ('ch_psi')
|
||||
return
|
||||
end subroutine ch_psi_all
|
||||
end subroutine ch_psi_all_vdw
|
||||
|
|
|
@ -219,7 +219,7 @@ SUBROUTINE check_v_eff ( veff, charge )
|
|||
vrs_ = vrs
|
||||
vrs = veff
|
||||
!
|
||||
CALL cegterg( npw, npwx, nbnd, nbndx, evc_, ethr, &
|
||||
CALL cegterg_vdw( npw, npwx, nbnd, nbndx, evc_, ethr, &
|
||||
okvan, et(1,ik), btype, notconv, dav_iter )
|
||||
!
|
||||
avg_iter = avg_iter + dav_iter
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
!
|
||||
!
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine dv_of_drho (mode, dvscf, flag)
|
||||
subroutine dv_of_drho_vdw (mode, dvscf, flag)
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine computes the change of the self consistent potential
|
||||
! due to the perturbation.
|
||||
!
|
||||
#include "f_defs.h"
|
||||
use funct
|
||||
use funct, only : dft_is_gradient, dmxc
|
||||
use pwcom
|
||||
USE kinds, only : DP
|
||||
use phcom
|
||||
|
@ -59,7 +59,7 @@ subroutine dv_of_drho (mode, dvscf, flag)
|
|||
!
|
||||
dvaux (:,:) = (0.d0, 0.d0)
|
||||
|
||||
fac = 1.d0 / float (nspin)
|
||||
fac = 1.d0 / DBLE (nspin)
|
||||
if (nlcc_any.and.flag) then
|
||||
call addcore (mode, drhoc)
|
||||
do is = 1, nspin
|
||||
|
@ -141,4 +141,4 @@ subroutine dv_of_drho (mode, dvscf, flag)
|
|||
|
||||
call stop_clock ('dv_of_drho')
|
||||
return
|
||||
end subroutine dv_of_drho
|
||||
end subroutine dv_of_drho_vdw
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
subroutine dvpsi_e (kpoint, ipol)
|
||||
subroutine dvpsi_e_vdw (kpoint, ipol)
|
||||
!----------------------------------------------------------------------
|
||||
!
|
||||
! On output: dvpsi contains P_c^+ x | psi_kpoint > in crystal axis
|
||||
|
@ -251,4 +251,4 @@ subroutine dvpsi_e (kpoint, ipol)
|
|||
!
|
||||
return
|
||||
!
|
||||
end subroutine dvpsi_e
|
||||
end subroutine dvpsi_e_vdw
|
||||
|
|
|
@ -1,315 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001-2004 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
!----------------------------------------------------------------------
|
||||
subroutine gmressolve_all (h_psi, cg_psi, e, d0psi, dpsi, h_diag, &
|
||||
ndmx, ndim, ethr, ik, kter, conv_root, anorm, nbnd, m)
|
||||
!----------------------------------------------------------------------
|
||||
!
|
||||
! iterative solution of the linear system by GMRES(m) method:
|
||||
!
|
||||
! ( h - e + Q ) * dpsi = d0psi (1)
|
||||
!
|
||||
! where h is a complex hermitean matrix, e is a complex sca
|
||||
! dpsi and d0psi are complex vectors
|
||||
!
|
||||
! on input:
|
||||
! h_psi EXTERNAL name of a subroutine:
|
||||
! h_psi(ndim,psi,psip)
|
||||
! Calculates H*psi products.
|
||||
! Vectors psi and psip should be dimensined
|
||||
! (ndmx,nvec). nvec=1 is used!
|
||||
!
|
||||
! cg_psi EXTERNAL name of a subroutine:
|
||||
! g_psi(ndmx,ndim,notcnv,psi,e)
|
||||
! which calculates (h-e)^-1 * psi, with
|
||||
! some approximation, e.g. (diag(h)-e)
|
||||
!
|
||||
! e complex unperturbed eigenvalue plus
|
||||
! imaginary frequency.
|
||||
!
|
||||
! dpsi contains an estimate of the solution
|
||||
! vector.
|
||||
!
|
||||
! d0psi contains the right hand side vector
|
||||
! of the system.
|
||||
!
|
||||
! ndmx integer row dimension of dpsi, ecc.
|
||||
!
|
||||
! ndim integer actual row dimension of dpsi
|
||||
!
|
||||
! ethr real convergence threshold. solution
|
||||
! improvement is stopped when the error in
|
||||
! eq (1), defined as l.h.s. - r.h.s., becomes
|
||||
! less than ethr in norm.
|
||||
!
|
||||
! m integer # of basis vectors
|
||||
!
|
||||
! on output: dpsi contains the refined estimate of the
|
||||
! solution vector.
|
||||
!
|
||||
! d0psi is corrupted on exit
|
||||
!
|
||||
! revised (extensively) 6 Apr 1997 by A. Dal Corso & F. Mauri
|
||||
! revised (to reduce memory) 29 May 2004 by S. de Gironcoli
|
||||
!
|
||||
#include "f_defs.h"
|
||||
USE kinds, only : DP
|
||||
implicit none
|
||||
!
|
||||
! first the I/O variables
|
||||
!
|
||||
integer :: ndmx, & ! input: the maximum dimension of the vectors
|
||||
ndim, & ! input: the actual dimension of the vectors
|
||||
kter, & ! output: counter on iterations
|
||||
nbnd, & ! input: the number of bands
|
||||
ik, & ! input: the k point
|
||||
m ! # of basic vector
|
||||
|
||||
real(kind=DP) :: &
|
||||
anorm, & ! output: the norm of the error in the solution
|
||||
ethr ! input: the required precision
|
||||
complex(kind=DP) :: h_diag(ndmx,nbnd) ! input: an estimate of ( H - \epsilon - iu )
|
||||
|
||||
complex(kind=DP) :: &
|
||||
e(nbnd), & ! input: the actual eigenvalue plus imaginary freq.
|
||||
dpsi (ndmx, nbnd), & ! output: the solution of the linear syst
|
||||
d0psi (ndmx, nbnd) ! input: the known term
|
||||
|
||||
logical :: conv_root ! output: if true the root is converged
|
||||
external h_psi, & ! input: the routine computing h_psi
|
||||
cg_psi ! input: the routine computing cg_psi
|
||||
!
|
||||
! here the local variables
|
||||
!
|
||||
integer, parameter :: maxter = 5000
|
||||
! the maximum number of iterations
|
||||
integer :: iter, ibnd, i, j, bnd
|
||||
! counters on iteration, bands
|
||||
! control variables
|
||||
integer , allocatable :: conv (:)
|
||||
! if 1 the root is converged
|
||||
|
||||
complex(kind=DP), allocatable :: r (:,:), v(:,:,:), w (:,:)!, zz(:,:), p(:,:), pp(:,:)
|
||||
! the gradient of psi
|
||||
! the preconditioned gradient
|
||||
! the delta gradient
|
||||
! the conjugate gradient
|
||||
! work space
|
||||
complex(kind=DP) :: bk, ak, ZDOTC
|
||||
! the ratio between rho
|
||||
! step length
|
||||
! the scalar product
|
||||
real(kind=DP) :: t
|
||||
complex(kind=DP):: c, s, ei
|
||||
real(kind=DP), allocatable :: bet (:)
|
||||
real(kind=DP), allocatable :: res (:)
|
||||
complex(kind=DP) :: hm (m+1,m), & ! the Hessenberg matrix
|
||||
e1(m+1) ! unit vector
|
||||
complex(kind=DP) :: hm4para(1) ! temp variable for hm in paralell calculation
|
||||
! real(kind=DP), allocatable :: rho (:), rhoold (:), eu (:), a(:), c(:)
|
||||
! the residue
|
||||
! auxiliary for h_diag
|
||||
real(kind=DP) :: kter_eff
|
||||
! account the number of iterations with b
|
||||
! coefficient of quadratic form
|
||||
!
|
||||
integer :: lbnd
|
||||
!
|
||||
!
|
||||
!
|
||||
call start_clock ('gmres_solve')
|
||||
!
|
||||
if (m .lt. 1) then
|
||||
write(*,*) '# of basis vectors is less than 1. Stop'
|
||||
stop
|
||||
else if (m .gt. 30) then
|
||||
write(*,*) '# of basis vectors is too large. Stop'
|
||||
stop
|
||||
endif
|
||||
!
|
||||
allocate ( r(ndmx,nbnd), v(ndmx,nbnd,m+1), w(ndmx,nbnd))
|
||||
allocate (conv ( nbnd))
|
||||
allocate (bet(nbnd), res(nbnd))
|
||||
! WRITE( stdout,*) g,t,h,hold
|
||||
|
||||
kter_eff = 0.d0
|
||||
do ibnd = 1, nbnd
|
||||
conv (ibnd) = 0
|
||||
enddo
|
||||
!
|
||||
do iter = 1, maxter
|
||||
!
|
||||
!print*, 'iter=', iter
|
||||
do ibnd = 1, nbnd ! loop over bands
|
||||
!
|
||||
if (conv(ibnd) .eq. 0) then
|
||||
!
|
||||
! preliminary step to construct the basis set
|
||||
!
|
||||
! r = H*dpsi
|
||||
call h_psi (ndim, dpsi(1,ibnd), r(1,ibnd), e(ibnd), ik, 1)
|
||||
!print*,'dpsi',sum(dpsi),sum(d0psi)
|
||||
!
|
||||
! r = H*dpsi - d0psi
|
||||
call ZAXPY (ndim, (-1.d0,0.d0), d0psi(1,ibnd), 1, r(1,ibnd), 1)
|
||||
!print*,'r1',sum(dpsi),sum(d0psi)
|
||||
! change the size of r : r = d0psi - H*dpsi
|
||||
call DSCAL (2 * ndim, - 1.d0, r (1, ibnd), 1)
|
||||
!print*,'r2',sum(dpsi),sum(d0psi)
|
||||
! compute the preconditioned r : r = M^-1*r
|
||||
call cg_psi(ndmx, ndim, 1, r(1,ibnd), h_diag(1,ibnd), 1 )
|
||||
!print*,'r3',sum(dpsi),sum(d0psi)
|
||||
! norm of pre. r : bet = |r|
|
||||
bet(ibnd) = ZDOTC (ndim, r(1,ibnd), 1, r(1,ibnd), 1)
|
||||
#ifdef __PARA
|
||||
call reduce ( nbnd, bet )
|
||||
#endif
|
||||
bet(ibnd) = sqrt( bet(ibnd) )
|
||||
!
|
||||
endif
|
||||
!
|
||||
enddo
|
||||
!
|
||||
! check the convergence
|
||||
!
|
||||
lbnd = 0
|
||||
do ibnd = 1, nbnd
|
||||
!
|
||||
if ( conv(ibnd) .eq. 0 ) then
|
||||
lbnd = lbnd + 1
|
||||
!if (mod(iter,10) .eq. 0) print*, iter, bet(ibnd), ethr
|
||||
if (bet(ibnd) .lt. ethr) conv(ibnd) = 1
|
||||
endif
|
||||
!
|
||||
enddo
|
||||
kter_eff = kter_eff + float (lbnd) / float (nbnd)
|
||||
!
|
||||
conv_root = .true.
|
||||
do ibnd = 1, nbnd
|
||||
conv_root = conv_root .and. (conv (ibnd) .eq. 1)
|
||||
enddo
|
||||
if (conv_root) goto 100
|
||||
!
|
||||
!
|
||||
!
|
||||
do ibnd = 1, nbnd
|
||||
!
|
||||
if ( conv(ibnd) .eq. 0 ) then
|
||||
!
|
||||
hm (:,:) = (0.d0, 0.d0)
|
||||
! normalize pre. r and keep in v(1)
|
||||
call DSCAL (2 * ndim, 1.d0/bet(ibnd), r (1, ibnd), 1)
|
||||
j = 1
|
||||
call ZCOPY (ndim, r (1, ibnd), 1, v (1, ibnd, j), 1)
|
||||
!print*,'v',sum(r(1:ndim,ibnd))
|
||||
!
|
||||
!
|
||||
! loop to construct basis set
|
||||
!
|
||||
!
|
||||
do j = 1, m
|
||||
! w = A*v
|
||||
call h_psi (ndim, v(1,ibnd,j), w(1,ibnd), e, ik, 1) ! NEED to be checked
|
||||
!print*,'w1',sum(w(:,ibnd))
|
||||
!
|
||||
! compute w = M^-1*A*v
|
||||
call cg_psi(ndmx, ndim, 1, w(1,ibnd), h_diag(1,ibnd), 1 )
|
||||
!print*,'w2',sum(w(:,ibnd))
|
||||
!print*,'h_diag',sum(h_diag)
|
||||
!
|
||||
do i = 1, j
|
||||
!
|
||||
! compute hm(i,j)
|
||||
! hm(i,j) = ZDOTC (ndim, w(1,ibnd), 1, v(1,ibnd,i), 1)
|
||||
hm4para(1) = ZDOTC (ndim, w(1,ibnd), 1, v(1,ibnd,i), 1)
|
||||
#ifdef __PARA
|
||||
call reduce (2, hm4para )
|
||||
#endif
|
||||
hm(i,j) = hm4para(1)
|
||||
! w = w - hm_ij*v_i
|
||||
call ZAXPY (ndim, -hm(i,j), v(1,ibnd,i), 1, w(1,ibnd), 1)
|
||||
!
|
||||
enddo
|
||||
! compute hm(j+1,j)
|
||||
! hm(j+1,j) = ZDOTC (ndim, w(1,ibnd), 1, w(1,ibnd), 1)
|
||||
hm4para(1) = ZDOTC (ndim, w(1,ibnd), 1, w(1,ibnd), 1)
|
||||
#ifdef __PARA
|
||||
call reduce (2, hm4para )
|
||||
#endif
|
||||
hm(j+1,j) = hm4para(1)
|
||||
! compute v(j+1)
|
||||
call DSCAL (2 * ndim, 1.d0/real(hm(j+1,j)), w (1, ibnd), 1)
|
||||
call ZCOPY (ndim, w (1, ibnd), 1, v (1, ibnd, j+1), 1)
|
||||
!
|
||||
enddo
|
||||
!
|
||||
! compute ym that minimize |beta*e_1 -hm*y|
|
||||
!
|
||||
! initilize vector e1
|
||||
e1(1) = 1.d0 * bet(ibnd)
|
||||
e1(2:m+1) = 0.d0
|
||||
!
|
||||
! transform hm to upper triangle matrix
|
||||
do i = 1, m
|
||||
!
|
||||
t = sqrt( abs(hm(i,i))**2 + abs(hm(i+1,i))**2 )
|
||||
c = hm(i,i) / t
|
||||
s = hm(i+1,i) / t
|
||||
!
|
||||
do j = i, m
|
||||
!
|
||||
ei = hm(i,j)
|
||||
hm(i,j) = hm(i,j) * c + hm(i+1,j) * s
|
||||
hm(i+1,j) = - s * ei + c * hm(i+1,j)
|
||||
enddo
|
||||
!
|
||||
ei = e1(i)
|
||||
e1(i) = e1(i)*c + e1(i+1)*s
|
||||
e1(i+1) = - ei*s + e1(i+1)*c
|
||||
!
|
||||
enddo
|
||||
!
|
||||
res(ibnd) = e1(m+1)
|
||||
!
|
||||
! back subtitution to find ym (kept in e1)
|
||||
e1(m+1) = (0.d0, 0.d0)
|
||||
e1(m) = e1(m) / hm(m,m)
|
||||
!
|
||||
do i = m-1, 1, -1
|
||||
do j = m, i+1, -1
|
||||
e1(i) = e1(i) - e1(j)*hm(i,j)
|
||||
enddo
|
||||
e1(i) = e1(i) / hm(i,i)
|
||||
enddo
|
||||
!
|
||||
! compute the new dpsi
|
||||
do i = 1, m
|
||||
do j = 1, ndmx
|
||||
dpsi(j, ibnd) = dpsi(j, ibnd) + e1(i)*v(j,ibnd,i)
|
||||
enddo
|
||||
enddo
|
||||
!
|
||||
end if
|
||||
!
|
||||
enddo ! of loop over bands
|
||||
!
|
||||
enddo ! loop over iteration
|
||||
!
|
||||
100 continue
|
||||
kter = kter_eff
|
||||
!
|
||||
deallocate (bet, res)
|
||||
deallocate (conv)
|
||||
deallocate (r, v, w)
|
||||
!
|
||||
call stop_clock ('gmres_solve')
|
||||
!
|
||||
return
|
||||
!
|
||||
end subroutine gmressolve_all
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
!
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine h_psiq (lda, n, m, psi, hpsi, spsi)
|
||||
subroutine h_psiq_vdw (lda, n, m, psi, hpsi, spsi)
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine computes the product of the Hamiltonian
|
||||
|
@ -95,4 +95,4 @@ subroutine h_psiq (lda, n, m, psi, hpsi, spsi)
|
|||
|
||||
call stop_clock ('h_psiq')
|
||||
return
|
||||
end subroutine h_psiq
|
||||
end subroutine h_psiq_vdw
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine incdrhoscf (drhoscf, weight, ik, mode)
|
||||
subroutine incdrhoscf_vdw (drhoscf, weight, ik, mode)
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine computes the change of the charge density due to the
|
||||
|
@ -75,14 +75,14 @@ subroutine incdrhoscf (drhoscf, weight, ik, mode)
|
|||
|
||||
call cft3s (dpsic, nr1s, nr2s, nr3s, nrx1s, nrx2s, nrx3s, + 2)
|
||||
do ir = 1, nrxxs
|
||||
! drhoscf (ir) = drhoscf (ir) + wgt * conjg (psi (ir) ) * dpsic (ir)
|
||||
drhoscf (ir) = drhoscf (ir) + wgt * real( conjg(psi(ir)) * dpsic (ir) )
|
||||
! drhoscf (ir) = drhoscf (ir) + wgt * CONJG (psi (ir) ) * dpsic (ir)
|
||||
drhoscf (ir) = drhoscf (ir) + wgt * REAL( CONJG(psi(ir)) * dpsic (ir) )
|
||||
enddo
|
||||
enddo
|
||||
!print*,'drhoscf=', sum(abs(real(drhoscf))), sum(abs(aimag(drhoscf)))
|
||||
!print*,'drhoscf=', sum(abs(REAL(drhoscf))), SUM(ABS(AIMAG(drhoscf)))
|
||||
! call addusdbec (ik, wgt, dpsi, dbecsum)
|
||||
deallocate (psi)
|
||||
deallocate (dpsic)
|
||||
call stop_clock ('incdrhoscf')
|
||||
return
|
||||
end subroutine incdrhoscf
|
||||
end subroutine incdrhoscf_vdw
|
||||
|
|
|
@ -3,8 +3,10 @@ allocate_vdw.o : ../PW/pwcom.o
|
|||
allocate_vdw.o : vdwcom.o
|
||||
cegterg.o : ../Modules/io_global.o
|
||||
cegterg.o : ../Modules/kind.o
|
||||
cg_psi.o : ../Modules/kind.o
|
||||
cgsolve_all.o : ../Modules/kind.o
|
||||
ch_psi_all.o : ../Modules/kind.o
|
||||
ch_psi_all.o : ../PH/phcom.o
|
||||
ch_psi_all.o : ../PW/becmod.o
|
||||
ch_psi_all.o : ../PW/pwcom.o
|
||||
check_v_eff.o : ../Modules/cell_base.o
|
||||
check_v_eff.o : ../Modules/constants.o
|
||||
check_v_eff.o : ../Modules/control_flags.o
|
||||
|
@ -16,10 +18,6 @@ check_v_eff.o : ../Modules/wavefunctions.o
|
|||
check_v_eff.o : ../PW/g_psi_mod.o
|
||||
check_v_eff.o : ../PW/pwcom.o
|
||||
check_v_eff.o : vdwcom.o
|
||||
ch_psi_all.o : ../Modules/kind.o
|
||||
ch_psi_all.o : ../PH/phcom.o
|
||||
ch_psi_all.o : ../PW/becmod.o
|
||||
ch_psi_all.o : ../PW/pwcom.o
|
||||
dv_of_drho.o : ../Modules/functionals.o
|
||||
dv_of_drho.o : ../Modules/kind.o
|
||||
dv_of_drho.o : ../PH/phcom.o
|
||||
|
@ -36,12 +34,11 @@ dvpsi_e.o : vdwcom.o
|
|||
eff_pot.o : ../Modules/io_files.o
|
||||
eff_pot.o : ../Modules/io_global.o
|
||||
eff_pot.o : ../Modules/kind.o
|
||||
eff_pot.o : ../Modules/mp_global.o
|
||||
eff_pot.o : ../Modules/mp.o
|
||||
eff_pot.o : ../Modules/mp_global.o
|
||||
eff_pot.o : ../Modules/uspp.o
|
||||
eff_pot.o : ../PW/pwcom.o
|
||||
eff_pot.o : vdwcom.o
|
||||
gmressolve_all.o : ../Modules/kind.o
|
||||
h_psiq.o : ../Modules/kind.o
|
||||
h_psiq.o : ../Modules/wavefunctions.o
|
||||
h_psiq.o : ../PH/phcom.o
|
||||
|
@ -53,13 +50,6 @@ incdrhoscf.o : ../Modules/uspp.o
|
|||
incdrhoscf.o : ../PH/phcom.o
|
||||
incdrhoscf.o : ../PW/pwcom.o
|
||||
incdrhoscf.o : vdwcom.o
|
||||
openfil_pp.o : ../Modules/control_flags.o
|
||||
openfil_pp.o : ../Modules/io_files.o
|
||||
openfil_pp.o : ../Modules/io_global.o
|
||||
openfil_pp.o : ../Modules/kind.o
|
||||
openfil_pp.o : ../Modules/mp_global.o
|
||||
openfil_pp.o : ../PW/noncol.o
|
||||
openfil_pp.o : ../PW/pwcom.o
|
||||
pbcg_psi.o : ../Modules/kind.o
|
||||
polariz.o : ../Modules/cell_base.o
|
||||
polariz.o : ../Modules/io_files.o
|
||||
|
@ -90,7 +80,6 @@ stop_vdw.o : ../Modules/control_flags.o
|
|||
stop_vdw.o : ../Modules/io_files.o
|
||||
stop_vdw.o : ../Modules/mp.o
|
||||
stop_vdw.o : ../Modules/parallel_include.o
|
||||
vdwcom.o : ../Modules/kind.o
|
||||
vdw.o : ../Modules/cell_base.o
|
||||
vdw.o : ../Modules/io_files.o
|
||||
vdw.o : ../Modules/io_global.o
|
||||
|
@ -101,14 +90,13 @@ vdw.o : ../Modules/parser.o
|
|||
vdw.o : ../PH/phcom.o
|
||||
vdw.o : ../PW/pwcom.o
|
||||
vdw.o : vdwcom.o
|
||||
vdwcom.o : ../Modules/kind.o
|
||||
allocate_vdw.o : ../include/f_defs.h
|
||||
cegterg.o : ../include/f_defs.h
|
||||
cgsolve_all.o : ../include/f_defs.h
|
||||
check_v_eff.o : ../include/f_defs.h
|
||||
ch_psi_all.o : ../include/f_defs.h
|
||||
check_v_eff.o : ../include/f_defs.h
|
||||
dv_of_drho.o : ../include/f_defs.h
|
||||
dvpsi_e.o : ../include/f_defs.h
|
||||
gmressolve_all.o : ../include/f_defs.h
|
||||
incdrhoscf.o : ../include/f_defs.h
|
||||
polariz.o : ../include/f_defs.h
|
||||
solve_e.o : ../include/f_defs.h
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
!
|
||||
! Copyright (C) 2001-2003 PWSCF group
|
||||
! This file is distributed under the terms of the
|
||||
! GNU General Public License. See the file `License'
|
||||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
!----------------------------------------------------------------------------
|
||||
SUBROUTINE openfil_pp()
|
||||
!----------------------------------------------------------------------------
|
||||
!
|
||||
! ... This routine opens all files needed to the self consistent run,
|
||||
! ... sets various file names, units, record lengths
|
||||
!
|
||||
USE kinds, ONLY : DP
|
||||
USE io_global, ONLY : stdout
|
||||
USE basis, ONLY : natomwfc
|
||||
USE wvfct, ONLY : nbnd, npwx
|
||||
USE ldaU, ONLY : lda_plus_U
|
||||
use control_flags, only: twfcollect
|
||||
USE io_files, ONLY : prefix, iunsat, iunwfc, &
|
||||
iunigk, nwordwfc, nwordatwfc
|
||||
USE mp_global, ONLY : kunit
|
||||
USE noncollin_module, ONLY : npol
|
||||
!
|
||||
IMPLICIT NONE
|
||||
!
|
||||
LOGICAL :: exst
|
||||
INTEGER :: ndr, kunittmp, ierr
|
||||
REAL(DP) :: edum(1,1), wdum(1,1)
|
||||
|
||||
twfcollect=.false.
|
||||
!
|
||||
! ... nwordwfc is the record length for the direct-access file
|
||||
! ... containing wavefunctions
|
||||
!
|
||||
nwordwfc = 2 * nbnd * npwx * npol
|
||||
!
|
||||
CALL diropn( iunwfc, 'wfc', nwordwfc, exst )
|
||||
!
|
||||
IF ( .NOT. exst ) THEN
|
||||
call errore ('openfil_pp','file '//TRIM( prefix )//'.wfc'//' not found',1)
|
||||
END IF
|
||||
!
|
||||
RETURN
|
||||
!
|
||||
END SUBROUTINE openfil_pp
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
!
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine polariz ( iu )
|
||||
subroutine polariz_vdw ( iu )
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! calculates the frequency dependent polarizability
|
||||
|
@ -16,13 +16,13 @@ subroutine polariz ( iu )
|
|||
|
||||
USE io_global, ONLY : stdout
|
||||
USE io_files, ONLY : iunigk
|
||||
use pwcom
|
||||
USE kinds, only : DP
|
||||
use phcom
|
||||
use cell_base, only : omega
|
||||
USE pwcom
|
||||
USE kinds, ONLY : DP
|
||||
USE phcom
|
||||
USE cell_base, ONLY : omega
|
||||
USE eff_v, ONLY : nelecr, veff, et_c, dvext, dpsi_eff
|
||||
|
||||
implicit none
|
||||
IMPLICIT NONE
|
||||
!
|
||||
! I/O variables
|
||||
!
|
||||
|
@ -105,4 +105,4 @@ subroutine polariz ( iu )
|
|||
call stop_clock ('polariz')
|
||||
|
||||
return
|
||||
end subroutine polariz
|
||||
end subroutine polariz_vdw
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
!
|
||||
!
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine solve_e ( iu )
|
||||
subroutine solve_e_vdw ( iu )
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! This routine is a driver for the solution of the linear system which
|
||||
|
@ -95,7 +95,7 @@ subroutine solve_e ( iu )
|
|||
character (len=256) :: flmixdpot
|
||||
! the name of the file with the mixing potential
|
||||
!
|
||||
external ch_psi_all, pbcg_psi, cg_psi
|
||||
external ch_psi_all_vdw, pbcg_psi, cg_psi
|
||||
|
||||
if (lsda) call errore ('solve_e', ' LSDA not implemented', 1)
|
||||
|
||||
|
@ -202,7 +202,7 @@ subroutine solve_e ( iu )
|
|||
nrec = (ipol - 1) * nksq + ik
|
||||
!
|
||||
! computes/reads P_c^+ x psi_kpoint into dvpsi array
|
||||
call dvpsi_e (ik, ipol)
|
||||
call dvpsi_e_vdw (ik, ipol)
|
||||
!
|
||||
if (iter.eq.1) then
|
||||
!
|
||||
|
@ -292,7 +292,7 @@ subroutine solve_e ( iu )
|
|||
!
|
||||
conv_root = .true.
|
||||
!
|
||||
call gmressolve_all (ch_psi_all,pbcg_psi,et_c(1,ik),dvpsi,dpsi, &
|
||||
call gmressolve_all (ch_psi_all_vdw,pbcg_psi,et_c(1,ik),dvpsi,dpsi, &
|
||||
h_diag,npwx,npw,thresh,ik,lter,conv_root,anorm,nbnd_occ(ik), 4 )
|
||||
!
|
||||
ltaver = ltaver + lter
|
||||
|
@ -312,7 +312,7 @@ subroutine solve_e ( iu )
|
|||
weight = wk (ik)
|
||||
weight = nelecr
|
||||
!
|
||||
call incdrhoscf (dvscfout(1,current_spin,ipol), weight, ik, 1)
|
||||
call incdrhoscf_vdw (dvscfout(1,current_spin,ipol), weight, ik, 1)
|
||||
!
|
||||
enddo ! on perturbation
|
||||
enddo ! on k points
|
||||
|
@ -350,7 +350,7 @@ subroutine solve_e ( iu )
|
|||
do ipol=1,3
|
||||
if (fildrho.ne.' ') call davcio_drho(dvscfout(1,1,ipol),lrdrho, &
|
||||
iudrho,ipol,+1)
|
||||
call dv_of_drho (0, dvscfout (1, 1, ipol), .false.)
|
||||
call dv_of_drho_vdw (0, dvscfout (1, 1, ipol), .false.)
|
||||
enddo
|
||||
#ifdef __PARA
|
||||
call psyme (dvscfout)
|
||||
|
@ -427,4 +427,4 @@ subroutine solve_e ( iu )
|
|||
!
|
||||
return
|
||||
!
|
||||
end subroutine solve_e
|
||||
end subroutine solve_e_vdw
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
PROGRAM vdw
|
||||
!-----------------------------------------------------------------------
|
||||
!
|
||||
! Program for calculating dynamic polarizability of a genrric finite system
|
||||
! Program for calculating dynamic polarizability of a generic finite system
|
||||
! (e.g., atoms, molecules,...) using TF-vW approximation.
|
||||
! The two basic steps are:
|
||||
! 1) read the output file produced by pw.
|
||||
|
@ -78,8 +78,8 @@ PROGRAM vdw
|
|||
i = nfs
|
||||
freq_loop : DO WHILE ( i .ge. 1 )
|
||||
!
|
||||
call solve_e ( fiu(i) )
|
||||
IF ( convt ) CALL polariz ( fiu(i) )
|
||||
call solve_e_vdw ( fiu(i) )
|
||||
IF ( convt ) CALL polariz_vdw ( fiu(i) )
|
||||
i = i - 1
|
||||
!
|
||||
END DO freq_loop
|
||||
|
@ -165,7 +165,7 @@ SUBROUTINE vdw_init ( )
|
|||
200 CALL errore ('vdw', 'reading inputvdw namelist', ABS (ios) )
|
||||
tmp_dir = trimcheck ( outdir )
|
||||
!
|
||||
! reading frequencies
|
||||
! reading frequencies
|
||||
!
|
||||
READ (5, *, err = 10, iostat = ios) card
|
||||
READ (5, *, err = 10, iostat = ios) nfs
|
||||
|
|
|
@ -1,140 +1,140 @@
|
|||
add_exchange.o : ld1inc.o
|
||||
add_exchange.o : ../Modules/constants.o
|
||||
add_exchange.o : ../Modules/kind.o
|
||||
all_electron.o : ld1inc.o
|
||||
add_exchange.o : ld1inc.o
|
||||
all_electron.o : ../Modules/kind.o
|
||||
ascheqlocps.o : ../Modules/kind.o
|
||||
all_electron.o : ld1inc.o
|
||||
ascheq.o : ../Modules/kind.o
|
||||
ascheqlocps.o : ../Modules/kind.o
|
||||
ascheqps.o : ../Modules/kind.o
|
||||
atomic_paw.o : ../Modules/functionals.o
|
||||
atomic_paw.o : ../Modules/kind.o
|
||||
atomic_paw.o : ../Modules/parameters.o
|
||||
atomic_paw.o : parameters.o
|
||||
c6_dft.o : ld1inc.o
|
||||
c6_dft.o : ../Modules/constants.o
|
||||
c6_dft.o : ../Modules/kind.o
|
||||
c6_tfvw.o : ld1inc.o
|
||||
c6_dft.o : ld1inc.o
|
||||
c6_tfvw.o : ../Modules/constants.o
|
||||
c6_tfvw.o : ../Modules/functionals.o
|
||||
c6_tfvw.o : ../Modules/kind.o
|
||||
c6_tfvw.o : ld1inc.o
|
||||
cfdsol.o : ../Modules/kind.o
|
||||
chargeps.o : ld1inc.o
|
||||
compute_chi.o : ld1inc.o
|
||||
compute_chi.o : ../Modules/kind.o
|
||||
compute_chi.o : ld1inc.o
|
||||
compute_det.o : ../Modules/kind.o
|
||||
compute_phi.o : ld1inc.o
|
||||
compute_phi.o : ../Modules/kind.o
|
||||
compute_phi.o : ld1inc.o
|
||||
compute_phipot.o : ld1inc.o
|
||||
compute_phius.o : ld1inc.o
|
||||
compute_solution.o : ../Modules/kind.o
|
||||
descreening.o : ld1inc.o
|
||||
dfx_new.o : ld1inc.o
|
||||
dfx_new.o : ../Modules/constants.o
|
||||
dfx_new.o : ../Modules/kind.o
|
||||
dfx_new.o : ld1inc.o
|
||||
dir_outward.o : ../Modules/kind.o
|
||||
dirsol.o : ../Modules/kind.o
|
||||
dmixp.o : ../Modules/kind.o
|
||||
do_mesh.o : ../Modules/kind.o
|
||||
drho0ofvx.o : ld1inc.o
|
||||
drho0ofvx.o : ../Modules/constants.o
|
||||
drho0ofvx.o : ../Modules/kind.o
|
||||
drhoofv.o : ld1inc.o
|
||||
drho0ofvx.o : ld1inc.o
|
||||
drhoofv.o : ../Modules/constants.o
|
||||
drhoofv.o : ../Modules/kind.o
|
||||
dvex.o : ld1inc.o
|
||||
drhoofv.o : ld1inc.o
|
||||
dvex.o : ../Modules/constants.o
|
||||
dvex.o : ../Modules/kind.o
|
||||
dvex.o : ld1inc.o
|
||||
el_config.o : ../Modules/kind.o
|
||||
el_config.o : parameters.o
|
||||
elsd.o : ld1inc.o
|
||||
elsd.o : ../Modules/functionals.o
|
||||
elsd.o : ../Modules/kind.o
|
||||
elsdps.o : ld1inc.o
|
||||
elsd.o : ld1inc.o
|
||||
elsdps.o : ../Modules/functionals.o
|
||||
elsdps.o : ld1inc.o
|
||||
esic.o : ld1inc.o
|
||||
exc_t.o : ../Modules/functionals.o
|
||||
exc_t.o : ../Modules/kind.o
|
||||
find_qi.o : ld1inc.o
|
||||
find_qi.o : ../Modules/kind.o
|
||||
find_qi.o : ld1inc.o
|
||||
gener_pseudo.o : atomic_paw.o
|
||||
gener_pseudo.o : ld1inc.o
|
||||
green.o : ld1inc.o
|
||||
green.o : ../Modules/kind.o
|
||||
green.o : ld1inc.o
|
||||
hartree.o : ../Modules/kind.o
|
||||
int_0_inf_dr.o : ../Modules/kind.o
|
||||
integrate_inward.o : ../Modules/kind.o
|
||||
integrate_outward.o : ../Modules/kind.o
|
||||
intref.o : ../Modules/kind.o
|
||||
inward.o : ld1inc.o
|
||||
inward.o : ../Modules/kind.o
|
||||
ld1inc.o : atomic_paw.o
|
||||
ld1inc.o : ../Modules/kind.o
|
||||
ld1inc.o : parameters.o
|
||||
ld1.o : ld1inc.o
|
||||
inward.o : ld1inc.o
|
||||
ld1.o : ../Modules/version.o
|
||||
ld1.o : ld1inc.o
|
||||
ld1_readin.o : ../Modules/functionals.o
|
||||
ld1_readin.o : atomic_paw.o
|
||||
ld1_readin.o : ld1inc.o
|
||||
ld1_readin.o : ../Modules/functionals.o
|
||||
ld1_setup.o : ld1inc.o
|
||||
ld1_setup.o : ../Modules/functionals.o
|
||||
ld1_setup.o : ld1inc.o
|
||||
ld1_writeout.o : ../Modules/functionals.o
|
||||
ld1_writeout.o : atomic_paw.o
|
||||
ld1_writeout.o : ld1inc.o
|
||||
ld1_writeout.o : ../Modules/functionals.o
|
||||
ld1inc.o : ../Modules/kind.o
|
||||
ld1inc.o : atomic_paw.o
|
||||
ld1inc.o : parameters.o
|
||||
lderiv.o : ld1inc.o
|
||||
lderivps.o : ld1inc.o
|
||||
lschps.o : ../Modules/kind.o
|
||||
newd_at.o : ld1inc.o
|
||||
new_potential.o : ld1inc.o
|
||||
new_potential.o : ../Modules/constants.o
|
||||
new_potential.o : ../Modules/functionals.o
|
||||
new_potential.o : ../Modules/kind.o
|
||||
new_potential.o : ld1inc.o
|
||||
newd_at.o : ld1inc.o
|
||||
nodenum.o : ../Modules/kind.o
|
||||
normalize.o : ld1inc.o
|
||||
occ_spin.o : ../Modules/kind.o
|
||||
outward.o : ld1inc.o
|
||||
outward.o : ../Modules/kind.o
|
||||
outward.o : ld1inc.o
|
||||
pseudovloc.o : ld1inc.o
|
||||
read_newpseudo.o : ld1inc.o
|
||||
read_newpseudo.o : ../Modules/functionals.o
|
||||
read_newpseudo.o : ld1inc.o
|
||||
read_pseudo.o : ../Modules/kind.o
|
||||
read_pseudoupf.o : ld1inc.o
|
||||
read_pseudoupf.o : ../Modules/functionals.o
|
||||
read_pseudoupf.o : ../Modules/pseudo_types.o
|
||||
read_pseudoupf.o : ../Modules/read_upf.o
|
||||
read_pseudoupf.o : ld1inc.o
|
||||
run_pseudo.o : atomic_paw.o
|
||||
run_pseudo.o : ld1inc.o
|
||||
run_test.o : ld1inc.o
|
||||
scf.o : ld1inc.o
|
||||
scf.o : ../Modules/constants.o
|
||||
scf.o : ld1inc.o
|
||||
seriebes.o : ../Modules/kind.o
|
||||
series.o : ../Modules/kind.o
|
||||
set_rho_core.o : ld1inc.o
|
||||
set_sl3.o : ../Modules/kind.o
|
||||
sic_correction.o : ld1inc.o
|
||||
sic_correction.o : ../Modules/constants.o
|
||||
sic_correction.o : ../Modules/functionals.o
|
||||
starting_potential.o : ../Modules/kind.o
|
||||
sic_correction.o : ld1inc.o
|
||||
start_potps.o : ld1inc.o
|
||||
test_bessel.o : ld1inc.o
|
||||
starting_potential.o : ../Modules/kind.o
|
||||
test_bessel.o : ../Modules/kind.o
|
||||
test_bessel.o : ld1inc.o
|
||||
trou.o : ../Modules/kind.o
|
||||
trou.o : ../Modules/random_numbers.o
|
||||
vdpack.o : ../Modules/kind.o
|
||||
vext.o : ../Modules/kind.o
|
||||
vpack.o : ../Modules/kind.o
|
||||
vxcgc.o : ../Modules/functionals.o
|
||||
vxcgc.o : ../Modules/kind.o
|
||||
vxc_t.o : ../Modules/functionals.o
|
||||
vxc_t.o : ../Modules/kind.o
|
||||
vxcgc.o : ../Modules/functionals.o
|
||||
vxcgc.o : ../Modules/kind.o
|
||||
write_cpmd.o : ../Modules/functionals.o
|
||||
write_cpmd.o : ../Modules/kind.o
|
||||
write_paw_recon.o : ld1inc.o
|
||||
write_pseudo.o : ../Modules/kind.o
|
||||
write_results.o : ld1inc.o
|
||||
write_results.o : ../Modules/functionals.o
|
||||
write_resultsps.o : ld1inc.o
|
||||
write_results.o : ld1inc.o
|
||||
write_resultsps.o : ../Modules/functionals.o
|
||||
write_upf.o : ld1inc.o
|
||||
write_resultsps.o : ld1inc.o
|
||||
write_upf.o : ../Modules/functionals.o
|
||||
write_upf.o : ../Modules/kind.o
|
||||
write_upf.o : ld1inc.o
|
||||
test_bessel.o : ../include/f_defs.h
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# pwdiff.sh -- script for checking outputs of PWscf examples
|
||||
# checking is done in three steps: preprocess, diff against reference
|
||||
# data, postprocess
|
||||
|
|
|
@ -29443,7 +29443,7 @@ CIBM PREFER SCALAR
|
|||
* End of ZGESVD
|
||||
*
|
||||
END
|
||||
SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
|
||||
SUBROUTINE ZBDSQR( UPLO, N, NCVT, NRU, NCC, D, E, VT, LDVT, U,
|
||||
$ LDU, C, LDC, RWORK, INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
|
@ -30177,7 +30177,7 @@ CIBM PREFER SCALAR
|
|||
*
|
||||
END
|
||||
|
||||
SUBROUTINE ZGEBRD( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, LWORK,
|
||||
SUBROUTINE ZGEBRD( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, LWORK,
|
||||
$ INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
|
@ -32492,7 +32492,7 @@ CIBM PREFER SCALAR
|
|||
* End of ZUNMLQ
|
||||
*
|
||||
END
|
||||
SUBROUTINE DLASQ2( N, Z, INFO )
|
||||
SUBROUTINE DLASQ2( N, Z, INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
|
||||
|
@ -34134,7 +34134,7 @@ CIBM PREFER SCALAR
|
|||
* End of ZUNML2
|
||||
*
|
||||
END
|
||||
SUBROUTINE DLAS2( F, G, H, SSMIN, SSMAX )
|
||||
SUBROUTINE DLAS2( F, G, H, SSMIN, SSMAX )
|
||||
*
|
||||
* -- LAPACK auxiliary routine (version 3.0) --
|
||||
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
echo "creating catalog file for Intel compiler v.6 and earlier..."
|
||||
|
||||
topdir=`pwd`
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# includedep.sh -- script that computes dependencies on preprocessor includes
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# files whose dependencies must be computed
|
||||
sources=`echo *.c *.f90 |
|
||||
sed 's/\*\.c//g
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
echo "creating catalog file for Intel compiler v.6 and earlier..."
|
||||
|
||||
topdir=`pwd`
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# includedep.sh -- script that computes dependencies on preprocessor includes
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# files whose dependencies must be computed
|
||||
sources=`echo *.c *.f90 |
|
||||
sed 's/\*\.c//g
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# compute dependencies for the PWscf directory tree
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# run from directory where this script is
|
||||
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
|
||||
TOPDIR=`pwd`
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# moduledep.sh -- script that computes dependencies on Fortran 90 modules
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# files whose dependencies must be computed
|
||||
sources=`echo *.f90 |
|
||||
sed 's/\*\.f90//g'` # remove the "*.f90" that remains
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# namedep.sh -- script that computes dependencies on Fortran 90 modules
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# first argument is mandatory
|
||||
if test $# = 0
|
||||
then
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# compute dependencies for the PWscf directory tree
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# run from directory where this script is
|
||||
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
|
||||
TOPDIR=`pwd`
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# moduledep.sh -- script that computes dependencies on Fortran 90 modules
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# files whose dependencies must be computed
|
||||
sources=`echo *.f90 |
|
||||
sed 's/\*\.f90//g'` # remove the "*.f90" that remains
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#!/bin/sh
|
||||
# namedep.sh -- script that computes dependencies on Fortran 90 modules
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# first argument is mandatory
|
||||
if test $# = 0
|
||||
then
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
! Program is designed to map the Fermi Surface using XCrySDen
|
||||
! See www.xcrysden.org
|
||||
!
|
||||
! Eyvaz Isaev, 2004-2005
|
||||
! eyvaz_isaev@yahoo.com, e.isaev@misis.ru, Eyvaz.Isaev@fysik.uu.se
|
||||
! Eyvaz Isaev, 2004-2005
|
||||
! eyvaz_isaev@yahoo.com, e.isaev@misis.ru, Eyvaz.Isaev@fysik.uu.se
|
||||
! Theoretical Physics Department,
|
||||
! Moscow State Institute of Steel and Alloys
|
||||
!
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
#!/bin/sh -x
|
||||
|
||||
# make sure there is no locale setting creating unneeded differences.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
#
|
||||
VERSION=3.2
|
||||
TARGET_MACHINE=cibs.sns.it:public_html/public/
|
||||
|
|
Loading…
Reference in New Issue