! This file is copied and modified from QUANTUM ESPRESSO ! Kun Cao, Henry Lambert, Feliciano Giustino ! ! Copyright (C) 2001-2008 Quantum ESPRESSO 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 bcast_ph_input ( ) !----------------------------------------------------------------------- ! ! In this routine the first processor sends the phonon input to all ! the other processors ! ! #ifdef __MPI use mp, only: mp_bcast USE mp_global, only : intra_image_comm USE control_ph, ONLY : start_irr, last_irr, start_q, last_q, nmix_ph, & niter_ph, lnoloc, alpha_mix, tr2_ph, lrpa, recover, & ldisp, reduce_io, zue, zeu, epsil, trans, & lgamma, ldiag, lqdir, search_sym, electron_phonon,& do_elec, dbext, dvext, transverse, symoff, qpoints,& man_kpoints, thresh_CG USE gamma_gamma, ONLY : asr ! USE qpoint, ONLY: dbext USE disp, ONLY : nq1, nq2, nq3, kpoints, xk_kpoints USE partial, ONLY : nat_todo USE freq_ph, ONLY : fpol USE output, ONLY : fildvscf, fildyn, fildrho use io_files, ONLY : tmp_dir, prefix USE control_flags, only: iverbosity, modenum USE input_parameters, ONLY: max_seconds USE input_parameters, ONLY : nk1, nk2, nk3, k1, k2, k3 USE ions_base, ONLY : amass USE io_global, ONLY : ionode_id USE run_info, ONLY : title USE dfile_star, ONLY : drho_star, dvscf_star USE opt_tetra_mod, ONLY : tetra_type implicit none ! ! logicals ! call mp_bcast (trans, ionode_id ) call mp_bcast (zue, ionode_id ) call mp_bcast (zeu, ionode_id ) call mp_bcast (reduce_io, ionode_id ) call mp_bcast (ldisp, ionode_id ) call mp_bcast (fpol, ionode_id ) call mp_bcast (recover, ionode_id ) call mp_bcast (asr, ionode_id ) call mp_bcast (lrpa, ionode_id ) call mp_bcast (lnoloc, ionode_id ) call mp_bcast (ldiag, ionode_id ) call mp_bcast (lqdir, ionode_id ) call mp_bcast (search_sym, ionode_id) call mp_bcast (lgamma, ionode_id ) call mp_bcast (do_elec, ionode_id) call mp_bcast (transverse, ionode_id) call mp_bcast (symoff, ionode_id) !mag stuff call mp_bcast(qpoints, ionode_id) call mp_bcast(man_kpoints, ionode_id) ! ! integers ! call mp_bcast (start_irr, ionode_id ) call mp_bcast (last_irr, ionode_id ) call mp_bcast (start_q, ionode_id ) call mp_bcast (last_q, ionode_id ) call mp_bcast (niter_ph, ionode_id ) call mp_bcast (nmix_ph, ionode_id ) call mp_bcast (iverbosity, ionode_id ) call mp_bcast (modenum, ionode_id ) call mp_bcast (nat_todo, ionode_id ) CALL mp_bcast( nq1, ionode_id ) CALL mp_bcast( nq2, ionode_id ) CALL mp_bcast( nq3, ionode_id ) CALL mp_bcast( nk1, ionode_id ) CALL mp_bcast( nk2, ionode_id ) CALL mp_bcast( nk3, ionode_id ) CALL mp_bcast( k1, ionode_id ) CALL mp_bcast( k2, ionode_id ) CALL mp_bcast( k3, ionode_id ) CALL mp_bcast( tetra_type, ionode_id ) ! ! real*8 ! call mp_bcast (tr2_ph, ionode_id ) call mp_bcast (amass, ionode_id ) call mp_bcast (alpha_mix, ionode_id ) call mp_bcast (max_seconds, ionode_id ) ! call mp_bcast (dbext, ionode_id ) call mp_bcast (dvext, ionode_id ) call mp_bcast (thresh_CG, ionode_id ) ! ! characters ! call mp_bcast (title, ionode_id ) call mp_bcast (fildyn, ionode_id ) call mp_bcast (fildvscf, ionode_id ) call mp_bcast (fildrho, ionode_id ) call mp_bcast (tmp_dir, ionode_id ) call mp_bcast (prefix, ionode_id ) ! ! derived type (one bit at a time) ! call mp_bcast (drho_star%open, ionode_id) call mp_bcast (drho_star%pat, ionode_id) call mp_bcast (drho_star%dir, ionode_id) call mp_bcast (drho_star%ext, ionode_id) call mp_bcast (drho_star%basis, ionode_id) ! call mp_bcast (dvscf_star%open, ionode_id) call mp_bcast (dvscf_star%pat, ionode_id) call mp_bcast (dvscf_star%dir, ionode_id) call mp_bcast (dvscf_star%ext, ionode_id) call mp_bcast (dvscf_star%basis, ionode_id) #endif return end subroutine bcast_ph_input