PH re-structured. PH Now called PHonon, D3 and Gamma moved to dir PHonon

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@8158 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
marsamos 2011-09-21 13:43:24 +00:00
parent 7bf16c5699
commit 2496b745bd
417 changed files with 1225 additions and 643 deletions

View File

@ -1,355 +0,0 @@
allocate_d3.o : ../Modules/ions_base.o
allocate_d3.o : ../Modules/uspp.o
allocate_d3.o : ../PH/src/phcom.o
allocate_d3.o : ../PW/pwcom.o
allocate_d3.o : d3com.o
allocate_pert_d3.o : ../Modules/ions_base.o
allocate_pert_d3.o : ../Modules/kind.o
allocate_pert_d3.o : ../PH/src/phcom.o
allocate_pert_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 : ../Modules/run_info.o
bcast_d3_input.o : ../PH/src/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 : ../Modules/mp.o
ch_psi_all2.o : ../Modules/mp_global.o
ch_psi_all2.o : ../Modules/uspp.o
ch_psi_all2.o : ../PH/src/phcom.o
ch_psi_all2.o : ../PW/becmod.o
ch_psi_all2.o : ../PW/pwcom.o
close_open.o : ../Modules/io_files.o
close_open.o : ../Modules/io_global.o
close_open.o : ../PH/src/phcom.o
close_open.o : ../PW/pwcom.o
close_open.o : d3com.o
d0rhod2v.o : ../Modules/fft_base.o
d0rhod2v.o : ../Modules/fft_interfaces.o
d0rhod2v.o : ../Modules/io_files.o
d0rhod2v.o : ../Modules/io_global.o
d0rhod2v.o : ../Modules/ions_base.o
d0rhod2v.o : ../Modules/kind.o
d0rhod2v.o : ../Modules/mp.o
d0rhod2v.o : ../Modules/mp_global.o
d0rhod2v.o : ../Modules/uspp.o
d0rhod2v.o : ../Modules/wavefunctions.o
d0rhod2v.o : ../PH/src/phcom.o
d0rhod2v.o : ../PW/pwcom.o
d0rhod2v.o : d3com.o
d2mxc.o : ../Modules/constants.o
d2mxc.o : ../Modules/kind.o
d3_exc.o : ../Modules/fft_base.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.o
d3_exc.o : ../Modules/mp_global.o
d3_exc.o : ../PH/src/phcom.o
d3_exc.o : ../PW/pwcom.o
d3_exc.o : ../PW/scf_mod.o
d3_exc.o : d3com.o
d3_init.o : ../Modules/atom.o
d3_init.o : ../Modules/fft_base.o
d3_init.o : ../Modules/ions_base.o
d3_init.o : ../Modules/mp.o
d3_init.o : ../Modules/uspp.o
d3_init.o : ../PH/src/phcom.o
d3_init.o : ../PW/pwcom.o
d3_init.o : ../PW/symm_base.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
d3_readin.o : ../Modules/ions_base.o
d3_readin.o : ../Modules/mp.o
d3_readin.o : ../Modules/run_info.o
d3_readin.o : ../Modules/uspp.o
d3_readin.o : ../PH/src/phcom.o
d3_readin.o : ../PW/noncol.o
d3_readin.o : ../PW/pwcom.o
d3_readin.o : d3com.o
d3_recover.o : ../Modules/io_global.o
d3_recover.o : ../Modules/mp.o
d3_recover.o : ../PH/src/phcom.o
d3_recover.o : ../PW/pwcom.o
d3_recover.o : d3com.o
d3_setup.o : ../Modules/constants.o
d3_setup.o : ../Modules/control_flags.o
d3_setup.o : ../Modules/fft_base.o
d3_setup.o : ../Modules/funct.o
d3_setup.o : ../Modules/io_files.o
d3_setup.o : ../Modules/io_global.o
d3_setup.o : ../Modules/ions_base.o
d3_setup.o : ../Modules/kind.o
d3_setup.o : ../Modules/mp.o
d3_setup.o : ../Modules/mp_global.o
d3_setup.o : ../Modules/uspp.o
d3_setup.o : ../PH/src/phcom.o
d3_setup.o : ../PW/pwcom.o
d3_setup.o : ../PW/scf_mod.o
d3_setup.o : ../PW/symm_base.o
d3_setup.o : d3com.o
d3_summary.o : ../Modules/control_flags.o
d3_summary.o : ../Modules/fft_base.o
d3_summary.o : ../Modules/io_global.o
d3_summary.o : ../Modules/ions_base.o
d3_summary.o : ../Modules/kind.o
d3_summary.o : ../Modules/run_info.o
d3_summary.o : ../PH/src/phcom.o
d3_summary.o : ../PW/pwcom.o
d3_summary.o : ../PW/symm_base.o
d3_summary.o : d3com.o
d3_symdyn.o : ../Modules/kind.o
d3_symdyn.o : ../Modules/mp.o
d3_symdyn.o : ../Modules/mp_global.o
d3_symdynph.o : ../Modules/constants.o
d3_symdynph.o : ../Modules/kind.o
d3_valence.o : ../Modules/ions_base.o
d3_valence.o : ../Modules/kind.o
d3_valence.o : ../Modules/mp.o
d3_valence.o : ../Modules/mp_global.o
d3_valence.o : ../PH/src/phcom.o
d3_valence.o : ../PW/pwcom.o
d3_valence.o : d3com.o
d3com.o : ../Modules/kind.o
d3dyn_cc.o : ../Modules/fft_base.o
d3dyn_cc.o : ../Modules/fft_interfaces.o
d3dyn_cc.o : ../Modules/funct.o
d3dyn_cc.o : ../Modules/ions_base.o
d3dyn_cc.o : ../Modules/kind.o
d3dyn_cc.o : ../Modules/mp.o
d3dyn_cc.o : ../Modules/mp_global.o
d3dyn_cc.o : ../PH/src/phcom.o
d3dyn_cc.o : ../PW/pwcom.o
d3dyn_cc.o : ../PW/scf_mod.o
d3dyn_cc.o : d3com.o
d3ionq.o : ../Modules/constants.o
d3ionq.o : ../Modules/io_global.o
d3ionq.o : ../Modules/kind.o
d3ionq.o : ../Modules/mp.o
d3ionq.o : ../Modules/mp_global.o
d3matrix.o : ../Modules/control_flags.o
d3matrix.o : ../Modules/ions_base.o
d3matrix.o : ../Modules/kind.o
d3matrix.o : ../Modules/run_info.o
d3matrix.o : ../PH/src/phcom.o
d3matrix.o : ../PW/pwcom.o
d3matrix.o : ../PW/symm_base.o
d3matrix.o : d3com.o
d3toten.o : ../Modules/control_flags.o
d3toten.o : ../Modules/environment.o
d3toten.o : ../Modules/io_files.o
d3toten.o : ../Modules/io_global.o
d3toten.o : ../Modules/ions_base.o
d3toten.o : ../Modules/mp_global.o
d3toten.o : ../PH/src/phcom.o
d3toten.o : ../PW/pwcom.o
d3toten.o : d3com.o
d3vrho.o : ../Modules/cell_base.o
d3vrho.o : ../Modules/constants.o
d3vrho.o : ../Modules/fft_base.o
d3vrho.o : ../Modules/fft_interfaces.o
d3vrho.o : ../Modules/io_files.o
d3vrho.o : ../Modules/ions_base.o
d3vrho.o : ../Modules/kind.o
d3vrho.o : ../Modules/mp.o
d3vrho.o : ../Modules/mp_global.o
d3vrho.o : ../Modules/recvec.o
d3vrho.o : ../Modules/uspp.o
d3vrho.o : ../Modules/wavefunctions.o
d3vrho.o : ../PH/src/phcom.o
d3vrho.o : ../PW/pwcom.o
d3vrho.o : ../PW/scf_mod.o
d3vrho.o : d3com.o
davcio_drho2.o : ../Modules/fft_base.o
davcio_drho2.o : ../Modules/io_global.o
davcio_drho2.o : ../Modules/kind.o
davcio_drho2.o : ../Modules/mp.o
davcio_drho2.o : ../Modules/mp_global.o
davcio_drho2.o : ../PH/src/phcom.o
davcio_drho2.o : ../PW/pwcom.o
dpsi_corr.o : ../Modules/kind.o
dpsi_corr.o : ../PH/src/phcom.o
dpsi_corr.o : ../PW/pwcom.o
dpsi_corr.o : d3com.o
dpsidpsidv.o : ../Modules/ions_base.o
dpsidpsidv.o : ../Modules/kind.o
dpsidpsidv.o : ../Modules/mp.o
dpsidpsidv.o : ../Modules/mp_global.o
dpsidpsidv.o : ../PH/src/phcom.o
dpsidpsidv.o : ../PW/pwcom.o
dpsidpsidv.o : d3com.o
dpsidvdpsi.o : ../Modules/fft_base.o
dpsidvdpsi.o : ../Modules/io_files.o
dpsidvdpsi.o : ../Modules/ions_base.o
dpsidvdpsi.o : ../Modules/kind.o
dpsidvdpsi.o : ../Modules/mp.o
dpsidvdpsi.o : ../Modules/mp_global.o
dpsidvdpsi.o : ../Modules/uspp.o
dpsidvdpsi.o : ../PH/src/phcom.o
dpsidvdpsi.o : ../PW/pwcom.o
dpsidvdpsi.o : d3com.o
dqrhod2v.o : ../Modules/fft_base.o
dqrhod2v.o : ../Modules/fft_interfaces.o
dqrhod2v.o : ../Modules/io_files.o
dqrhod2v.o : ../Modules/ions_base.o
dqrhod2v.o : ../Modules/kind.o
dqrhod2v.o : ../Modules/mp.o
dqrhod2v.o : ../Modules/mp_global.o
dqrhod2v.o : ../Modules/uspp.o
dqrhod2v.o : ../Modules/wavefunctions.o
dqrhod2v.o : ../PH/src/phcom.o
dqrhod2v.o : ../PW/pwcom.o
dqrhod2v.o : d3com.o
drho_cc.o : ../Modules/kind.o
drho_cc.o : ../PH/src/phcom.o
drho_cc.o : ../PW/pwcom.o
drho_cc.o : d3com.o
drho_drc.o : ../Modules/fft_base.o
drho_drc.o : ../Modules/fft_interfaces.o
drho_drc.o : ../Modules/ions_base.o
drho_drc.o : ../Modules/kind.o
drho_drc.o : ../Modules/mp.o
drho_drc.o : ../Modules/uspp.o
drho_drc.o : ../PH/src/phcom.o
drho_drc.o : ../PW/pwcom.o
drho_drc.o : d3com.o
drhod2v.o : ../Modules/fft_base.o
drhod2v.o : ../Modules/ions_base.o
drhod2v.o : ../Modules/kind.o
drhod2v.o : ../PH/src/phcom.o
drhod2v.o : ../PW/pwcom.o
drhod2v.o : d3com.o
dvdpsi.o : ../Modules/cell_base.o
dvdpsi.o : ../Modules/fft_base.o
dvdpsi.o : ../Modules/fft_interfaces.o
dvdpsi.o : ../Modules/ions_base.o
dvdpsi.o : ../Modules/mp.o
dvdpsi.o : ../Modules/mp_global.o
dvdpsi.o : ../Modules/recvec.o
dvdpsi.o : ../Modules/uspp.o
dvdpsi.o : ../PH/src/phcom.o
dvdpsi.o : ../PW/pwcom.o
dvdpsi.o : d3com.o
dvscf.o : ../Modules/fft_base.o
dvscf.o : ../Modules/fft_interfaces.o
dvscf.o : ../Modules/ions_base.o
dvscf.o : ../Modules/kind.o
dvscf.o : ../Modules/uspp.o
dvscf.o : ../PH/src/phcom.o
dvscf.o : ../PW/pwcom.o
dvscf.o : d3com.o
gen_dpdvp.o : ../Modules/fft_base.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/mp.o
gen_dpdvp.o : ../Modules/mp_global.o
gen_dpdvp.o : ../Modules/uspp.o
gen_dpdvp.o : ../Modules/wavefunctions.o
gen_dpdvp.o : ../PH/src/phcom.o
gen_dpdvp.o : ../PW/pwcom.o
gen_dpdvp.o : d3com.o
gen_dwfc.o : ../Modules/io_global.o
gen_dwfc.o : ../PH/src/phcom.o
gen_dwfc.o : ../PW/pwcom.o
gen_dwfc.o : d3com.o
incdrhoscf2.o : ../Modules/fft_base.o
incdrhoscf2.o : ../Modules/fft_interfaces.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/src/phcom.o
incdrhoscf2.o : ../PW/pwcom.o
openfild3.o : ../Modules/control_flags.o
openfild3.o : ../Modules/fft_base.o
openfild3.o : ../Modules/io_files.o
openfild3.o : ../Modules/io_global.o
openfild3.o : ../Modules/mp_global.o
openfild3.o : ../PH/src/phcom.o
openfild3.o : ../PW/pwcom.o
openfild3.o : d3com.o
print_clock_d3.o : ../Modules/io_global.o
print_clock_d3.o : d3com.o
psymd0rho.o : ../Modules/fft_base.o
psymd0rho.o : ../Modules/ions_base.o
psymd0rho.o : ../Modules/kind.o
psymd0rho.o : ../Modules/mp_global.o
psymd0rho.o : ../PH/src/phcom.o
psymd0rho.o : ../PW/pwcom.o
psymd0rho.o : ../PW/symm_base.o
psymd0rho.o : d3com.o
qstar_d3.o : ../Modules/kind.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/constants.o
rotate_and_add_d3.o : ../Modules/kind.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/src/phcom.o
set_d3irr.o : ../PW/pwcom.o
set_d3irr.o : ../PW/symm_base.o
set_d3irr.o : d3com.o
set_efsh.o : ../Modules/fft_base.o
set_efsh.o : ../Modules/fft_interfaces.o
set_efsh.o : ../Modules/io_global.o
set_efsh.o : ../Modules/kind.o
set_efsh.o : ../Modules/mp.o
set_efsh.o : ../Modules/mp_global.o
set_efsh.o : ../PH/src/phcom.o
set_efsh.o : ../PW/pwcom.o
set_efsh.o : d3com.o
set_sym_irr.o : ../Modules/constants.o
set_sym_irr.o : ../Modules/kind.o
set_sym_irr.o : ../Modules/mp.o
set_sym_irr.o : ../Modules/mp_global.o
solve_linter_d3.o : ../Modules/cell_base.o
solve_linter_d3.o : ../Modules/fft_base.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
solve_linter_d3.o : ../Modules/kind.o
solve_linter_d3.o : ../Modules/mp.o
solve_linter_d3.o : ../Modules/mp_global.o
solve_linter_d3.o : ../Modules/recvec.o
solve_linter_d3.o : ../Modules/uspp.o
solve_linter_d3.o : ../Modules/wavefunctions.o
solve_linter_d3.o : ../PH/src/phcom.o
solve_linter_d3.o : ../PW/pwcom.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 : ../PH/src/phcom.o
stop_d3.o : ../PW/pwcom.o
stop_d3.o : d3com.o
sym_def1.o : ../Modules/kind.o
sym_def1.o : ../PH/src/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/constants.o
w_1gauss.o : ../Modules/kind.o
write_aux.o : ../Modules/ions_base.o
write_aux.o : ../PH/src/phcom.o
write_aux.o : ../PW/pwcom.o
write_aux.o : d3com.o
write_d3dyn.o : ../Modules/kind.o
write_igk.o : ../Modules/io_files.o
write_igk.o : ../PH/src/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/src/phcom.o
writed3dyn_5.o : ../PW/pwcom.o
writed3dyn_5.o : d3com.o

View File

@ -9,7 +9,7 @@ IFLAGS=-I../../include
# location of needed modules
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../PH/src $(MOD_FLAG)../../PW \
$(MOD_FLAG)../../PHonon/PH $(MOD_FLAG)../../PW \
$(MOD_FLAG)../pw4gww $(MOD_FLAG).
#location of needed libraries
@ -26,7 +26,7 @@ phq_readin.o \
solve_head.o
QEMODS = ../../Modules/libqemod.a
LIBPWPH = ../pw4gww/libpw4gww.a ../../PH/src/libph.a ../../PW/libpw.a
LIBPWPH = ../pw4gww/libpw4gww.a ../../PHonon/PH/libph.a ../../PW/libpw.a
LIBMIN= ../minpack/minpacklib.a

View File

@ -5,18 +5,18 @@ bcast_ph_input.o : ../../Modules/io_global.o
bcast_ph_input.o : ../../Modules/ions_base.o
bcast_ph_input.o : ../../Modules/mp.o
bcast_ph_input.o : ../../Modules/run_info.o
bcast_ph_input.o : ../../PH/src/phcom.o
bcast_ph_input.o : ../../PH/src/ramanm.o
bcast_ph_input.o : ../../PHonon/PH/phcom.o
bcast_ph_input.o : ../../PHonon/PH/ramanm.o
bcast_ph_input.o : ../pw4gww/wannier_gw.o
bcast_ph_input1.o : ../../Modules/io_global.o
bcast_ph_input1.o : ../../Modules/mp.o
bcast_ph_input1.o : ../../PH/src/phcom.o
bcast_ph_input1.o : ../../PHonon/PH/phcom.o
close_phq.o : ../../Modules/control_flags.o
close_phq.o : ../../Modules/io_files.o
close_phq.o : ../../Modules/mp_global.o
close_phq.o : ../../Modules/uspp.o
close_phq.o : ../../PH/src/phcom.o
close_phq.o : ../../PH/src/ramanm.o
close_phq.o : ../../PHonon/PH/phcom.o
close_phq.o : ../../PHonon/PH/ramanm.o
close_phq.o : ../pw4gww/wannier_gw.o
head.o : ../../Modules/check_stop.o
head.o : ../../Modules/control_flags.o
@ -27,10 +27,10 @@ head.o : ../../Modules/io_global.o
head.o : ../../Modules/ions_base.o
head.o : ../../Modules/kind.o
head.o : ../../Modules/mp_global.o
head.o : ../../PH/src/ph_restart.o
head.o : ../../PH/src/phcom.o
head.o : ../../PH/src/ramanm.o
head.o : ../../PH/src/save_ph_input.o
head.o : ../../PHonon/PH/ph_restart.o
head.o : ../../PHonon/PH/phcom.o
head.o : ../../PHonon/PH/ramanm.o
head.o : ../../PHonon/PH/save_ph_input.o
head.o : ../../PW/io_rho_xml.o
head.o : ../../PW/noncol.o
head.o : ../../PW/pwcom.o
@ -44,9 +44,9 @@ openfilq.o : ../../Modules/io_global.o
openfilq.o : ../../Modules/kind.o
openfilq.o : ../../Modules/mp_global.o
openfilq.o : ../../Modules/uspp.o
openfilq.o : ../../PH/src/phcom.o
openfilq.o : ../../PH/src/ramanm.o
openfilq.o : ../../PH/src/save_ph_input.o
openfilq.o : ../../PHonon/PH/phcom.o
openfilq.o : ../../PHonon/PH/ramanm.o
openfilq.o : ../../PHonon/PH/save_ph_input.o
openfilq.o : ../../PW/noncol.o
openfilq.o : ../../PW/pwcom.o
openfilq.o : ../pw4gww/wannier_gw.o
@ -62,7 +62,7 @@ phq_init.o : ../../Modules/mp_global.o
phq_init.o : ../../Modules/recvec.o
phq_init.o : ../../Modules/uspp.o
phq_init.o : ../../Modules/wavefunctions.o
phq_init.o : ../../PH/src/phcom.o
phq_init.o : ../../PHonon/PH/phcom.o
phq_init.o : ../../PW/becmod.o
phq_init.o : ../../PW/noncol.o
phq_init.o : ../../PW/pwcom.o
@ -81,10 +81,10 @@ phq_readin.o : ../../Modules/parameters.o
phq_readin.o : ../../Modules/paw_variables.o
phq_readin.o : ../../Modules/run_info.o
phq_readin.o : ../../Modules/uspp.o
phq_readin.o : ../../PH/src/ph_restart.o
phq_readin.o : ../../PH/src/phcom.o
phq_readin.o : ../../PH/src/ramanm.o
phq_readin.o : ../../PH/src/save_ph_input.o
phq_readin.o : ../../PHonon/PH/ph_restart.o
phq_readin.o : ../../PHonon/PH/phcom.o
phq_readin.o : ../../PHonon/PH/ramanm.o
phq_readin.o : ../../PHonon/PH/save_ph_input.o
phq_readin.o : ../../PW/noncol.o
phq_readin.o : ../../PW/pwcom.o
phq_readin.o : ../pw4gww/wannier_gw.o
@ -100,7 +100,7 @@ solve_head.o : ../../Modules/mp_global.o
solve_head.o : ../../Modules/recvec.o
solve_head.o : ../../Modules/uspp.o
solve_head.o : ../../Modules/wavefunctions.o
solve_head.o : ../../PH/src/phcom.o
solve_head.o : ../../PHonon/PH/phcom.o
solve_head.o : ../../PW/becmod.o
solve_head.o : ../../PW/pwcom.o
solve_head.o : ../../PW/realus.o

View File

@ -1,171 +0,0 @@
a_h.o : ../Modules/cell_base.o
a_h.o : ../Modules/constants.o
a_h.o : ../Modules/fft_base.o
a_h.o : ../Modules/fft_interfaces.o
a_h.o : ../Modules/funct.o
a_h.o : ../Modules/kind.o
a_h.o : ../Modules/recvec.o
a_h.o : ../Modules/uspp.o
a_h.o : ../Modules/wavefunctions.o
a_h.o : ../PW/becmod.o
a_h.o : ../PW/pwcom.o
a_h.o : ../PW/scf_mod.o
a_h.o : cgcom.o
cg_readin.o : ../Modules/control_flags.o
cg_readin.o : ../Modules/io_files.o
cg_readin.o : ../Modules/io_global.o
cg_readin.o : ../Modules/ions_base.o
cg_readin.o : ../Modules/kind.o
cg_readin.o : ../Modules/mp.o
cg_readin.o : ../Modules/uspp.o
cg_readin.o : ../PW/noncol.o
cg_readin.o : ../PW/pwcom.o
cg_readin.o : ../PW/symm_base.o
cg_readin.o : cgcom.o
cg_setup.o : ../Modules/fft_base.o
cg_setup.o : ../Modules/funct.o
cg_setup.o : ../Modules/io_files.o
cg_setup.o : ../Modules/ions_base.o
cg_setup.o : ../Modules/kind.o
cg_setup.o : ../Modules/mp_global.o
cg_setup.o : ../Modules/uspp.o
cg_setup.o : ../Modules/wavefunctions.o
cg_setup.o : ../PW/newd.o
cg_setup.o : ../PW/pwcom.o
cg_setup.o : ../PW/scf_mod.o
cg_setup.o : cgcom.o
cg_setupdgc.o : ../Modules/fft_base.o
cg_setupdgc.o : ../Modules/funct.o
cg_setupdgc.o : ../Modules/kind.o
cg_setupdgc.o : ../PW/pwcom.o
cg_setupdgc.o : ../PW/scf_mod.o
cg_setupdgc.o : cgcom.o
cgcom.o : ../Modules/kind.o
cgsolve.o : ../Modules/io_global.o
cgsolve.o : ../Modules/kind.o
cgsolve.o : ../PW/becmod.o
d2ion.o : ../Modules/constants.o
d2ion.o : ../Modules/io_global.o
d2ion.o : ../Modules/kind.o
d2ion.o : ../Modules/mp.o
d2ion.o : ../Modules/mp_global.o
dgradcorr.o : ../Modules/constants.o
dgradcorr.o : ../Modules/fft_base.o
dgradcorr.o : ../Modules/fft_interfaces.o
dgradcorr.o : ../Modules/kind.o
dielec.o : ../Modules/ions_base.o
dielec.o : ../Modules/mp.o
dielec.o : ../Modules/mp_global.o
dielec.o : ../PW/pwcom.o
dielec.o : cgcom.o
drhodv.o : ../Modules/mp.o
drhodv.o : ../Modules/mp_global.o
drhodv.o : ../PW/pwcom.o
drhodv.o : cgcom.o
dvb_cc.o : ../Modules/fft_base.o
dvb_cc.o : ../Modules/fft_interfaces.o
dvb_cc.o : ../Modules/kind.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_e.o : cgcom.o
dvpsi_kb.o : ../Modules/atom.o
dvpsi_kb.o : ../Modules/cell_base.o
dvpsi_kb.o : ../Modules/constants.o
dvpsi_kb.o : ../Modules/fft_base.o
dvpsi_kb.o : ../Modules/fft_interfaces.o
dvpsi_kb.o : ../Modules/ions_base.o
dvpsi_kb.o : ../Modules/kind.o
dvpsi_kb.o : ../Modules/recvec.o
dvpsi_kb.o : ../Modules/uspp.o
dvpsi_kb.o : ../Modules/wavefunctions.o
dvpsi_kb.o : ../PW/becmod.o
dvpsi_kb.o : ../PW/pwcom.o
dvpsi_kb.o : cgcom.o
dyndiar.o : ../Modules/io_global.o
dyndiar.o : ../Modules/kind.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/cell_base.o
dynmatcc.o : ../Modules/constants.o
dynmatcc.o : ../Modules/fft_base.o
dynmatcc.o : ../Modules/fft_interfaces.o
dynmatcc.o : ../Modules/ions_base.o
dynmatcc.o : ../Modules/kind.o
dynmatcc.o : ../Modules/mp.o
dynmatcc.o : ../Modules/mp_global.o
dynmatcc.o : ../Modules/recvec.o
dynmatcc.o : ../Modules/uspp.o
dynmatcc.o : ../Modules/wavefunctions.o
dynmatcc.o : ../PW/pwcom.o
dynmatcc.o : ../PW/scf_mod.o
dynmatcc.o : cgcom.o
generate_dynamical_matrix.o : ../Modules/kind.o
generate_dynamical_matrix.o : ../PW/symme.o
generate_effective_charges.o : ../Modules/kind.o
generate_effective_charges.o : ../PW/symme.o
h_h.o : ../Modules/kind.o
h_h.o : ../Modules/recvec.o
h_h.o : ../Modules/uspp.o
h_h.o : ../PW/becmod.o
h_h.o : ../PW/pwcom.o
h_h.o : ../PW/scf_mod.o
h_h.o : cgcom.o
macro.o : ../PW/pwcom.o
macro.o : cgcom.o
phcg.o : ../Modules/check_stop.o
phcg.o : ../Modules/constants.o
phcg.o : ../Modules/control_flags.o
phcg.o : ../Modules/environment.o
phcg.o : ../Modules/fft_base.o
phcg.o : ../Modules/funct.o
phcg.o : ../Modules/io_files.o
phcg.o : ../Modules/io_global.o
phcg.o : ../Modules/ions_base.o
phcg.o : ../Modules/mp_global.o
phcg.o : ../PW/noncol.o
phcg.o : ../PW/pwcom.o
phcg.o : ../PW/scf_mod.o
phcg.o : ../PW/symm_base.o
phcg.o : cgcom.o
pw_dot.o : ../Modules/kind.o
pw_dot.o : ../Modules/mp.o
pw_dot.o : ../Modules/mp_global.o
pw_dot.o : ../Modules/recvec.o
rhod2vkb.o : ../Modules/cell_base.o
rhod2vkb.o : ../Modules/constants.o
rhod2vkb.o : ../Modules/fft_base.o
rhod2vkb.o : ../Modules/fft_interfaces.o
rhod2vkb.o : ../Modules/ions_base.o
rhod2vkb.o : ../Modules/kind.o
rhod2vkb.o : ../Modules/mp.o
rhod2vkb.o : ../Modules/mp_global.o
rhod2vkb.o : ../Modules/recvec.o
rhod2vkb.o : ../Modules/uspp.o
rhod2vkb.o : ../Modules/wavefunctions.o
rhod2vkb.o : ../PW/becmod.o
rhod2vkb.o : ../PW/pwcom.o
rhod2vkb.o : ../PW/scf_mod.o
rhod2vkb.o : cgcom.o
solve_e.o : ../Modules/io_global.o
solve_e.o : ../Modules/uspp.o
solve_e.o : ../Modules/wavefunctions.o
solve_e.o : ../PW/becmod.o
solve_e.o : ../PW/pwcom.o
solve_e.o : cgcom.o
solve_ph.o : ../Modules/io_files.o
solve_ph.o : ../Modules/io_global.o
solve_ph.o : ../Modules/uspp.o
solve_ph.o : ../Modules/wavefunctions.o
solve_ph.o : ../PW/becmod.o
solve_ph.o : ../PW/pwcom.o
solve_ph.o : cgcom.o
writedyn.o : ../Modules/ions_base.o
writedyn.o : ../Modules/run_info.o
writedyn.o : ../PW/pwcom.o
writedyn.o : cgcom.o

View File

@ -7,7 +7,7 @@ default :
@echo 'where target is one of the following:'
@echo ' pw basic code for scf, structure optimization, MD'
@echo ' cp CP code: CP MD with ultrasoft pseudopotentials'
@echo ' ph phonon code'
@echo ' ph phonon code, Gamma-only version and third-order derivatives'
@echo ' neb code for Nudged Elastic Band method'
@echo ' tddfpt time dependent dft code'
@echo ' pp postprocessing programs'
@ -48,8 +48,8 @@ cp : bindir mods liblapack libblas libs libiotk
else $(MAKE) $(MFLAGS) TLDEPS= all ; fi ) ; fi
ph : bindir mods libs pw
if test -d PH ; then \
( cd PH ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \
if test -d PHonon ; then \
( cd PHonon ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \
else $(MAKE) $(MFLAGS) TLDEPS= all ; fi ) ; fi
neb : bindir mods libs pw
@ -67,21 +67,11 @@ pp : bindir mods libs pw
( cd PP ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \
else $(MAKE) $(MFLAGS) TLDEPS= all ; fi ) ; fi
gamma : bindir mods libs pw
if test -d Gamma ; then \
( cd Gamma ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \
else $(MAKE) $(MFLAGS) TLDEPS= all ; fi ) ; fi
pwcond : bindir mods libs pw pp
if test -d PWCOND ; then \
( cd PWCOND ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \
else $(MAKE) $(MFLAGS) TLDEPS= all ; fi ) ; fi
d3 : bindir mods libs pw ph
if test -d D3 ; then \
( cd D3 ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \
else $(MAKE) $(MFLAGS) TLDEPS= all ; fi ) ; fi
vdw : bindir mods libs pw ph pp
if test -d VdW ; then \
( cd VdW ; if test "$(MAKE)" = "" ; then make $(MFLAGS) TLDEPS= all ; \

View File

@ -1,19 +0,0 @@
# Makefile for PH
# Adapted from TDDFPT main Makefile
default: all
all:
if test -d src ; then \
( cd src ; if test "$(MAKE)" = "" ; then make $(MFLAGS) $@; \
else $(MAKE) $(MFLAGS) $@ ; fi ) ; fi ; \
clean :
if test -d src ; then \
( cd src ; if test "$(MAKE)" = "" ; then make clean ; \
else $(MAKE) clean ; fi ) ; fi ;\
distclean: clean

View File

@ -1,10 +1,12 @@
# Makefile for 3rd derivative calculations - D3
include ../make.sys
include ../../make.sys
# location of needed modules
MODFLAGS= $(MOD_FLAG)../iotk/src $(MOD_FLAG)../Modules \
$(MOD_FLAG)../PW $(MOD_FLAG)../PH/src $(MOD_FLAG).
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../PW $(MOD_FLAG)../../PHonon/PH $(MOD_FLAG).
LIBOBJS = ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a
D3OBJS = \
allocate_d3.o \
@ -62,22 +64,26 @@ write_d3dyn.o \
write_igk.o \
writed3dyn_5.o
PHOBJS = ../PH/src/libph.a
PWOBJS = ../PW/libpw.a
QEMODS = ../Modules/libqemod.a
PHOBJS = ../../PHonon/PH/libph.a
PWOBJS = ../../PW/libpw.a
QEMODS = ../../Modules/libqemod.a
TLDEPS= bindir mods libs pw ph
TLDEPS= bindir mods libs pw
TLDEPS2 = phonon
all : tldeps d3.x
all : tldeps tldeps2 d3.x
d3.x : $(D3OBJS) $(PHOBJS) $(PWOBJS) $(QEMODS) $(LIBOBJS)
$(LD) $(LDFLAGS) -o d3.x $(D3OBJS) \
$(PHOBJS) $(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../bin ; ln -fs ../D3/d3.x . )
- ( cd ../../bin ; ln -fs ../../PHonon/D3/d3.x . )
tldeps:
test -n "$(TLDEPS)" && ( cd .. ; $(MAKE) $(MFLAGS) $(TLDEPS) || exit 1) || :
test -n "$(TLDEPS)" && ( cd ../.. ; $(MAKE) $(MFLAGS) $(TLDEPS) || exit 1) || :
tldeps2:
test -n "$(TLDEPS2)" && ( cd ../ ; $(MAKE) $(MFLAGS) $(TLDEPS2) || exit 1) || :
clean :
- /bin/rm -f d3.x *.o *~ *.F90 *.d *.i *.mod *.L
- /bin/rm -f ../../bin/d3.x
include make.depend

355
PHonon/D3/make.depend Normal file
View File

@ -0,0 +1,355 @@
allocate_d3.o : ../../Modules/ions_base.o
allocate_d3.o : ../../Modules/uspp.o
allocate_d3.o : ../../PHonon/PH/phcom.o
allocate_d3.o : ../../PW/pwcom.o
allocate_d3.o : d3com.o
allocate_pert_d3.o : ../../Modules/ions_base.o
allocate_pert_d3.o : ../../Modules/kind.o
allocate_pert_d3.o : ../../PHonon/PH/phcom.o
allocate_pert_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 : ../../Modules/run_info.o
bcast_d3_input.o : ../../PHonon/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 : ../../Modules/mp.o
ch_psi_all2.o : ../../Modules/mp_global.o
ch_psi_all2.o : ../../Modules/uspp.o
ch_psi_all2.o : ../../PHonon/PH/phcom.o
ch_psi_all2.o : ../../PW/becmod.o
ch_psi_all2.o : ../../PW/pwcom.o
close_open.o : ../../Modules/io_files.o
close_open.o : ../../Modules/io_global.o
close_open.o : ../../PHonon/PH/phcom.o
close_open.o : ../../PW/pwcom.o
close_open.o : d3com.o
d0rhod2v.o : ../../Modules/fft_base.o
d0rhod2v.o : ../../Modules/fft_interfaces.o
d0rhod2v.o : ../../Modules/io_files.o
d0rhod2v.o : ../../Modules/io_global.o
d0rhod2v.o : ../../Modules/ions_base.o
d0rhod2v.o : ../../Modules/kind.o
d0rhod2v.o : ../../Modules/mp.o
d0rhod2v.o : ../../Modules/mp_global.o
d0rhod2v.o : ../../Modules/uspp.o
d0rhod2v.o : ../../Modules/wavefunctions.o
d0rhod2v.o : ../../PHonon/PH/phcom.o
d0rhod2v.o : ../../PW/pwcom.o
d0rhod2v.o : d3com.o
d2mxc.o : ../../Modules/constants.o
d2mxc.o : ../../Modules/kind.o
d3_exc.o : ../../Modules/fft_base.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.o
d3_exc.o : ../../Modules/mp_global.o
d3_exc.o : ../../PHonon/PH/phcom.o
d3_exc.o : ../../PW/pwcom.o
d3_exc.o : ../../PW/scf_mod.o
d3_exc.o : d3com.o
d3_init.o : ../../Modules/atom.o
d3_init.o : ../../Modules/fft_base.o
d3_init.o : ../../Modules/ions_base.o
d3_init.o : ../../Modules/mp.o
d3_init.o : ../../Modules/uspp.o
d3_init.o : ../../PHonon/PH/phcom.o
d3_init.o : ../../PW/pwcom.o
d3_init.o : ../../PW/symm_base.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
d3_readin.o : ../../Modules/ions_base.o
d3_readin.o : ../../Modules/mp.o
d3_readin.o : ../../Modules/run_info.o
d3_readin.o : ../../Modules/uspp.o
d3_readin.o : ../../PHonon/PH/phcom.o
d3_readin.o : ../../PW/noncol.o
d3_readin.o : ../../PW/pwcom.o
d3_readin.o : d3com.o
d3_recover.o : ../../Modules/io_global.o
d3_recover.o : ../../Modules/mp.o
d3_recover.o : ../../PHonon/PH/phcom.o
d3_recover.o : ../../PW/pwcom.o
d3_recover.o : d3com.o
d3_setup.o : ../../Modules/constants.o
d3_setup.o : ../../Modules/control_flags.o
d3_setup.o : ../../Modules/fft_base.o
d3_setup.o : ../../Modules/funct.o
d3_setup.o : ../../Modules/io_files.o
d3_setup.o : ../../Modules/io_global.o
d3_setup.o : ../../Modules/ions_base.o
d3_setup.o : ../../Modules/kind.o
d3_setup.o : ../../Modules/mp.o
d3_setup.o : ../../Modules/mp_global.o
d3_setup.o : ../../Modules/uspp.o
d3_setup.o : ../../PHonon/PH/phcom.o
d3_setup.o : ../../PW/pwcom.o
d3_setup.o : ../../PW/scf_mod.o
d3_setup.o : ../../PW/symm_base.o
d3_setup.o : d3com.o
d3_summary.o : ../../Modules/control_flags.o
d3_summary.o : ../../Modules/fft_base.o
d3_summary.o : ../../Modules/io_global.o
d3_summary.o : ../../Modules/ions_base.o
d3_summary.o : ../../Modules/kind.o
d3_summary.o : ../../Modules/run_info.o
d3_summary.o : ../../PHonon/PH/phcom.o
d3_summary.o : ../../PW/pwcom.o
d3_summary.o : ../../PW/symm_base.o
d3_summary.o : d3com.o
d3_symdyn.o : ../../Modules/kind.o
d3_symdyn.o : ../../Modules/mp.o
d3_symdyn.o : ../../Modules/mp_global.o
d3_symdynph.o : ../../Modules/constants.o
d3_symdynph.o : ../../Modules/kind.o
d3_valence.o : ../../Modules/ions_base.o
d3_valence.o : ../../Modules/kind.o
d3_valence.o : ../../Modules/mp.o
d3_valence.o : ../../Modules/mp_global.o
d3_valence.o : ../../PHonon/PH/phcom.o
d3_valence.o : ../../PW/pwcom.o
d3_valence.o : d3com.o
d3com.o : ../../Modules/kind.o
d3dyn_cc.o : ../../Modules/fft_base.o
d3dyn_cc.o : ../../Modules/fft_interfaces.o
d3dyn_cc.o : ../../Modules/funct.o
d3dyn_cc.o : ../../Modules/ions_base.o
d3dyn_cc.o : ../../Modules/kind.o
d3dyn_cc.o : ../../Modules/mp.o
d3dyn_cc.o : ../../Modules/mp_global.o
d3dyn_cc.o : ../../PHonon/PH/phcom.o
d3dyn_cc.o : ../../PW/pwcom.o
d3dyn_cc.o : ../../PW/scf_mod.o
d3dyn_cc.o : d3com.o
d3ionq.o : ../../Modules/constants.o
d3ionq.o : ../../Modules/io_global.o
d3ionq.o : ../../Modules/kind.o
d3ionq.o : ../../Modules/mp.o
d3ionq.o : ../../Modules/mp_global.o
d3matrix.o : ../../Modules/control_flags.o
d3matrix.o : ../../Modules/ions_base.o
d3matrix.o : ../../Modules/kind.o
d3matrix.o : ../../Modules/run_info.o
d3matrix.o : ../../PHonon/PH/phcom.o
d3matrix.o : ../../PW/pwcom.o
d3matrix.o : ../../PW/symm_base.o
d3matrix.o : d3com.o
d3toten.o : ../../Modules/control_flags.o
d3toten.o : ../../Modules/environment.o
d3toten.o : ../../Modules/io_files.o
d3toten.o : ../../Modules/io_global.o
d3toten.o : ../../Modules/ions_base.o
d3toten.o : ../../Modules/mp_global.o
d3toten.o : ../../PHonon/PH/phcom.o
d3toten.o : ../../PW/pwcom.o
d3toten.o : d3com.o
d3vrho.o : ../../Modules/cell_base.o
d3vrho.o : ../../Modules/constants.o
d3vrho.o : ../../Modules/fft_base.o
d3vrho.o : ../../Modules/fft_interfaces.o
d3vrho.o : ../../Modules/io_files.o
d3vrho.o : ../../Modules/ions_base.o
d3vrho.o : ../../Modules/kind.o
d3vrho.o : ../../Modules/mp.o
d3vrho.o : ../../Modules/mp_global.o
d3vrho.o : ../../Modules/recvec.o
d3vrho.o : ../../Modules/uspp.o
d3vrho.o : ../../Modules/wavefunctions.o
d3vrho.o : ../../PHonon/PH/phcom.o
d3vrho.o : ../../PW/pwcom.o
d3vrho.o : ../../PW/scf_mod.o
d3vrho.o : d3com.o
davcio_drho2.o : ../../Modules/fft_base.o
davcio_drho2.o : ../../Modules/io_global.o
davcio_drho2.o : ../../Modules/kind.o
davcio_drho2.o : ../../Modules/mp.o
davcio_drho2.o : ../../Modules/mp_global.o
davcio_drho2.o : ../../PHonon/PH/phcom.o
davcio_drho2.o : ../../PW/pwcom.o
dpsi_corr.o : ../../Modules/kind.o
dpsi_corr.o : ../../PHonon/PH/phcom.o
dpsi_corr.o : ../../PW/pwcom.o
dpsi_corr.o : d3com.o
dpsidpsidv.o : ../../Modules/ions_base.o
dpsidpsidv.o : ../../Modules/kind.o
dpsidpsidv.o : ../../Modules/mp.o
dpsidpsidv.o : ../../Modules/mp_global.o
dpsidpsidv.o : ../../PHonon/PH/phcom.o
dpsidpsidv.o : ../../PW/pwcom.o
dpsidpsidv.o : d3com.o
dpsidvdpsi.o : ../../Modules/fft_base.o
dpsidvdpsi.o : ../../Modules/io_files.o
dpsidvdpsi.o : ../../Modules/ions_base.o
dpsidvdpsi.o : ../../Modules/kind.o
dpsidvdpsi.o : ../../Modules/mp.o
dpsidvdpsi.o : ../../Modules/mp_global.o
dpsidvdpsi.o : ../../Modules/uspp.o
dpsidvdpsi.o : ../../PHonon/PH/phcom.o
dpsidvdpsi.o : ../../PW/pwcom.o
dpsidvdpsi.o : d3com.o
dqrhod2v.o : ../../Modules/fft_base.o
dqrhod2v.o : ../../Modules/fft_interfaces.o
dqrhod2v.o : ../../Modules/io_files.o
dqrhod2v.o : ../../Modules/ions_base.o
dqrhod2v.o : ../../Modules/kind.o
dqrhod2v.o : ../../Modules/mp.o
dqrhod2v.o : ../../Modules/mp_global.o
dqrhod2v.o : ../../Modules/uspp.o
dqrhod2v.o : ../../Modules/wavefunctions.o
dqrhod2v.o : ../../PHonon/PH/phcom.o
dqrhod2v.o : ../../PW/pwcom.o
dqrhod2v.o : d3com.o
drho_cc.o : ../../Modules/kind.o
drho_cc.o : ../../PHonon/PH/phcom.o
drho_cc.o : ../../PW/pwcom.o
drho_cc.o : d3com.o
drho_drc.o : ../../Modules/fft_base.o
drho_drc.o : ../../Modules/fft_interfaces.o
drho_drc.o : ../../Modules/ions_base.o
drho_drc.o : ../../Modules/kind.o
drho_drc.o : ../../Modules/mp.o
drho_drc.o : ../../Modules/uspp.o
drho_drc.o : ../../PHonon/PH/phcom.o
drho_drc.o : ../../PW/pwcom.o
drho_drc.o : d3com.o
drhod2v.o : ../../Modules/fft_base.o
drhod2v.o : ../../Modules/ions_base.o
drhod2v.o : ../../Modules/kind.o
drhod2v.o : ../../PHonon/PH/phcom.o
drhod2v.o : ../../PW/pwcom.o
drhod2v.o : d3com.o
dvdpsi.o : ../../Modules/cell_base.o
dvdpsi.o : ../../Modules/fft_base.o
dvdpsi.o : ../../Modules/fft_interfaces.o
dvdpsi.o : ../../Modules/ions_base.o
dvdpsi.o : ../../Modules/mp.o
dvdpsi.o : ../../Modules/mp_global.o
dvdpsi.o : ../../Modules/recvec.o
dvdpsi.o : ../../Modules/uspp.o
dvdpsi.o : ../../PHonon/PH/phcom.o
dvdpsi.o : ../../PW/pwcom.o
dvdpsi.o : d3com.o
dvscf.o : ../../Modules/fft_base.o
dvscf.o : ../../Modules/fft_interfaces.o
dvscf.o : ../../Modules/ions_base.o
dvscf.o : ../../Modules/kind.o
dvscf.o : ../../Modules/uspp.o
dvscf.o : ../../PHonon/PH/phcom.o
dvscf.o : ../../PW/pwcom.o
dvscf.o : d3com.o
gen_dpdvp.o : ../../Modules/fft_base.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/mp.o
gen_dpdvp.o : ../../Modules/mp_global.o
gen_dpdvp.o : ../../Modules/uspp.o
gen_dpdvp.o : ../../Modules/wavefunctions.o
gen_dpdvp.o : ../../PHonon/PH/phcom.o
gen_dpdvp.o : ../../PW/pwcom.o
gen_dpdvp.o : d3com.o
gen_dwfc.o : ../../Modules/io_global.o
gen_dwfc.o : ../../PHonon/PH/phcom.o
gen_dwfc.o : ../../PW/pwcom.o
gen_dwfc.o : d3com.o
incdrhoscf2.o : ../../Modules/fft_base.o
incdrhoscf2.o : ../../Modules/fft_interfaces.o
incdrhoscf2.o : ../../Modules/ions_base.o
incdrhoscf2.o : ../../Modules/kind.o
incdrhoscf2.o : ../../Modules/uspp.o
incdrhoscf2.o : ../../Modules/wavefunctions.o
incdrhoscf2.o : ../../PHonon/PH/phcom.o
incdrhoscf2.o : ../../PW/pwcom.o
openfild3.o : ../../Modules/control_flags.o
openfild3.o : ../../Modules/fft_base.o
openfild3.o : ../../Modules/io_files.o
openfild3.o : ../../Modules/io_global.o
openfild3.o : ../../Modules/mp_global.o
openfild3.o : ../../PHonon/PH/phcom.o
openfild3.o : ../../PW/pwcom.o
openfild3.o : d3com.o
print_clock_d3.o : ../../Modules/io_global.o
print_clock_d3.o : d3com.o
psymd0rho.o : ../../Modules/fft_base.o
psymd0rho.o : ../../Modules/ions_base.o
psymd0rho.o : ../../Modules/kind.o
psymd0rho.o : ../../Modules/mp_global.o
psymd0rho.o : ../../PHonon/PH/phcom.o
psymd0rho.o : ../../PW/pwcom.o
psymd0rho.o : ../../PW/symm_base.o
psymd0rho.o : d3com.o
qstar_d3.o : ../../Modules/kind.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/constants.o
rotate_and_add_d3.o : ../../Modules/kind.o
set_d3irr.o : ../../Modules/control_flags.o
set_d3irr.o : ../../Modules/ions_base.o
set_d3irr.o : ../../Modules/kind.o
set_d3irr.o : ../../PHonon/PH/phcom.o
set_d3irr.o : ../../PW/pwcom.o
set_d3irr.o : ../../PW/symm_base.o
set_d3irr.o : d3com.o
set_efsh.o : ../../Modules/fft_base.o
set_efsh.o : ../../Modules/fft_interfaces.o
set_efsh.o : ../../Modules/io_global.o
set_efsh.o : ../../Modules/kind.o
set_efsh.o : ../../Modules/mp.o
set_efsh.o : ../../Modules/mp_global.o
set_efsh.o : ../../PHonon/PH/phcom.o
set_efsh.o : ../../PW/pwcom.o
set_efsh.o : d3com.o
set_sym_irr.o : ../../Modules/constants.o
set_sym_irr.o : ../../Modules/kind.o
set_sym_irr.o : ../../Modules/mp.o
set_sym_irr.o : ../../Modules/mp_global.o
solve_linter_d3.o : ../../Modules/cell_base.o
solve_linter_d3.o : ../../Modules/fft_base.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
solve_linter_d3.o : ../../Modules/kind.o
solve_linter_d3.o : ../../Modules/mp.o
solve_linter_d3.o : ../../Modules/mp_global.o
solve_linter_d3.o : ../../Modules/recvec.o
solve_linter_d3.o : ../../Modules/uspp.o
solve_linter_d3.o : ../../Modules/wavefunctions.o
solve_linter_d3.o : ../../PHonon/PH/phcom.o
solve_linter_d3.o : ../../PW/pwcom.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 : ../../PHonon/PH/phcom.o
stop_d3.o : ../../PW/pwcom.o
stop_d3.o : d3com.o
sym_def1.o : ../../Modules/kind.o
sym_def1.o : ../../PHonon/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/constants.o
w_1gauss.o : ../../Modules/kind.o
write_aux.o : ../../Modules/ions_base.o
write_aux.o : ../../PHonon/PH/phcom.o
write_aux.o : ../../PW/pwcom.o
write_aux.o : d3com.o
write_d3dyn.o : ../../Modules/kind.o
write_igk.o : ../../Modules/io_files.o
write_igk.o : ../../PHonon/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 : ../../PHonon/PH/phcom.o
writed3dyn_5.o : ../../PW/pwcom.o
writed3dyn_5.o : d3com.o

View File

@ -23,13 +23,13 @@ clean:
- rm -f $(PDFS) $(AUXS) $(LOGS) $(OUTS) $(TOCS) *~
- rm -rf user_guide/
- rm -f INPUT_*.html INPUT_*.txt INPUT_*.xml
- rm -rf ../../Doc/INPUT_CP*.*
- rm -rf ../../Doc/INPUT_PH.* ../../Doc/INPUT_D3.*
user_guide: user_guide.pdf
rm -rf user_guide/
latex2html \
-t "User's Guide for The Quantum ESPRESSO Car-Parrinello Molecular Dynamics" \
-t "User's Guide for the PHonon package" \
-html_version 3.2,math \
-toc_depth 5 -split 5 -toc_stars -show_section_numbers \
-local_icons -image_type png \
@ -47,20 +47,20 @@ user_guide: user_guide.pdf
@echo ""
defs: INPUT_CP.html INPUT_CP.txt INPUT_CPPP.html INPUT_CPPP.txt link_on_main_doc
INPUT_CP.html: %.html: %.def
defs: INPUT_PH.html INPUT_PH.txt INPUT_D3.html INPUT_D3.txt link_on_main_doc
INPUT_PH.html: %.html: %.def
$(HELPDOC) $<
INPUT_CP.txt: %.txt: %.def
INPUT_PH.txt: %.txt: %.def
$(HELPDOC) $<
INPUT_CPPP.html: %.html: %.def
INPUT_D3.html: %.html: %.def
$(HELPDOC) $<
INPUT_CPPP.txt: %.txt: %.def
INPUT_D3.txt: %.txt: %.def
$(HELPDOC) $<
link_on_main_doc:
-( cd ../../Doc ; ln -fs ../CPV/Doc/INPUT_CP.html . ; \
ln -fs ../CPV/Doc/INPUT_CP.xml . ; \
ln -fs ../CPV/Doc/INPUT_CP.txt . ; \
ln -fs ../CPV/Doc/INPUT_CPPP.html . ; \
ln -fs ../CPV/Doc/INPUT_CPPP.xml . ; \
ln -fs ../CPV/Doc/INPUT_CPPP.txt)
-( cd ../../Doc ; ln -fs ../PH/Doc/INPUT_PH.html . ; \
ln -fs ../PH/Doc/INPUT_PH.xml . ; \
ln -fs ../PH/Doc/INPUT_PH.txt . ; \
ln -fs ../PH/Doc/INPUT_D3.html . ; \
ln -fs ../PH/Doc/INPUT_D3.xml . ; \
ln -fs ../PH/Doc/INPUT_D3.txt)

547
PHonon/Doc/user_guide.tex Normal file
View File

@ -0,0 +1,547 @@
\documentclass[12pt,a4paper]{article}
\def\version{4.3.2}
\def\qe{{\sc Quantum ESPRESSO}}
\usepackage{html}
% BEWARE: don't revert from graphicx for epsfig, because latex2html
% doesn't handle epsfig commands !!!
\usepackage{graphicx}
\textwidth = 17cm
\textheight = 24cm
\topmargin =-1 cm
\oddsidemargin = 0 cm
\def\pwx{\texttt{pw.x}}
\def\cpx{\texttt{cp.x}}
\def\phx{\texttt{ph.x}}
\def\nebx{\texttt{neb.x}}
\def\configure{\texttt{configure}}
\def\PWscf{\texttt{PWscf}}
\def\PHonon{\texttt{PHonon}}
\def\CP{\texttt{CP}}
\def\PostProc{\texttt{PostProc}}
\def\make{\texttt{make}}
\begin{document}
\author{}
\date{}
\def\qeImage{../../Doc/quantum_espresso.pdf}
\def\democritosImage{../../Doc/democritos.pdf}
%\begin{htmlonly}
%\def\qeImage{../../Doc/quantum_espresso.png}
%\def\democritosImage{../../Doc/democritos.png}
%\end{htmlonly}
\title{
\includegraphics[width=5cm]{\qeImage} \hskip 2cm
\includegraphics[width=6cm]{\democritosImage}\\
\vskip 1cm
% title
\Huge User's Guide for the \PHonon\ package \smallskip
\Large (version \version)
}
%\latexonly
%\title{
% \epsfig{figure=quantum_espresso.png,width=5cm}\hskip 2cm
% \epsfig{figure=democritos.png,width=6cm}\vskip 1cm
% % title
% \Huge User's Guide for \PHonon\ \smallskip
% \Large (version \version)
%}
%\endlatexonly
\maketitle
\tableofcontents
\section{Introduction}
This guide covers the installation and usage of \PHonon\ (opEn-Source
Package for the calculation of vibrational properties through
Density Functional Perturbation Theory)
, version \version.
\PHonon\ is part of the \qe\ distribution and can not be compiled
nor used independently.
Further documentation, beyond what is provided in this guide, can be found in:
\begin{itemize}
\item the \texttt{pw\_forum} mailing list (\texttt{pw\_forum@pwscf.org}).
You can subscribe to this list, browse and search its archives
(links in \texttt{http://www.quantum-espresso.org/contacts.php}).
See section \ref{SubSec:Contacts}, ``Contacts'', for more info.
\item the \texttt{Doc/} directory of the \qe\ distribution,
containing a detailed description of input data for most codes
in files \texttt{INPUT\_*.txt} and \texttt{INPUT\_*.html},
plus and a few additional pdf documents
\item the \qe\ web site:\\
\texttt{http://www.quantum-espresso.org};
\item the \qe\ Wiki:\\
\texttt{http://www.quantum-espresso.org/wiki/index.php/Main\_Page}.
\end{itemize}
People who want to contribute to \qe\ should read the
Developer Manual: \texttt{Doc/developer\_man.pdf}.
All trademarks mentioned in this guide belong to their respective owners.
\PHonon\ can perform the following types of calculations:
\begin{itemize}
\item phonon frequencies and eigenvectors at a generic wave vector,
using Density-Functional Perturbation Theory;
\item effective charges and dielectric tensors;
\item electron-phonon interaction coefficients for metals;
\item interatomic force constants in real space;
\item third-order anharmonic phonon lifetimes;
\item Infrared and Raman (nonresonant) cross section.
\end{itemize}
\PHonon\ can be used whenever \PWscf\ can be
used, with the exceptions of DFT+U, nonlocal VdW and hybrid functionals.
USPP and PAW are not implemented for higher-order response calculations.
See the header of file \texttt{PH/phonon.f90} for a complete and
updated list of what \PHonon\ can and cannot do.
Calculations, in the Quasi-Harmonic approximations, of the vibrational
free energy can be performed using the \texttt{QHA} package.
In the following, the cited affiliation is either the current one
or the one where the last known contribution was done.
The \PHonon\ package
was originally developed by Stefano Baroni, Stefano
de Gironcoli, Andrea Dal Corso (SISSA), Paolo Giannozzi, and many others.
We quote in particular:
\begin{itemize}
\item Michele Lazzeri (Univ.Paris VI) for the 2n+1 code and Raman
cross section calculation with 2nd-order response;
\item Andrea Dal Corso for USPP, noncolinear, spin-orbit
extensions to \PHonon.
\end{itemize}
This guide was mostly written by Paolo Giannozzi.
We shall greatly appreciate if scientific work done using this code will
contain an explicit acknowledgment and the following reference:
\begin{quote}
P. Giannozzi, S. Baroni, N. Bonini, M. Calandra, R. Car, C. Cavazzoni,
D. Ceresoli, G. L. Chiarotti, M. Cococcioni, I. Dabo, A. Dal Corso,
S. Fabris, G. Fratesi, S. de Gironcoli, R. Gebauer, U. Gerstmann,
C. Gougoussis, A. Kokalj, M. Lazzeri, L. Martin-Samos, N. Marzari,
F. Mauri, R. Mazzarello, S. Paolini, A. Pasquarello, L. Paulatto,
C. Sbraccia, S. Scandolo, G. Sclauzero, A. P. Seitsonen, A. Smogunov,
P. Umari, R. M. Wentzcovitch, J.Phys.:Condens.Matter 21, 395502 (2009),
http://arxiv.org/abs/0906.2569
\end{quote}
\section{Installation}
\subsection{Download}
\begin{tabular}{ll}
\texttt{PH/} & \PHonon: source files for phonon calculations (\texttt{ph.x})
and analysis\\
\texttt{Gamma/} & \PHonon: source files for Gamma-only phonon calculation
(\texttt{phcg.x})\\
\texttt{D3/} & \PHonon: source files for third-order derivative
calculations (\texttt{d3.x})\\
\end{tabular}
\subsection{Prerequisites}
\label{Sec:Installation}
\subsection{\configure}
\subsection{Compilation}
for phonon calculations:
\begin{itemize}
\item \phx\ : Calculates phonon frequencies and displacement patterns,
dielectric tensors, effective charges (uses data produced by \pwx).
\item \texttt{dynmat.x}: applies various kinds of Acoustic Sum Rule (ASR),
calculates LO-TO splitting at ${\bf q} = 0$ in insulators, IR and Raman
cross sections (if the coefficients have been properly calculated),
from the dynamical matrix produced by \phx
\item \texttt{q2r.x}: calculates Interatomic Force Constants (IFC) in real space
from dynamical matrices produced by \phx\ on a regular {\bf q}-grid
\item \texttt{matdyn.x}: produces phonon frequencies at a generic wave vector
using the IFC file calculated by \texttt{q2r.x}; may also calculate phonon DOS,
the electron-phonon coefficient $\lambda$, the function $\alpha^2F(\omega)$
\item \texttt{lambda.x}: also calculates $\lambda$ and $\alpha^2F(\omega)$,
plus $T_c$ for superconductivity using the McMillan formula
\item \texttt{make d3} produces \texttt{D3/d3.x}:
calculates anharmonic phonon lifetimes (third-order derivatives
of the energy), using data produced by \pwx\ and \phx\ (USPP
and PAW not supported).
\item \texttt{make gamma} produces \texttt{Gamma/phcg.x}:
a version of \phx\ that calculates phonons at ${\bf q} = 0$ using
conjugate-gradient minimization of the density functional expanded to
second-order. Only the $\Gamma$ (${\bf k} = 0$) point is used for Brillouin zone
integration. It is faster and takes less memory than \phx, but does
not support USPP and PAW.
\end{itemize}
\subsection{Running examples}
\label{SubSec:Examples}
\section{Parallelism}
\label{Sec:para}
\subsection{Running on parallel machines}
\label{SubSec:para}
\subsection{Parallelization levels}
{\bf images}: Processors can then be divided into different "images",
corresponding to a point in configuration space (i.e. to
a different set of atomic positions) for NEB calculations;
to one (or more than one) "irrep" or wave-vector in phonon
calculations.
{\bf pools}: When k-point sampling is used, each image group can be
subpartitioned into "pools", and k-points can distributed to pools.
Within each pool, reciprocal space basis set (PWs)
and real-space grids are distributed across processors.
This is usually referred to as "PW parallelization".
All linear-algebra operations on array of PW /
real-space grids are automatically and effectively parallelized.
3D FFT is used to transform electronic wave functions from
reciprocal to real space and vice versa. The 3D FFT is
parallelized by distributing planes of the 3D grid in real
space to processors (in reciprocal space, it is columns of
G-vectors that are distributed to processors).
{\bf task groups}:
In order to allow good parallelization of the 3D FFT when
the number of processors exceeds the number of FFT planes,
data can be redistributed to "task groups" so that each group
can process several wavefunctions at the same time.
{\bf linear-algebra group}:
A further level of parallelization, independent on
PW or k-point parallelization, is the parallelization of
subspace diagonalization (\pwx) or iterative orthonormalization
(\cpx). Both operations required the diagonalization of
arrays whose dimension is the number of Kohn-Sham states
(or a small multiple). All such arrays are distributed block-like
across the ``linear-algebra group'', a subgroup of the pool of processors,
organized in a square 2D grid. As a consequence the number of processors
in the linear-algebra group is given by $n^2$, where $n$ is an integer;
$n^2$ must be smaller than the number of processors of a single pool.
The diagonalization is then performed
in parallel using standard linear algebra operations.
(This diagonalization is used by, but should not be confused with,
the iterative Davidson algorithm). One can choose to compile
ScaLAPACK if available, internal built-in algorithms otherwise.
{\bf Communications}:
Images and pools are loosely coupled and processors communicate
between different images and pools only once in a while, whereas
processors within each pool are tightly coupled and communications
are significant. This means that Gigabit ethernet (typical for
cheap PC clusters) is ok up to 4-8 processors per pool, but {\em fast}
communication hardware (e.g. Mirynet or comparable) is absolutely
needed beyond 8 processors per pool.
{\bf Choosing parameters}:
To control the number of processors in each group,
command line switches: \texttt{-nimage}, \texttt{-npools},
\texttt{-ntg}, \texttt{northo} (for \cpx) or \texttt{-ndiag}
(for \pwx) are used.
As an example consider the following command line:
\begin{verbatim}
mpirun -np 4096 ./pw.x -nimage 8 -npool 2 -ntg 8 -ndiag 144 -input my.input
\end{verbatim}
This executes \PWscf\ on 4096 processors, to simulate a system
with 8 images, each of which is distributed across 512 processors.
k-points are distributed across 2 pools of 256 processors each,
3D FFT is performed using 8 task groups (64 processors each, so
the 3D real-space grid is cut into 64 slices), and the diagonalization
of the subspace Hamiltonian is distributed to a square grid of 144
processors (12x12).
Default values are: \texttt{-nimage 1 -npool 1 -ntg 1} ;
\texttt{ndiag} is set to 1 if ScaLAPACK is not compiled,
it is set to the square integer smaller than or equal to half the number
of processors of each pool.
\paragraph{phonon on grid}
\section{Using \PHonon}
Phonon calculation is presently a two-step process.
First, you have to find the ground-state atomic and electronic configuration;
Second, you can calculate phonons using Density-Functional Perturbation Theory.
Further processing to calculate Interatomic Force Constants, to add macroscopic
electric field and impose Acoustic Sum Rules at q=0 may be needed.
In the following, we will indicate by $q$ the phonon wavevectors,
while $k$ will indicate Bloch vectors used for summing over the Brillouin Zone.
Since version 4.0 it is possible to safely stop execution of
\phx\ code using
the same mechanism of the \pwx\ code, i.e. by creating a file \texttt{prefix.EXIT} in the
working directory. Execution can be resumed by setting \texttt{recover=.true.}
in the subsequent input data.
\subsection{Single-q calculation}
The phonon code \phx\ calculates normal modes at a given q-vector, starting
from data files produced by \pwx with a simple SCF calculation.
NOTE: the alternative procedure in which a band-structure calculation
with \texttt{calculation='phonon} was performed as an intermediate step is no
longer implemented since version 4.1. It is also no longer needed to
specify \texttt{lnscf=.true.} for $q\ne 0$.
The output data file appear in the directory specified by variables outdir,
with names specified by variable prefix. After the output file(s) has been
produced (do not remove any of the files, unless you know which are used
and which are not), you can run \phx.
The first input line of \phx\ is a job identifier. At the second line the
namelist \&INPUTPH starts. The meaning of the variables in the namelist
(most of them having a default value) is described in file
\texttt{Doc/INPUT\_PH.*}. Variables \texttt{outdir} and \texttt{prefix}
must be the same as in the input data of \pwx. Presently
you must also specify \texttt{amass(i)} (a real variable): the atomic mass
of atomic type $i$.
After the namelist you must specify the q-vector of the phonon mode,
in Cartesian coordinates and in units of $2\pi/a$.
Notice that the dynamical matrix calculated by \phx\ at $q=0$ does not
contain the non-analytic term occurring in polar materials, i.e. there is no
LO-TO splitting in insulators. Moreover no Acoustic Sum Rule (ASR) is
applied. In order to have the complete dynamical matrix at $q=0$ including
the non-analytic terms, you need to calculate effective charges by specifying
option \texttt{epsil=.true.} to \phx. This is however not possible (because
not physical!) for metals (i.e. any system subject to a broadening).
At $q=0$, use program \texttt{dynmat.x} to calculate the correct LO-TO
splitting, IR cross sections, and to impose various forms of ASR.
If \phx\ was instructed to calculate Raman coefficients,
\texttt{dynmat.x} will also calculate Raman cross sections
for a typical experimental setup.
Input documentation in the header of \texttt{PH/dynmat.f90}.
A sample phonon calculation is performed in Example 02.
\subsection{Calculation of interatomic force constants in real space}
First, dynamical matrices are calculated and saved for a suitable uniform
grid of q-vectors (only those in the Irreducible Brillouin Zone of the
crystal are needed). Although this can be done one q-vector at the time, a
simpler procedure is to specify variable \texttt{ldisp=.true.} and to set
variables \texttt{nq1}, \texttt{nq2}, \texttt{nq3} to some suitable
Monkhorst-Pack grid, that will be automatically generated, centered at $q=0$.
Do not forget to specify \texttt{epsil=.true.} in the input data of
\phx\ if you want the correct TO-LO splitting in polar
materials.
Second, code \texttt{q2r.x} reads the dynamical matrices produced in the
preceding step and Fourier-transform them, writing a file of Interatomic Force
Constants in real space, up to a distance that depends on the size of the grid
of q-vectors. Input documentation in the header of \texttt{PH/q2r.f90}.
Program \texttt{matdyn.x} may be used to produce phonon modes and
frequencies at any q using the Interatomic Force Constants file as input.
Input documentation in the header of \texttt{PH/matdyn.f90}.
For more details, see Example 06.
\subsection{Calculation of electron-phonon interaction coefficients}
The calculation of electron-phonon coefficients in metals is made difficult
by the slow convergence of the sum at the Fermi energy. It is convenient to
use a coarse k-point grid to calculate phonons on a suitable wavevector grid;
a dense k-point grid to calculate the sum at the Fermi energy. The calculation
proceeds in this way:
\begin{enumerate}
\item a scf calculation for the dense k-point grid (or a scf calculation
followed by a non-scf one on the dense k-point grid); specify
option \texttt{la2f=.true.} to \pwx\ in order to save a file with
the eigenvalues on the dense k-point grid. The latter MUST contain
all k and k+q grid points used in the subsequent electron-phonon
calculation. All grids MUST be unshifted, i.e. include $k=0$.
\item a normal scf + phonon dispersion calculation on the coarse k-point
grid, specifying option \texttt{elph=.true.}. and the file name where
the self-consistent first-order variation of the potential is to be
stored: variable \texttt{fildvscf}).
The electron-phonon coefficients are calculated using several
values of Gaussian broadening (see \texttt{PH/elphon.f90}) because this quickly
shows whether results are converged or not with respect to the k-point grid
and Gaussian broadening.
\item Finally, you can use \texttt{matdyn.x} and \texttt{lambda.x}
(input documentation in the header of \texttt{PH/lambda.f90})
to get the $\alpha^2F(\omega)$ function, the electron-phonon coefficient
$\lambda$, and an estimate of the critical temperature $T_c$.
\end{enumerate}
For more details, see Example 07.
\subsection{Distributed Phonon calculations}
A complete phonon dispersion calculation can be quite long and
expensive, but it can be split into a number of semi-independent
calculations, using options \texttt{start\_q}, \texttt{last\_q},
\texttt{start\_irr}, \texttt{last\_irr}. An example on how to
distribute the calculations and collect the results can be found
in \texttt{examples/GRID\_example}. Reference:\\
{\it Calculation of Phonon Dispersions on the GRID using Quantum
ESPRESSO},
R. di Meo, A. Dal Corso, P. Giannozzi, and S. Cozzini, in
{\it Chemistry and Material Science Applications on Grid Infrastructures},
editors: S. Cozzini, A. Lagan\`a, ICTP Lecture Notes Series,
Vol. 24, pp.165-183 (2009).
\section{Performances}
\subsection{Execution time}
\subsection{Memory requirements}
A typical self-consistency or molecular-dynamics run requires a maximum
memory in the order of $O$ double precision complex numbers, where
$$ O = m M N + P N + p N_1 N_2 N_3 + q N_{r1} N_{r2} N_{r3}$$
with $m, p, q$ = small factors; all other variables have the same meaning as
above. Note that if the $\Gamma-$point only ($k=0$) is used to sample the
Brillouin Zone, the value of N will be cut into half.
The memory required by the phonon code follows the same patterns, with
somewhat larger factors $m, p, q$.
\subsection{File space requirements}
\section{Troubleshooting}
\paragraph{ph.x stops with {\em error reading file}}
The data file produced by \pwx\ is bad or incomplete or produced
by an incompatible version of the code.
In parallel execution: if you did not set \texttt{wf\_collect=.true.}, the number
of processors and pools for the phonon run should be the same as for the
self-consistent run; all files must be visible to all processors.
\paragraph{ph.x mumbles something like {\em cannot recover} or {\em error
reading recover file}}
You have a bad restart file from a preceding failed execution.
Remove all files \texttt{recover*} in \texttt{outdir}.
\paragraph{ph.x says {\em occupation numbers probably wrong} and
continues} You have a
metallic or spin-polarized system but occupations are not set to
\texttt{'smearing'}.
\paragraph{ph.x does not yield acoustic modes with zero frequency at $q=0$}
This may not be an error: the Acoustic Sum Rule (ASR) is never exactly
verified, because the system is never exactly translationally
invariant as it should be. The calculated frequency of the acoustic
mode is typically less than 10 cm$^{-1}$, but in some cases it may be
much higher, up to 100 cm$^{-1}$. The ultimate test is to diagonalize
the dynamical matrix with program \texttt{dynmat.x}, imposing the ASR. If you
obtain an acoustic mode with a much smaller $\omega$ (let us say
$< 1 \mbox{cm}^{-1}$ )
with all other modes virtually unchanged, you can trust your results.
''The problem is [...] in the fact that the XC
energy is computed in real space on a discrete grid and hence the
total energy is invariant (...) only for translation in the FFT
grid. Increasing the charge density cutoff increases the grid density
thus making the integral more exact thus reducing the problem,
unfortunately rather slowly...This problem is usually more severe for
GGA than with LDA because the GGA functionals have functional forms
that vary more strongly with the position; particularly so for
isolated molecules or system with significant portions of "vacuum"
because in the exponential tail of the charge density a) the finite
cutoff (hence there is an effect due to cutoff) induces oscillations
in rho and b) the reduced gradient is diverging.''(info by Stefano de
Gironcoli, June 2008)
\paragraph{ph.x yields really lousy phonons, with bad or negative
frequencies or wrong symmetries or gross ASR violations}
Possible reasons
\begin{itemize}
\item if this happens only for acoustic modes at $q=0$ that should
have $\omega=0$: Acoustic Sum Rule violation, see the item before
this one.
\item wrong data file read.
\item wrong atomic masses given in input will yield wrong frequencies
(but the content of file fildyn should be valid, since the force
constants, not the dynamical matrix, are written to file).
\item convergence threshold for either SCF (\texttt{conv\_thr}) or phonon
calculation (\texttt{tr2\_ph}) too large: try to reduce them.
\item maybe your system does have negative or strange phonon
frequencies, with the approximations you used. A negative frequency
signals a mechanical instability of the chosen structure. Check that
the structure is reasonable, and check the following parameters:
\begin{itemize}
\item The cutoff for wavefunctions, \texttt{ecutwfc}
\item For USPP: the cutoff for the charge density, \texttt{ecutrho}
\item The k-point grid, especially for metallic systems.
\end{itemize}
\end{itemize}
Note that "negative" frequencies are actually imaginary: the negative
sign flags eigenvalues of the dynamical matrix for which $\omega^2 <
0$.
\paragraph{{\em Wrong degeneracy} error in star\_q}
Verify the q-vector for which you are calculating phonons. In order to
check whether a symmetry operation belongs to the small group of $q$,
the code compares $q$ and the rotated $q$, with an acceptance tolerance of
$10^{-5}$ (set in routine \texttt{PW/eqvect.f90}). You may run into trouble if
your q-vector differs from a high-symmetry point by an amount in that
order of magnitude.
\section{Frequently Asked Questions}
\paragraph{ Is there a simple way to determine the symmetry of a given
phonon mode?}
A symmetry analyzer was added in v.3.2 by Andrea Dal Corso.
Other packages that perform symmetry analysis of phonons and normal modes:\\
ISOTROPY package: http://stokes.byu.edu/iso/isotropy.html\\
ACKJ, ACMI packages: http://www.cpc.cs.qub.ac.uk.
\paragraph{I am not getting zero acoustic mode frequencies, why? }
Because the Acoustic Sum Rule (ASR), i.e. the translational invariance,
is violated in approximated calculations. In PW calculations,
the main and most irreducible violation comes from the discreteness
of the FFT grid. There may be other reasons, though, notably
insufficient convergence: "Recently I found that the parameters
\texttt{tr2\_ph} for the phonons and \texttt{conv\_thr} for the
ground state can affect the quality of the phonon calculation,
especially the "vanishing" frequencies for molecules."
(Info from Katalyn Gaal-Nagy). Anyway: if the nonzero frequencies are
small, you can impose the ASR to the dynamical matrix, usually with
excellent results.
Nonzero frequencies for rotational modes of a molecule are a fictitious
effect of the finite supercell size, or else, of a less than perfect
convergence of the geometry of the molecule.
\paragraph{Why do I get negative phonon frequencies? }
"Negative" frequencies actually are "imaginary" frequencies
($\omega^2<0$). If these occur for acoustic frequencies at Gamma point,
or for rotational modes of a molecule, see above.
In all other cases: it depends. It may be a problem of bad
convergence (see above), or it may signal a real instability.
\paragraph{Why do I get a message {\em no elec. field with metals}? }
If you want to calculate the contribution of macroscopic electric
fields to phonons -- a quantity that is well-defined in insulators
only --- you cannot use smearing in the scf calculation, or else the
code will complain.
\paragraph{How can I calculate Raman/IR coefficients in metals?}
You cannot: they are well defined only for insulators.
\paragraph{How can I calculate the electron-phonon coefficients
in insulators?}
You cannot: the current implementation is for metals only.
\end{document}

View File

@ -1,10 +1,12 @@
# Makefile for Gamma-only phonon code
include ../make.sys
include ../../make.sys
# location of needed modules
MODFLAGS= $(MOD_FLAG)../iotk/src $(MOD_FLAG)../Modules \
$(MOD_FLAG)../PW $(MOD_FLAG).
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../PW $(MOD_FLAG).
LIBOBJS = ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a
CGOBJS = \
a_h.o \
@ -36,8 +38,8 @@ solve_ph.o \
writedyn.o \
zvscal.o
PWOBJS = ../PW/libpw.a
QEMODS = ../Modules/libqemod.a
PWOBJS = ../../PW/libpw.a
QEMODS = ../../Modules/libqemod.a
TLDEPS= bindir mods libs pw
@ -46,11 +48,12 @@ all : tldeps phcg.x
phcg.x : $(PWOBJS) $(CGOBJS) $(QEMODS) $(LIBOBJS)
$(LD) $(LDFLAGS) -o phcg.x \
$(CGOBJS) $(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../bin ; ln -fs ../Gamma/phcg.x . )
- ( cd ../../bin ; ln -fs ../../PHonon/Gamma/phcg.x . )
tldeps:
test -n "$(TLDEPS)" && ( cd .. ; $(MAKE) $(MFLAGS) $(TLDEPS) || exit 1) || :
test -n "$(TLDEPS)" && ( cd ../.. ; $(MAKE) $(MFLAGS) $(TLDEPS) || exit 1) || :
clean :
- /bin/rm -f *.x *.o *.d *.i *~ *.F90 *.mod *.L
- /bin/rm -f ../../bin/phcg.x
include make.depend

173
PHonon/Gamma/make.depend Normal file
View File

@ -0,0 +1,173 @@
a_h.o : ../../Modules/cell_base.o
a_h.o : ../../Modules/constants.o
a_h.o : ../../Modules/fft_base.o
a_h.o : ../../Modules/fft_interfaces.o
a_h.o : ../../Modules/funct.o
a_h.o : ../../Modules/kind.o
a_h.o : ../../Modules/recvec.o
a_h.o : ../../Modules/uspp.o
a_h.o : ../../Modules/wavefunctions.o
a_h.o : ../../PW/becmod.o
a_h.o : ../../PW/pwcom.o
a_h.o : ../../PW/scf_mod.o
a_h.o : cgcom.o
cg_readin.o : ../../Modules/control_flags.o
cg_readin.o : ../../Modules/io_files.o
cg_readin.o : ../../Modules/io_global.o
cg_readin.o : ../../Modules/ions_base.o
cg_readin.o : ../../Modules/kind.o
cg_readin.o : ../../Modules/mp.o
cg_readin.o : ../../Modules/uspp.o
cg_readin.o : ../../PW/noncol.o
cg_readin.o : ../../PW/pwcom.o
cg_readin.o : ../../PW/symm_base.o
cg_readin.o : cgcom.o
cg_setup.o : ../../Modules/fft_base.o
cg_setup.o : ../../Modules/funct.o
cg_setup.o : ../../Modules/io_files.o
cg_setup.o : ../../Modules/ions_base.o
cg_setup.o : ../../Modules/kind.o
cg_setup.o : ../../Modules/mp_global.o
cg_setup.o : ../../Modules/uspp.o
cg_setup.o : ../../Modules/wavefunctions.o
cg_setup.o : ../../PW/newd.o
cg_setup.o : ../../PW/pwcom.o
cg_setup.o : ../../PW/scf_mod.o
cg_setup.o : cgcom.o
cg_setupdgc.o : ../../Modules/fft_base.o
cg_setupdgc.o : ../../Modules/funct.o
cg_setupdgc.o : ../../Modules/kind.o
cg_setupdgc.o : ../../PW/pwcom.o
cg_setupdgc.o : ../../PW/scf_mod.o
cg_setupdgc.o : cgcom.o
cgcom.o : ../../Modules/kind.o
cgsolve.o : ../../Modules/io_global.o
cgsolve.o : ../../Modules/kind.o
cgsolve.o : ../../PW/becmod.o
d2ion.o : ../../Modules/constants.o
d2ion.o : ../../Modules/io_global.o
d2ion.o : ../../Modules/kind.o
d2ion.o : ../../Modules/mp.o
d2ion.o : ../../Modules/mp_global.o
dgradcorr.o : ../../Modules/constants.o
dgradcorr.o : ../../Modules/fft_base.o
dgradcorr.o : ../../Modules/fft_interfaces.o
dgradcorr.o : ../../Modules/kind.o
dielec.o : ../../Modules/ions_base.o
dielec.o : ../../Modules/mp.o
dielec.o : ../../Modules/mp_global.o
dielec.o : ../../PW/pwcom.o
dielec.o : cgcom.o
drhodv.o : ../../Modules/mp.o
drhodv.o : ../../Modules/mp_global.o
drhodv.o : ../../PW/pwcom.o
drhodv.o : cgcom.o
dvb_cc.o : ../../Modules/fft_base.o
dvb_cc.o : ../../Modules/fft_interfaces.o
dvb_cc.o : ../../Modules/kind.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_e.o : cgcom.o
dvpsi_kb.o : ../../Modules/atom.o
dvpsi_kb.o : ../../Modules/cell_base.o
dvpsi_kb.o : ../../Modules/constants.o
dvpsi_kb.o : ../../Modules/fft_base.o
dvpsi_kb.o : ../../Modules/fft_interfaces.o
dvpsi_kb.o : ../../Modules/ions_base.o
dvpsi_kb.o : ../../Modules/kind.o
dvpsi_kb.o : ../../Modules/recvec.o
dvpsi_kb.o : ../../Modules/uspp.o
dvpsi_kb.o : ../../Modules/wavefunctions.o
dvpsi_kb.o : ../../PW/becmod.o
dvpsi_kb.o : ../../PW/pwcom.o
dvpsi_kb.o : cgcom.o
dyndiar.o : ../../Modules/constants.o
dyndiar.o : ../../Modules/io_global.o
dyndiar.o : ../../Modules/kind.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/cell_base.o
dynmatcc.o : ../../Modules/constants.o
dynmatcc.o : ../../Modules/fft_base.o
dynmatcc.o : ../../Modules/fft_interfaces.o
dynmatcc.o : ../../Modules/ions_base.o
dynmatcc.o : ../../Modules/kind.o
dynmatcc.o : ../../Modules/mp.o
dynmatcc.o : ../../Modules/mp_global.o
dynmatcc.o : ../../Modules/recvec.o
dynmatcc.o : ../../Modules/uspp.o
dynmatcc.o : ../../Modules/wavefunctions.o
dynmatcc.o : ../../PW/pwcom.o
dynmatcc.o : ../../PW/scf_mod.o
dynmatcc.o : cgcom.o
generate_dynamical_matrix.o : ../../Modules/kind.o
generate_dynamical_matrix.o : ../../PW/symme.o
generate_effective_charges.o : ../../Modules/kind.o
generate_effective_charges.o : ../../PW/symme.o
h_h.o : ../../Modules/kind.o
h_h.o : ../../Modules/recvec.o
h_h.o : ../../Modules/uspp.o
h_h.o : ../../PW/becmod.o
h_h.o : ../../PW/pwcom.o
h_h.o : ../../PW/scf_mod.o
h_h.o : cgcom.o
macro.o : ../../PW/pwcom.o
macro.o : cgcom.o
phcg.o : ../../Modules/check_stop.o
phcg.o : ../../Modules/constants.o
phcg.o : ../../Modules/control_flags.o
phcg.o : ../../Modules/environment.o
phcg.o : ../../Modules/fft_base.o
phcg.o : ../../Modules/funct.o
phcg.o : ../../Modules/io_files.o
phcg.o : ../../Modules/io_global.o
phcg.o : ../../Modules/ions_base.o
phcg.o : ../../Modules/mp_global.o
phcg.o : ../../PW/noncol.o
phcg.o : ../../PW/pwcom.o
phcg.o : ../../PW/scf_mod.o
phcg.o : ../../PW/symm_base.o
phcg.o : cgcom.o
pw_dot.o : ../../Modules/kind.o
pw_dot.o : ../../Modules/mp.o
pw_dot.o : ../../Modules/mp_global.o
pw_dot.o : ../../Modules/recvec.o
rhod2vkb.o : ../../Modules/cell_base.o
rhod2vkb.o : ../../Modules/constants.o
rhod2vkb.o : ../../Modules/fft_base.o
rhod2vkb.o : ../../Modules/fft_interfaces.o
rhod2vkb.o : ../../Modules/ions_base.o
rhod2vkb.o : ../../Modules/kind.o
rhod2vkb.o : ../../Modules/mp.o
rhod2vkb.o : ../../Modules/mp_global.o
rhod2vkb.o : ../../Modules/recvec.o
rhod2vkb.o : ../../Modules/uspp.o
rhod2vkb.o : ../../Modules/wavefunctions.o
rhod2vkb.o : ../../PW/becmod.o
rhod2vkb.o : ../../PW/pwcom.o
rhod2vkb.o : ../../PW/scf_mod.o
rhod2vkb.o : cgcom.o
solve_e.o : ../../Modules/io_global.o
solve_e.o : ../../Modules/uspp.o
solve_e.o : ../../Modules/wavefunctions.o
solve_e.o : ../../PW/becmod.o
solve_e.o : ../../PW/pwcom.o
solve_e.o : cgcom.o
solve_ph.o : ../../Modules/io_files.o
solve_ph.o : ../../Modules/io_global.o
solve_ph.o : ../../Modules/uspp.o
solve_ph.o : ../../Modules/wavefunctions.o
solve_ph.o : ../../PW/becmod.o
solve_ph.o : ../../PW/pwcom.o
solve_ph.o : cgcom.o
writedyn.o : ../../Modules/constants.o
writedyn.o : ../../Modules/ions_base.o
writedyn.o : ../../Modules/run_info.o
writedyn.o : ../../PW/pwcom.o
writedyn.o : cgcom.o

38
PHonon/Makefile Normal file
View File

@ -0,0 +1,38 @@
# Makefile for PH
# Adapted from TDDFPT main Makefile
default: all
all: phonon phgamma_only third_order
phonon:
if test -d PH ; then \
( cd PH ; if test "$(MAKE)" = "" ; then make $(MFLAGS) all; \
else $(MAKE) $(MFLAGS) all ; fi ) ; fi
phgamma_only:
if test -d Gamma; then \
( cd Gamma ; if test "$(MAKE)" = "" ; then make $(MFLAGS) all; \
else $(MAKE) $(MFLAGS) all ; fi ) ; fi
third_order:
if test -d D3; then \
( cd D3 ; if test "$(MAKE)" = "" ; then make $(MFLAGS) all; \
else $(MAKE) $(MFLAGS) all ; fi ) ; fi
clean: phonon_clean phgamma_only_clean third_order_clean
phonon_clean:
if test -d src ; then \
( cd src ; if test "$(MAKE)" = "" ; then make clean ; \
else $(MAKE) clean ; fi ) ; fi
phgamma_only_clean:
if test -d Gamma ; then \
( cd Gamma ; if test "$(MAKE)" = ""; then make clean; \
else $(MAKE) clean ; fi ) ; fi
third_order_clean:
if test -d D3 ; then \
( cd D3 ; if test "$(MAKE)" = ""; then make clean; \
else $(MAKE) clean ; fi ) ; fi
distclean: clean

View File

@ -200,27 +200,27 @@ all : tldeps libph.a ph.x dynmat.x matdyn.x q2r.x lambda.x fqha.x
ph.x : phonon.o libph.a $(PWOBJS) $(LIBOBJS)
$(LD) $(LDFLAGS) -o ph.x phonon.o libph.a \
$(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../PH/src/ph.x . )
- ( cd ../../bin ; ln -fs ../PHonon/PH/ph.x . )
dynmat.x : dynmat.o rigid.o libph.a $(PWOBJS) $(MODULES) $(LIBOBJS)
$(LD) $(LDFLAGS) -o $@ dynmat.o rigid.o libph.a \
$(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../PH/src/$@ . )
- ( cd ../../bin ; ln -fs ../PHonon/PH/$@ . )
matdyn.x : matdyn.o rigid.o libph.a $(PWOBJS) $(MODULES) $(LIBOBJS)
$(LD) $(LDFLAGS) -o $@ matdyn.o rigid.o libph.a \
$(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../PH/src/$@ . )
- ( cd ../../bin ; ln -fs ../PHonon/PH/$@ . )
q2r.x : q2r.o rigid.o libph.a $(PWOBJS) $(MODULES) $(LIBOBJS)
$(LD) $(LDFLAGS) -o $@ q2r.o rigid.o libph.a \
$(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../PH/src/$@ . )
- ( cd ../../bin ; ln -fs ../PHonon/PH/$@ . )
lambda.x : lambda.o $(PWOBJS) $(QEMODS) $(LIBOBJS)
$(LD) $(LDFLAGS) -o $@ lambda.o \
$(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../PH/src/$@ . )
- ( cd ../../bin ; ln -fs ../PHonon/PH/$@ . )
fqha.o :
$(MPIF90) $(FFLAGS_NOOPT) -c fqha.f90
@ -228,7 +228,7 @@ fqha.o :
fqha.x : fqha.o $(PWOBJS) $(QEMODS) $(LIBOBJS)
$(LD) $(LDFLAGS) -o $@ fqha.o \
$(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBS)
- ( cd ../../bin ; ln -fs ../PH/src/$@ . )
- ( cd ../../bin ; ln -fs ../PHonon/PH/$@ . )
tldeps:
test -n "$(TLDEPS)" && ( cd ../.. ; $(MAKE) $(MFLAGS) $(TLDEPS) || exit 1) || :

Some files were not shown because too many files have changed in this diff Show More