control_lr and several other missing modules for EPW-4

This section is dedicated to compilation problems

Moderator: stiwari

Post Reply
Vahid
Posts: 101
Joined: Fri Apr 08, 2016 11:02 pm
Affiliation:

control_lr and several other missing modules for EPW-4

Post by Vahid »

Hello,

Following my earlier 2 posts, I realized that I should compile espresso before issuing "make" in the EPW folder. However, I get several errors with espresso-5.2.0 and 5.3.0 as follows:

(cd src ; make )
make[1]: Entering directory `/global/home/vahid/bin/PWSCF+EPW/espresso-5.2.0/EPW/src'
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c io_epw.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c elph2.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c epwcom.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c epw.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c constants_epw.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c a2f.f90
mpif90 -O2 -assume byterecl -g -traceback -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c allocate_epwq.f90
allocate_epwq.f90(29): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [CONTROL_LR]
USE control_lr, ONLY : lgamma
------^
allocate_epwq.f90(36): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [LR_SYMM_BASE]
USE lr_symm_base, ONLY : rtau
------^
allocate_epwq.f90(38): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [LRUS]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
------^
allocate_epwq.f90(59): error #6404: This name does not have a type, and must have an explicit type. [LGAMMA]
IF (lgamma) THEN
------^
allocate_epwq.f90(59): error #6341: A logical data type is required in this context. [LGAMMA]
IF (lgamma) THEN
------^
allocate_epwq.f90(83): error #6404: This name does not have a type, and must have an explicit type. [RTAU]
ALLOCATE (rtau ( 3, 48, nat))
------------^
allocate_epwq.f90(95): error #6404: This name does not have a type, and must have an explicit type. [INT3]
ALLOCATE (int3 ( nhm, nhm, npertx, nat, nspin))
---------------^
allocate_epwq.f90(98): error #6404: This name does not have a type, and must have an explicit type. [DPQQ]
ALLOCATE (dpqq( nhm, nhm, 3, ntyp))
---------------^
allocate_epwq.f90(101): error #6404: This name does not have a type, and must have an explicit type. [INT3_NC]
ALLOCATE(int3_nc( nhm, nhm, npertx, nat, nspin))
-----------------^
allocate_epwq.f90(108): error #6404: This name does not have a type, and must have an explicit type. [DPQQ_SO]
ALLOCATE(dpqq_so( nhm, nhm, nspin, 3, ntyp))
--------------------^
allocate_epwq.f90(118): error #6404: This name does not have a type, and must have an explicit type. [BECP1]
ALLOCATE (becp1(nks))
------------^
allocate_epwq.f90(29): error #6580: Name in only-list does not exist. [LGAMMA]
USE control_lr, ONLY : lgamma
---------------------------^
allocate_epwq.f90(36): error #6580: Name in only-list does not exist. [RTAU]
USE lr_symm_base, ONLY : rtau
---------------------------^
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [BECP1]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
---------------------------^
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [INT3]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
----------------------------------^
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [INT3_NC]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
----------------------------------------^
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [DPQQ]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
-------------------------------------------------^
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [DPQQ_SO]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
-------------------------------------------------------^
compilation aborted for allocate_epwq.f90 (code 1)
make[1]: *** [allocate_epwq.o] Error 1
make[1]: Leaving directory `/global/home/vahid/bin/PWSCF+EPW/espresso-5.2.0/EPW/src'
make: *** [epw] Error 2

My understanding is that these missing modules should be part of espresso but they are not. Or am I missing something here?

Any help will be greatly appreciated.

Vahid

Vahid
Posts: 101
Joined: Fri Apr 08, 2016 11:02 pm
Affiliation:

Re: control_lr and several other missing modules for EPW-4

Post by Vahid »

Hello again,

I have tried to install the espresso-r12078.tar.gz (from the EPW website) on Linux with intel and openmpi modules. It configures fine but when it compiles, it crashes near the end with the following message related to the TDDFPT section:

mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../FFTXlib -I . -I../../PW/src -I../../PHonon/PH -c lr_charg_resp.f90
lr_charg_resp.f90(136): error #6580: Name in only-list does not exist. [NBND_OCC]
USE control_ph, ONLY : nbnd_occ
------------------------------^
lr_charg_resp.f90(143): error #6404: This name does not have a type, and must have an explicit type. [NBND_OCC]
IF(nbnd_total > nbnd_occ(1)) THEN
--------------------^
compilation aborted for lr_charg_resp.f90 (code 1)
make[3]: *** [lr_charg_resp.o] Error 1
make[3]: Leaving directory `/global/home/vahid/bin/PWSCF+EPW/espresso/TDDFPT/src'
make[2]: *** [tddfpt] Error 1
make[2]: Leaving directory `/global/home/vahid/bin/PWSCF+EPW/espresso/TDDFPT'
make[1]: *** [tddfpt] Error 1
make[1]: Leaving directory `/global/home/vahid/bin/PWSCF+EPW/espresso/install'
make: *** [tddfpt] Error 1

I have no problem compiling espresso-5.3.0 or 5.2.0. Does anyone know how to get rid of this error?

Thanks,
Vahid

carla.verdi
Posts: 155
Joined: Thu Jan 14, 2016 10:52 am
Affiliation:

Re: control_lr and several other missing modules for EPW-4

Post by carla.verdi »

Hi Vahid,

Please note that in order to compile EPW you don't need to compile all QE: you can type just make pw and make ph. The TDDFPT package is an extra independent package within QE. Also, for general issues regarding compiling QE you can refer to the general forum: http://www.quantum-espresso.org/forum/

Best
Carla

Vahid
Posts: 101
Joined: Fri Apr 08, 2016 11:02 pm
Affiliation:

Re: control_lr and several other missing modules for EPW-4

Post by Vahid »

Hi Carla,

Thank you so much for the clarification. I was operating under the assumption that all of pwscf needs to be compiled because on the installation section of the EPW website it states that

"4. Compile EPW from within the EPW directory (this will also compile pwscf, phonon, and wannier90)"

Best wishes,
Vahid

sponce
Site Admin
Posts: 616
Joined: Wed Jan 13, 2016 7:25 pm
Affiliation: EPFL

Re: control_lr and several other missing modules for EPW-4

Post by sponce »

Dear Vahid,

The information is correct. You need pw, ph and w90. You also need the modules and library they rely on. You do not need TDDFPT.

I recommend:

Code: Select all

./configure
make pwall
make ph


and then make epw.

Best,

Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com

Vahid
Posts: 101
Joined: Fri Apr 08, 2016 11:02 pm
Affiliation:

Re: control_lr and several other missing modules for EPW-4

Post by Vahid »

Dear Samuel,

I followed your suggestions. pwall and ph were make successfully. Then from the EPW folder, which is inside the espresso folder, I typed 'make'. I get the following:

(cd src ; make )
make[1]: Entering directory `/global/home/vahid/bin/PWSCF+EPW/espresso/EPW/src'
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c io_epw.f90
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c elph2.f90
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c epwcom.f90
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c epw.f90
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c constants_epw.f90
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c a2f.f90
mpif90 -O2 -assume byterecl -g -traceback -par-report0 -vec-report0 -nomodule -fpp -D__INTEL -D__FFTW -D__MPI -D__PARA -D__SCALAPACK -I../../include -I../../iotk/src -I../../Modules -I../../LAXlib -I../../iotk/src -I../../FFTXlib -I../../PW/src -I../../LR_Modules -I../../PHonon/PH -I../../PP/src -I. -c allocate_epwq.f90
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [DPQQ]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
-------------------------------------------------^
allocate_epwq.f90(38): error #6580: Name in only-list does not exist. [DPQQ_SO]
USE lrus, ONLY : becp1, int3, int3_nc, dpqq, dpqq_so
-------------------------------------------------------^
allocate_epwq.f90(98): error #6404: This name does not have a type, and must have an explicit type. [DPQQ]
ALLOCATE (dpqq( nhm, nhm, 3, ntyp))
---------------^
allocate_epwq.f90(108): error #6404: This name does not have a type, and must have an explicit type. [DPQQ_SO]
ALLOCATE(dpqq_so( nhm, nhm, nspin, 3, ntyp))
--------------------^
compilation aborted for allocate_epwq.f90 (code 1)
make[1]: *** [allocate_epwq.o] Error 1
make[1]: Leaving directory `/global/home/vahid/bin/PWSCF+EPW/espresso/EPW/src'
make: *** [epw] Error 2

I posted this error here because I am not sure if it is specific to EPW or espresso related. Interestingly, DPQQ does have a type as seen in the following folder:

PW/src/compute_qdipol.f90: REAL(DP) :: dpqq( nhm, nhm, 3, ntyp)

Thanks,
Vahid

dlnguyen
Posts: 3
Joined: Fri Apr 08, 2016 7:49 am
Affiliation:

Re: control_lr and several other missing modules for EPW-4

Post by dlnguyen »

Dear Vahid,

I would like to add some more words to the recent replies from Dr Verdi and Dr Ponc that may help you.
I attempted to install EPW4 and experienced the same error that you posted at the starting of this topic.
The problem seems occur due to the 2 files : allocate_epwq.f90 and deallocate_epw.f90
Please note that the official solution is : wait for the next release of EPW that will come within QuantumESPRESSO next version by the end of April (details in http://www.quantum-espresso.org/road-map/).
This is the temporary solution that I tried:
+ obtain the latest QE version that we can access from EPW website:

Code: Select all

http://epw.org.uk/Main/DownloadAndInstall?action=downloadman&upname=espresso-r12078.tar.gz

tar xvf espresso-r12078.tar.gz && cd espresso
./configure
make pwall
make ph
+ obtain the latest EPW from svn that works with this QE version (probably 5.3.0)

Code: Select all

svn checkout http://qeforge.qe-forge.org/svn/epw/branches/sponce/EPW

+ edit EPW/src/allocate_epwq.f90 file content to this

Code: Select all

  !                                                                        
  ! Copyright (C) 2010-2016 Samuel Ponce', Roxana Margine, Carla Verdi, Feliciano Giustino     
  ! Copyright (C) 2007-2009 Jesse Noffsinger, Brad Malone, Feliciano Giustino 
  !                                                                       
  ! 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 .             
  !                                                                           
  ! Code adapted from PH/allocate_phq - Quantum-ESPRESSO group
  ! 09/2009 There is a lot of excess in this file. 
  !
  !-----------------------------------------------------------------------
  subroutine allocate_epwq
  !-----------------------------------------------------------------------
  !
  ! dynamical allocation of arrays: quantities needed for the linear
  ! response problem
  !
  ! RM - Nov/Dec 2014
  ! Imported the noncolinear case implemented by xlzhang
  !
#include "f_defs.h"
  !
  USE ions_base,    ONLY : nat, ntyp => nsp
  USE pwcom,        ONLY : igk, npwx, nbnd, ngm, nspin, nks
  USE noncollin_module, ONLY : noncolin, npol
  USE wavefunctions_module,  ONLY: evc
  USE spin_orb,     ONLY : lspinorb
  USE control_lr,   ONLY : lgamma
  USE phcom,        ONLY : evq, dvpsi, dpsi, vlocq,&
                           dmuxc, w2, dyn00, t, tmq,&
                           npertx
  USE phus,         ONLY : int1, int1_nc, int2, int2_so, &
                           int4, int4_nc, int5, int5_so, becsum_nc, &
                           alphasum, alphasum_nc, dpqq, dpqq_so, &
                           alphap
  USE lr_symm_base, ONLY : rtau               
  USE qpoint,       ONLY : igkq, eigqts
  USE lrus,         ONLY : becp1, int3, int3_nc               
  USE elph2,        ONLY : elph, el_ph_mat
  USE becmod,       ONLY : becp, allocate_bec_type
  USE uspp_param,   ONLY : nhm
  USE uspp,         ONLY : okvan, nkb
! SP creation of ffts
  USE units_ph,     ONLY : this_dvkb3_is_on_file, this_pcxpsi_is_on_file
  USE modes,        ONLY : u, npert, name_rap_mode, num_rap_mode
  USE fft_base,     ONLY : dffts
  USE klist,        ONLY : nks

  implicit none
  ! SP: Had to add these allocations becaue they are now private in QE 5.0.
  !     See private 'becp_nc' variable from espresso/Modules/becmod.f90.
  INTEGER :: ik, ipol
!  COMPLEX(DP), ALLOCATABLE ::  &
!       becp_nc(:,:,:)   !  <beta|psi> for real (at Gamma) wavefunctions for spinors

  !
  !  allocate space for the quantities needed in EPW
  !
  IF (lgamma) THEN
     !
     !  q=0  : evq and igkq are pointers to evc and igk
     !
     evq  => evc
     igkq => igk
  ELSE
     !
     !  q!=0 : evq, igkq are ALLOCATEd and calculated at point k+q
     !
     ALLOCATE (evq ( npwx*npol, nbnd))   
     ALLOCATE (igkq ( npwx ))   
  ENDIF
  !
  ALLOCATE (dvpsi ( npwx*npol, nbnd))   
  ALLOCATE ( dpsi ( npwx*npol, nbnd))   
  !
  ALLOCATE (vlocq ( ngm, ntyp))   
! SP: nrxx is not used in QE 5 ==> tg_nnr is the maximum among nnr
!     This SHOULD have the same dim as nrxx had.
!  ALLOCATE (dmuxc ( nrxx, nspin, nspin))   
  ALLOCATE (dmuxc ( dffts%tg_nnr, nspin, nspin))   
  !
  ALLOCATE (eigqts ( nat))   
  ALLOCATE (rtau ( 3, 48, nat))   
  ALLOCATE (u ( 3 * nat, 3 * nat))   
  ALLOCATE (w2 ( 3 * nat))   
  ALLOCATE (dyn00 ( 3 * nat, 3 * nat))
  ALLOCATE (t (npertx, npertx, 48,3 * nat))   
  ALLOCATE (tmq (npertx, npertx, 3 * nat))   
  allocate (name_rap_mode( 3 * nat))
  allocate (num_rap_mode( 3 * nat ))
  ALLOCATE (npert ( 3 * nat))   
  IF (okvan) THEN
     ALLOCATE (int1 ( nhm, nhm, 3, nat, nspin))   
     ALLOCATE (int2 ( nhm, nhm, 3, nat, nat))   
     ALLOCATE (int3 ( nhm, nhm, npertx, nat, nspin))   
     ALLOCATE (int4 ( nhm * (nhm + 1)/2, 3, 3, nat, nspin))   
     ALLOCATE (int5 ( nhm * (nhm + 1)/2, 3, 3, nat , nat))   
     ALLOCATE (dpqq( nhm, nhm, 3, ntyp))   
     IF (noncolin) THEN
        ALLOCATE(int1_nc( nhm, nhm, 3, nat, nspin))
        ALLOCATE(int3_nc( nhm, nhm, npertx, nat, nspin))
        ALLOCATE(int4_nc( nhm, nhm, 3, 3, nat, nspin))
        ALLOCATE(becsum_nc( nhm*(nhm+1)/2, nat, npol, npol))
        ALLOCATE(alphasum_nc( nhm*(nhm+1)/2, 3, nat, npol, npol))
        IF (lspinorb) THEN
           ALLOCATE(int2_so( nhm, nhm, 3, nat, nat, nspin))
           ALLOCATE(int5_so( nhm, nhm, 3, 3, nat, nat, nspin))
           ALLOCATE(dpqq_so( nhm, nhm, nspin, 3, ntyp))
        END IF
     END IF
     ALLOCATE (alphasum ( nhm * (nhm + 1)/2, 3, nat , nspin))   
     ALLOCATE (this_dvkb3_is_on_file(nks))   
     this_dvkb3_is_on_file(:)=.false.
  ENDIF
  ALLOCATE (this_pcxpsi_is_on_file(nks,3))
  this_pcxpsi_is_on_file(:,:)=.false.
! SP : from new PHonon/PH/allocate_phq.f90
  ALLOCATE (becp1(nks))
  ALLOCATE (alphap(3,nks))
  DO ik=1,nks
     call allocate_bec_type ( nkb, nbnd, becp1(ik) )
     DO ipol=1,3
        call allocate_bec_type ( nkb, nbnd, alphap(ipol,ik) )
     ENDDO
  END DO
  CALL allocate_bec_type ( nkb, nbnd, becp )

  IF (elph) ALLOCATE (el_ph_mat( nbnd, nbnd, nks, 3*nat))   
END SUBROUTINE allocate_epwq



+ And the EPW/src/deallocate_epw.f90 to this

Code: Select all

  !                                                                            
  ! Copyright (C) 2010-2016 Samuel Ponce', Roxana Margine, Carla Verdi, Feliciano Giustino
  ! Copyright (C) 2007-2009 Jesse Noffsinger, Brad Malone, Feliciano Giustino 
  !                                                                       
  ! 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 .             
  !                                                                           
  ! Code adapted from PH/deallocate_phq - Quantum-ESPRESSO group
  !
  !----------------------------------------------------------------------
  SUBROUTINE deallocate_epw
  !----------------------------------------------------------------------
  !
  !  deallocates the variables allocated by allocate_epw
  !  this routine is unchanged as of 3/9/09 and should be cleaned and fixed
  !  09/2009 Cleanup still necessary
  !  12/2009 Added variables from elph.f90
  !
  ! RM - Nov/Dec 2014
  ! Imported the noncolinear case implemented by xlzhang
  !
  !----------------------------------------------------------------------
  USE phcom,             ONLY : alphap, alphasum, alphasum_nc, &
                                becsum_nc, dmuxc, dpqq, dpqq_so, dpsi,&
                                drc, dpsi, dyn, dyn00, evq, w2, dvpsi,&
                                int5, vlocq, int2_so, int5_so
  USE gc_lr,             ONLY : grho, dvxc_rr, dvxc_s, dvxc_ss, dvxc_sr
  USE lrus,              ONLY : becp1, int3, int3_nc
  USE phus,              ONLY : int1, int1_nc, int2, int4, int4_nc
  USE lr_symm_base,      ONLY : rtau
  USE noncollin_module,  ONLY : m_loc
  USE control_lr,        ONLY : lgamma
  USE becmod,            ONLY : becp, deallocate_bec_type
  USE elph2,             ONLY : el_ph_mat, epf17, epsi, etf,&
                                etq, et_all, wf, wkf, wqf, wslen,&
                                xkq, xk_all, zstar, xkf, xqf, epmatwp
  USE modes,             ONLY : tmq, t, npert, u, name_rap_mode, num_rap_mode
  USE qpoint,            ONLY : eigqts, igkq
  USE klist,             ONLY : nks
  !
  IMPLICIT NONE
  INTEGER :: ik, ipol
  !
  IF (lgamma) THEN
     IF(ASSOCIATED(evq)) NULLIFY(evq)
     IF(ASSOCIATED(igkq)) NULLIFY(igkq)
  ELSE
     IF(ASSOCIATED(evq)) DEALLOCATE(evq)
     IF(ASSOCIATED(igkq)) DEALLOCATE(igkq)
  END IF
  !
  IF(ALLOCATED(dvpsi)) DEALLOCATE (dvpsi)   
  IF(ALLOCATED(dpsi)) DEALLOCATE ( dpsi)   
  !
  IF(ALLOCATED(vlocq)) DEALLOCATE (vlocq)
  IF(ALLOCATED(dmuxc)) DEALLOCATE (dmuxc)
  !
  IF(ALLOCATED(eigqts)) DEALLOCATE (eigqts)
  IF(ALLOCATED(rtau)) DEALLOCATE (rtau)
  IF(ASSOCIATED(u)) DEALLOCATE (u)
  if(allocated(name_rap_mode)) deallocate (name_rap_mode)
  if(allocated(num_rap_mode)) deallocate (num_rap_mode)
  IF(ALLOCATED(dyn)) DEALLOCATE (dyn)
  IF(ALLOCATED(dyn00)) DEALLOCATE (dyn00)
  IF(ALLOCATED(w2)) DEALLOCATE (w2)
  IF(ASSOCIATED(t)) DEALLOCATE (t)
  IF(ASSOCIATED(tmq)) DEALLOCATE (tmq)
  IF(ALLOCATED(epsi)) DEALLOCATE (epsi)
  IF(ALLOCATED(zstar)) DEALLOCATE (zstar)
  !
  IF(ALLOCATED(npert)) DEALLOCATE (npert)   
  !
  IF(ALLOCATED(int1)) DEALLOCATE (int1)   
  IF(ALLOCATED(int2)) DEALLOCATE (int2)
  IF(ALLOCATED(int3)) DEALLOCATE (int3)
  IF(ALLOCATED(int4)) DEALLOCATE (int4)
  IF(ALLOCATED(int5)) DEALLOCATE (int5)
  IF(ALLOCATED(dpqq)) DEALLOCATE (dpqq)
  IF(ALLOCATED(int1_nc)) DEALLOCATE(int1_nc)
  IF(ALLOCATED(int3_nc)) DEALLOCATE(int3_nc)
  IF(ALLOCATED(int4_nc)) DEALLOCATE(int4_nc)
  IF(ALLOCATED(becsum_nc)) DEALLOCATE(becsum_nc)
  IF(ALLOCATED(alphasum_nc)) DEALLOCATE(alphasum_nc)
  IF(ALLOCATED(int2_so)) DEALLOCATE(int2_so)
  IF(ALLOCATED(int5_so)) DEALLOCATE(int5_so)
  IF(ALLOCATED(dpqq_so)) DEALLOCATE(dpqq_so)
  !
  !
  IF(ALLOCATED(alphasum)) DEALLOCATE (alphasum)
  ! RM - code crashed when the 2 lines are not commented out
!  IF(ALLOCATED(this_dvkb3_is_on_file)) DEALLOCATE (this_dvkb3_is_on_file)
!  IF(ALLOCATED(this_pcxpsi_is_on_file)) DEALLOCATE (this_pcxpsi_is_on_file)

  if(allocated(alphap)) then
     do ik=1,nks
        do ipol=1,3
           call deallocate_bec_type ( alphap(ipol,ik) )
        enddo
     end do
     deallocate (alphap)
  endif
  if(allocated(becp1))  then
     do ik=1,size(becp1)
        call deallocate_bec_type ( becp1(ik) )
     end do
     deallocate(becp1)
  end if
  call deallocate_bec_type ( becp )
starting
  IF(ALLOCATED(m_loc))     DEALLOCATE(m_loc)
  !
  IF(ALLOCATED(drc)) DEALLOCATE(drc)
  !
  IF(ALLOCATED(dvxc_rr)) DEALLOCATE (dvxc_rr)   
  IF(ALLOCATED(dvxc_sr)) DEALLOCATE (dvxc_sr)   
  IF(ALLOCATED(dvxc_ss)) DEALLOCATE (dvxc_ss)   
  IF(ALLOCATED(dvxc_s)) DEALLOCATE (dvxc_s)   
  IF(ALLOCATED(grho)) DEALLOCATE (grho) 
  !
  !  EPW variables
  !
  IF(ALLOCATED(el_ph_mat)) DEALLOCATE (el_ph_mat)   
  IF(ALLOCATED(epmatwp))   DEALLOCATE (epmatwp)
  IF(ALLOCATED(epf17))     DEALLOCATE (epf17)   
  IF(ALLOCATED(etq))       DEALLOCATE (etq)   
  IF(ALLOCATED(etf))       DEALLOCATE (etf)   
  IF(ALLOCATED(wf))        DEALLOCATE (wf)   
  IF(ALLOCATED(xkq))       DEALLOCATE (xkq)   
  IF(ALLOCATED(xkf))       DEALLOCATE (xkf)   
  IF(ALLOCATED(wkf))       DEALLOCATE (wkf)   
  IF(ALLOCATED(xqf))       DEALLOCATE (xqf)   
  IF(ALLOCATED(wqf))       DEALLOCATE (wqf)   
  IF(ALLOCATED(xk_all))    DEALLOCATE (xk_all)   
  IF(ALLOCATED(et_all))    DEALLOCATE (et_all)   
  IF(ALLOCATED(wslen))     DEALLOCATE (wslen)   
  !
  END SUBROUTINE deallocate_epw



+ then
cd espresso/EPW/src && make

That was what I tried and successfully compiled EPW.

Code: Select all

     Program EPW v.4.0.0 starts on 11Apr2016 at 23:29:10 

     This program is part of the open-source Quantum ESPRESSO suite
     for quantum simulation of materials; please cite
         "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
          URL http://www.quantum-espresso.org",
     in publications or presentations arising from this work. More details at
     http://www.quantum-espresso.org/quote

     Parallel version (MPI), running on     2 processors
     R & G space division:  proc/nbgrp/npool/nimage =       2


HTH,
Duc-Long
Graduate Student, Molecular Science and Technology Program, TIGP
Institute of Atomic and Molecular Sciences,
Academia Sinica, Taipei 106, Taiwan
Phone +886 979279073
Last edited by dlnguyen on Tue Apr 12, 2016 1:23 am, edited 1 time in total.

Vahid
Posts: 101
Joined: Fri Apr 08, 2016 11:02 pm
Affiliation:

Re: control_lr and several other missing modules for EPW-4

Post by Vahid »

Dear Duc-Long,

The changes worked but I had to remove the following line from the deallocate_epw.f90 which says "starting". Now I have epw.x.

I am very grateful for your input.

Best wishes and good luck with your research.

Vahid

Post Reply