diff --git a/CMakeLists.txt b/CMakeLists.txt index ec405a362..64b9caf9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -575,6 +575,12 @@ add_custom_target(gwl qe_gww_util_grap_exe qe_gww_util_abcoefftoeps_exe qe_gww_util_memorypw4gww_exe + qe_gww_bse_bse_main_exe + qe_gww_gww_exe + qe_gww_gww_fit_exe + qe_gww_head_exe + qe_gww_simple_bse_exe + qe_gww_simple_ip_exe COMMENT "GW with Lanczos chains") diff --git a/CPV/src/make.depend b/CPV/src/make.depend index 72e338bae..bccd2cf62 100644 --- a/CPV/src/make.depend +++ b/CPV/src/make.depend @@ -426,12 +426,15 @@ exx_psi.o : ../../Modules/mp_global.o exx_psi.o : ../../Modules/mp_wave.o exx_psi.o : ../../UtilXlib/mp.o exx_psi.o : ../../UtilXlib/parallel_include.o +exx_vofr.o : ../../FFTXlib/fft_scalar.o exx_vofr.o : ../../Modules/constants.o +exx_vofr.o : ../../Modules/funct.o exx_vofr.o : ../../Modules/io_global.o exx_vofr.o : ../../Modules/kind.o exx_vofr.o : ../../Modules/mp_global.o exx_vofr.o : ../../UtilXlib/parallel_include.o exx_vofr.o : exx_module.o +exx_vofr.o : wannier_base.o forces.o : ../../FFTXlib/fft_helper_subroutines.o forces.o : ../../FFTXlib/fft_interfaces.o forces.o : ../../Modules/cell_base.o @@ -1160,7 +1163,6 @@ wave.o : ../../Modules/random_numbers.o wave.o : ../../Modules/recvec.o wave.o : ../../Modules/wave_base.o wave.o : ../../UtilXlib/mp.o -wave.o : ../../upflib/uspp.o wave.o : electrons.o wave_types.o : ../../Modules/kind.o wf.o : ../../FFTXlib/fft_interfaces.o diff --git a/FFTXlib/CMakeLists.txt b/FFTXlib/CMakeLists.txt index fe4a61111..ab27ad61d 100644 --- a/FFTXlib/CMakeLists.txt +++ b/FFTXlib/CMakeLists.txt @@ -29,7 +29,7 @@ else() message(STATUS "No vendor FFTW found") if(QE_ENABLE_OPENMP) - find_package(FFTW COMPONENTS DOUBLE_OPENMP) + find_package(FFTW COMPONENTS DOUBLE DOUBLE_OPENMP) else() find_package(FFTW COMPONENTS DOUBLE) endif() diff --git a/FFTXlib/make.depend b/FFTXlib/make.depend index 779d75de6..445e64f80 100644 --- a/FFTXlib/make.depend +++ b/FFTXlib/make.depend @@ -75,3 +75,10 @@ scatter_mod.o : fft_types.o stick_base.o : fft_param.o tg_gather.o : fft_param.o tg_gather.o : fft_types.o +fft_stick.o : +fft_stick.o : +fftw.o : +fftw_dp.o : +fftw_dp.o : +fftw_sp.o : +fftw_sp.o : diff --git a/GWW/CMakeLists.txt b/GWW/CMakeLists.txt index 432eb0f1b..44f926c7f 100644 --- a/GWW/CMakeLists.txt +++ b/GWW/CMakeLists.txt @@ -72,6 +72,8 @@ set(sources_pw4gww pw4gww/hpsi_pw4gww.f90 pw4gww/cgsolve_all_gamma.f90 pw4gww/realus.f90 + pw4gww/operator_debug.f90 + pw4gww/operator_1_vp.f90 ) set(sources_bse @@ -88,6 +90,7 @@ set(sources_bse bse/write_wannier_matrix.f90 bse/direct_v_exc.f90 bse/direct_w_exc.f90 + bse/direct_www.f90 bse/exc_h_a.f90 bse/sdescent.f90 bse/check_basis.f90 @@ -108,7 +111,7 @@ set(sources_bse bse/contract_w_exc.f90 bse/qpe_exc.f90 bse/qpcorrections.f90 -) + ) set(sources_head head/bcast_ph_input.f90 @@ -180,7 +183,8 @@ target_link_libraries(qe_gww PRIVATE QE::FFTX QE::UTILX - QE::Modules) + PUBLIC + QE::Modules) qe_add_library(qe_gww_pw4gww ${sources_pw4gww}) add_library(QE::GWW::pw4gww ALIAS qe_gww_pw4gww) @@ -195,10 +199,10 @@ target_link_libraries(qe_gww_pw4gww qe_add_library(qe_gww_bse ${sources_bse}) add_library(QE::GWW::bse ALIAS qe_gww_bse) target_link_libraries(qe_gww_bse - PRIVATE - QE::PW + PUBLIC QE::Modules QE::GWW + QE::PW QE::GWW::pw4gww ) @@ -238,7 +242,9 @@ add_library(QE::GWW::simple_ip ALIAS qe_gww_simpleip) target_link_libraries(qe_gww_simpleip PRIVATE QE::UTILX - QE::Modules) + QE::Modules + QE::PW +) ########################################################### # graph.x @@ -261,6 +267,76 @@ set(sources util/memory_pw4gww.f90) qe_add_executable(qe_gww_util_memorypw4gww_exe ${sources}) set_target_properties(qe_gww_util_memorypw4gww_exe PROPERTIES OUTPUT_NAME memory_pw4gww.x) +############################################################# +#bse_main.x +############################################################ +set(sources bse/bse_main.f90) +qe_add_executable(qe_gww_bse_bse_main_exe ${sources}) +set_target_properties(qe_gww_bse_bse_main_exe PROPERTIES OUTPUT_NAME bse_main.x) +target_link_libraries(qe_gww_bse_bse_main_exe + PRIVATE + QE::GWW::bse ) +################################################################ +#gww.x +################################################################ +set (sources gww/gww.f90) +qe_add_executable(qe_gww_gww_exe ${sources}) +set_target_properties(qe_gww_gww_exe PROPERTIES OUTPUT_NAME gww.x) +target_link_libraries(qe_gww_gww_exe + PRIVATE + QE::GWW + QE::GWW::minpack + QE::PW + ) + +################################################################ +#gww_fit.x +################################################################ +set (sources gww/gww_fit.f90) +qe_add_executable(qe_gww_gww_fit_exe ${sources}) +set_target_properties(qe_gww_gww_fit_exe PROPERTIES OUTPUT_NAME gww.x) +target_link_libraries(qe_gww_gww_fit_exe + PRIVATE + QE::GWW + QE::GWW::minpack + ) + +################################################################ +#head.x +################################################################ +set (sources head/head.f90) +qe_add_executable(qe_gww_head_exe ${sources}) +set_target_properties(qe_gww_head_exe PROPERTIES OUTPUT_NAME head.x) +target_link_libraries(qe_gww_head_exe + PRIVATE + QE::GWW::head + QE::GWW::minpack + QE::PHonon::PH + QE::Modules + ) + +########################################################### +#simple_bse.x +########################################################### +set (sources simple_bse/simple_bse.f90) +qe_add_executable(qe_gww_simple_bse_exe ${sources}) +set_target_properties(qe_gww_simple_bse_exe PROPERTIES OUTPUT_NAME simple_bse.x) +target_link_libraries(qe_gww_simple_bse_exe + PRIVATE + QE::GWW::simple_bse +) + +############################################################### +#simple_ip.x +################################################################ +set (sources simple_ip/simple_ip.f90) +qe_add_executable(qe_gww_simple_ip_exe ${sources}) +set_target_properties(qe_gww_simple_ip_exe PROPERTIES OUTPUT_NAME simple_ip.x) +target_link_libraries(qe_gww_simple_ip_exe + PRIVATE + QE::GWW::simple_ip +) + ########################################################### qe_install_targets( @@ -277,4 +353,10 @@ qe_install_targets( qe_gww_util_grap_exe qe_gww_util_abcoefftoeps_exe qe_gww_util_memorypw4gww_exe + qe_gww_bse_bse_main_exe + qe_gww_gww_exe + qe_gww_gww_fit_exe + qe_gww_head_exe + qe_gww_simple_bse_exe + qe_gww_simple_ip_exe ) diff --git a/GWW/gww/gww.f90 b/GWW/gww/gww.f90 index b9dfc1a1e..16494eace 100644 --- a/GWW/gww/gww.f90 +++ b/GWW/gww/gww.f90 @@ -44,7 +44,7 @@ REAL(kind=DP) :: energy #if defined(_OPENMP) - INTEGER :: omp_get_num_threads, omp_get_max_threads + INTEGER :: omp_get_num_threads, omp_get_max_threads, ntids EXTERNAL omp_set_num_threads, omp_get_num_threads, omp_get_max_threads #endif diff --git a/GWW/pw4gww/make.depend b/GWW/pw4gww/make.depend index 51915d25b..1dbb7ec48 100644 --- a/GWW/pw4gww/make.depend +++ b/GWW/pw4gww/make.depend @@ -117,8 +117,7 @@ fake_conduction.o : ../../UtilXlib/mp.o fake_conduction.o : ../../upflib/uspp.o fake_conduction.o : fft_custom.o fake_conduction.o : mp_wave_parallel.o -fft_custom.o : ../../FFTXlib/fft_parallel.o -fft_custom.o : ../../FFTXlib/fft_scalar.o +fft_custom.o : ../../FFTXlib/fft_interfaces.o fft_custom.o : ../../FFTXlib/fft_support.o fft_custom.o : ../../FFTXlib/fft_types.o fft_custom.o : ../../FFTXlib/stick_base.o