Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion source/Makefile.Objects
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,12 @@ OBJS_XC=xc_functional.o\
xc_functional_gradcorr.o\
xc_functional_wrapper_xc.o\
xc_functional_wrapper_gcxc.o\
xc_functional_wrapper_tauxc.o\
xc_functional_libxc.o\
xc_functional_libxc_tools.o\
xc_functional_libxc_vxc.o\
xc_functional_libxc_wrapper_xc.o\
xc_functional_libxc_wrapper_gcxc.o\
xc_functional_libxc_wrapper_tauxc.o\
xc_funct_exch_lda.o\
xc_funct_corr_lda.o\
xc_funct_exch_gga.o\
Expand Down
1 change: 0 additions & 1 deletion source/module_base/global_variable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ namespace GlobalV
int NBANDS = 0;
int NLOCAL = 0; // total number of local basis.

int NSPIN = 1; // LDA
double nupdown = 0.0;

bool use_uspp = false;
Expand Down
2 changes: 0 additions & 2 deletions source/module_base/global_variable.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ namespace GlobalV
extern int NBANDS;
extern int NLOCAL; // 1.1 // mohan add 2009-05-29


extern int NSPIN; // 7
extern double nupdown;
extern bool use_uspp;

Expand Down
6 changes: 5 additions & 1 deletion source/module_elecstate/potentials/pot_xc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
#include "module_base/timer.h"
#include "module_hamilt_pw/hamilt_pwdft/global.h"

#ifdef USE_LIBXC
#include "module_hamilt_general/module_xc/xc_functional_libxc.h"
#endif

namespace elecstate
{

Expand All @@ -20,7 +24,7 @@ void PotXC::cal_v_eff(const Charge*const chg, const UnitCell*const ucell, Module
{
#ifdef USE_LIBXC
const std::tuple<double, double, ModuleBase::matrix, ModuleBase::matrix> etxc_vtxc_v
= XC_Functional::v_xc_meta(nrxx_current, ucell->omega, ucell->tpiba, chg);
= XC_Functional_Libxc::v_xc_meta(XC_Functional::get_func_id(), nrxx_current, ucell->omega, ucell->tpiba, chg);
*(this->etxc_) = std::get<0>(etxc_vtxc_v);
*(this->vtxc_) = std::get<1>(etxc_vtxc_v);
v_eff += std::get<2>(etxc_vtxc_v);
Expand Down
12 changes: 10 additions & 2 deletions source/module_hamilt_general/module_surchem/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ AddTest(
SOURCES cal_vcav_test.cpp ../cal_vcav.cpp ../surchem.cpp ../../../module_hamilt_pw/hamilt_pwdft/parallel_grid.cpp
../../module_xc/xc_functional_gradcorr.cpp ../../module_xc/xc_functional.cpp
../../module_xc/xc_functional_wrapper_xc.cpp ../../module_xc/xc_functional_wrapper_gcxc.cpp
../../module_xc/xc_functional_wrapper_tauxc.cpp
../../module_xc/xc_functional_libxc.cpp
../../module_xc/xc_functional_libxc_vxc.cpp
../../module_xc/xc_functional_libxc_wrapper_xc.cpp
../../module_xc/xc_functional_libxc_wrapper_gcxc.cpp
../../module_xc/xc_functional_libxc_wrapper_tauxc.cpp
../../module_xc/xc_funct_corr_gga.cpp ../../module_xc/xc_funct_corr_lda.cpp ../../module_xc/xc_funct_exch_gga.cpp
../../module_xc/xc_funct_exch_lda.cpp ../../module_xc/xc_funct_hcth.cpp
)
Expand All @@ -44,7 +48,11 @@ AddTest(
SOURCES cal_vel_test.cpp ../cal_vel.cpp ../surchem.cpp ../cal_epsilon.cpp ../minimize_cg.cpp ../../../module_hamilt_pw/hamilt_pwdft/parallel_grid.cpp
../../module_xc/xc_functional_gradcorr.cpp ../../module_xc/xc_functional.cpp
../../module_xc/xc_functional_wrapper_xc.cpp ../../module_xc/xc_functional_wrapper_gcxc.cpp
../../module_xc/xc_functional_wrapper_tauxc.cpp
../../module_xc/xc_functional_libxc.cpp
../../module_xc/xc_functional_libxc_vxc.cpp
../../module_xc/xc_functional_libxc_wrapper_xc.cpp
../../module_xc/xc_functional_libxc_wrapper_gcxc.cpp
../../module_xc/xc_functional_libxc_wrapper_tauxc.cpp
../../module_xc/xc_funct_corr_gga.cpp ../../module_xc/xc_funct_corr_lda.cpp ../../module_xc/xc_funct_exch_gga.cpp
../../module_xc/xc_funct_exch_lda.cpp ../../module_xc/xc_funct_hcth.cpp
)
7 changes: 6 additions & 1 deletion source/module_hamilt_general/module_xc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@ add_library(
xc_functional_gradcorr.cpp
xc_functional_wrapper_xc.cpp
xc_functional_wrapper_gcxc.cpp
xc_functional_wrapper_tauxc.cpp
xc_funct_exch_lda.cpp
xc_funct_corr_lda.cpp
xc_funct_exch_gga.cpp
xc_funct_corr_gga.cpp
xc_funct_hcth.cpp
xc_functional_libxc.cpp
xc_functional_libxc_tools.cpp
xc_functional_libxc_vxc.cpp
xc_functional_libxc_wrapper_xc.cpp
xc_functional_libxc_wrapper_gcxc.cpp
xc_functional_libxc_wrapper_tauxc.cpp
)

if(ENABLE_COVERAGE)
Expand Down
24 changes: 19 additions & 5 deletions source/module_hamilt_general/module_xc/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@ AddTest(
TARGET XCTest_PBE
LIBS parameter MPI::MPI_CXX Libxc::xc # required by global.h; for details, `remove_definitions(-D__MPI)`.
SOURCES test_xc.cpp ../xc_functional.cpp ../xc_functional_wrapper_xc.cpp ../xc_functional_wrapper_gcxc.cpp ../xc_funct_corr_gga.cpp ../xc_funct_corr_lda.cpp ../xc_funct_exch_gga.cpp ../xc_funct_exch_lda.cpp ../xc_funct_hcth.cpp
../xc_functional_libxc_wrapper_gcxc.cpp ../xc_functional_libxc.cpp
)

AddTest(
TARGET XCTest_HSE
LIBS parameter MPI::MPI_CXX Libxc::xc # required by global.h; for details, `remove_definitions(-D__MPI)`.
SOURCES test_xc1.cpp ../xc_functional.cpp
SOURCES test_xc1.cpp ../xc_functional.cpp ../xc_functional_libxc.cpp
)


AddTest(
TARGET XCTest_PZ_SPN
LIBS parameter MPI::MPI_CXX Libxc::xc # required by global.h; for details, `remove_definitions(-D__MPI)`.
SOURCES test_xc2.cpp ../xc_functional.cpp ../xc_functional_wrapper_xc.cpp ../xc_functional_wrapper_gcxc.cpp ../xc_funct_corr_gga.cpp ../xc_funct_corr_lda.cpp ../xc_funct_exch_gga.cpp ../xc_funct_exch_lda.cpp ../xc_funct_hcth.cpp
../xc_functional_libxc_wrapper_gcxc.cpp ../xc_functional_libxc_wrapper_xc.cpp ../xc_functional_libxc.cpp
)


Expand All @@ -25,7 +27,10 @@ AddTest(
LIBS parameter MPI::MPI_CXX Libxc::xc ${math_libs} psi device container
SOURCES test_xc3.cpp ../xc_functional_gradcorr.cpp ../xc_functional.cpp
../xc_functional_wrapper_xc.cpp ../xc_functional_wrapper_gcxc.cpp
../xc_functional_wrapper_tauxc.cpp
../xc_functional_libxc.cpp
../xc_functional_libxc_wrapper_xc.cpp
../xc_functional_libxc_wrapper_gcxc.cpp
../xc_functional_libxc_wrapper_tauxc.cpp
../xc_funct_corr_gga.cpp ../xc_funct_corr_lda.cpp ../xc_funct_exch_gga.cpp
../xc_funct_exch_lda.cpp ../xc_funct_hcth.cpp
../../../module_base/matrix.cpp
Expand All @@ -38,7 +43,11 @@ AddTest(
TARGET XCTest_SCAN
LIBS parameter MPI::MPI_CXX Libxc::xc
SOURCES test_xc4.cpp ../xc_functional.cpp ../xc_functional_wrapper_xc.cpp
../xc_functional_wrapper_gcxc.cpp ../xc_functional_wrapper_tauxc.cpp
../xc_functional_wrapper_gcxc.cpp
../xc_functional_libxc.cpp
../xc_functional_libxc_wrapper_xc.cpp
../xc_functional_libxc_wrapper_gcxc.cpp
../xc_functional_libxc_wrapper_tauxc.cpp
../xc_funct_corr_gga.cpp ../xc_funct_corr_lda.cpp
../xc_funct_exch_gga.cpp ../xc_funct_exch_lda.cpp ../xc_funct_hcth.cpp
)
Expand All @@ -48,13 +57,18 @@ AddTest(
LIBS parameter MPI::MPI_CXX Libxc::xc ${math_libs} psi device container
SOURCES test_xc5.cpp ../xc_functional_gradcorr.cpp ../xc_functional.cpp
../xc_functional_wrapper_xc.cpp ../xc_functional_wrapper_gcxc.cpp
../xc_functional_wrapper_tauxc.cpp
../xc_functional_libxc.cpp
../xc_functional_libxc_wrapper_xc.cpp
../xc_functional_libxc_wrapper_gcxc.cpp
../xc_functional_libxc_wrapper_tauxc.cpp
../xc_funct_corr_gga.cpp ../xc_funct_corr_lda.cpp ../xc_funct_exch_gga.cpp
../xc_funct_exch_lda.cpp ../xc_funct_hcth.cpp
../xc_functional_vxc.cpp
../xc_functional_libxc_vxc.cpp
../xc_functional_libxc_tools.cpp
../../../module_base/matrix.cpp
../../../module_base/memory.cpp
../../../module_base/timer.cpp
../../../module_base/libm/branred.cpp
../../../module_base/libm/sincos.cpp
)
)
5 changes: 3 additions & 2 deletions source/module_hamilt_general/module_xc/test/test_xc.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "gtest/gtest.h"
#include "../xc_functional.h"
#include "../xc_functional_libxc.h"
#include "../exx_info.h"
#include "xctest.h"

Expand Down Expand Up @@ -829,7 +830,7 @@ class XCTest_PBE0 : public XCTest
void SetUp()
{
XC_Functional::set_xc_type("PBE0");
XC_Functional::get_hybrid_alpha(0.5);
XC_Functional::set_hybrid_alpha(0.5);
std::vector<double> rho = {0.17E+01, 0.17E+01, 0.15E+01, 0.88E-01, 0.18E+04};
std::vector<double> grho = {0.81E-11, 0.17E+01, 0.36E+02, 0.87E-01, 0.55E+00};

Expand Down Expand Up @@ -884,7 +885,7 @@ class XCTest_PBE_LibXC : public XCTest
XC_Functional::xc(rho[i],e,v);
e_lda.push_back(e);
v_lda.push_back(v);
XC_Functional::gcxc_libxc(rho[i],grho[i],e,v1,v2);
XC_Functional_Libxc::gcxc_libxc(XC_Functional::get_func_id(), rho[i],grho[i],e,v1,v2);
e_gga.push_back(e);
v1_gga.push_back(v1);
v2_gga.push_back(v2);
Expand Down
4 changes: 2 additions & 2 deletions source/module_hamilt_general/module_xc/test/test_xc1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class XCTest_HSE : public XCTest
void SetUp()
{
XC_Functional::set_xc_type("HSE");
XC_Functional::get_hybrid_alpha(0.5);
XC_Functional::set_hybrid_alpha(0.5);
}
};

Expand All @@ -53,7 +53,7 @@ class XCTest_SCAN0 : public XCTest
void SetUp()
{
XC_Functional::set_xc_type("SCAN0");
XC_Functional::get_hybrid_alpha(0.5);
XC_Functional::set_hybrid_alpha(0.5);
}
};

Expand Down
5 changes: 3 additions & 2 deletions source/module_hamilt_general/module_xc/test/test_xc2.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "gtest/gtest.h"
#include "xctest.h"
#include "../xc_functional.h"
#include "../xc_functional_libxc.h"
#include "../exx_info.h"
/************************************************
* unit test of functionals
Expand Down Expand Up @@ -455,7 +456,7 @@ class XCTest_PBE_SPN_LibXC : public XCTest
double e,v1,v2,v3,v4,v5;
double r1 = rho[i] * (1+zeta[i]) / 2.0;
double r2 = rho[i] * (1-zeta[i]) / 2.0;
XC_Functional::gcxc_spin_libxc(r1,r2,gdr[i],gdr[i],e,v1,v2,v3,v4,v5);
XC_Functional_Libxc::gcxc_spin_libxc(XC_Functional::get_func_id(), r1,r2,gdr[i],gdr[i],e,v1,v2,v3,v4,v5);
e_gga.push_back(e);
v1_gga.push_back(v1+v3);
v2_gga.push_back(v2+v4);
Expand Down Expand Up @@ -494,7 +495,7 @@ class XCTest_PZ_SPN_LibXC : public XCTest
double e,v1,v2;
double r1 = rho[i] * (1+zeta[i]) / 2.0;
double r2 = rho[i] * (1-zeta[i]) / 2.0;
XC_Functional::xc_spin_libxc(r1,r2,e,v1,v2);
XC_Functional_Libxc::xc_spin_libxc(XC_Functional::get_func_id(), r1,r2,e,v1,v2);
e_lda.push_back(e);
v1_lda.push_back(v1);
v2_lda.push_back(v2);
Expand Down
3 changes: 2 additions & 1 deletion source/module_hamilt_general/module_xc/test/test_xc4.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "../xc_functional.h"
#include "../xc_functional_libxc.h"
#include "gtest/gtest.h"
#include "xctest.h"
#include "../exx_info.h"
Expand Down Expand Up @@ -43,7 +44,7 @@ class XCTest_SCAN : public XCTest
for(int i=0;i<5;i++)
{
double e,v,v1,v2,v3;
XC_Functional::tau_xc(rho[i],grho[i],tau[i],e,v1,v2,v3);
XC_Functional_Libxc::tau_xc(XC_Functional::get_func_id(), rho[i],grho[i],tau[i],e,v1,v2,v3);
e_.push_back(e);
v1_.push_back(v1);
v2_.push_back(v2);
Expand Down
5 changes: 3 additions & 2 deletions source/module_hamilt_general/module_xc/test/test_xc5.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "../xc_functional.h"
#include "../xc_functional_libxc.h"
#include "gtest/gtest.h"
#define private public
#include "module_parameter/parameter.h"
Expand Down Expand Up @@ -282,15 +283,15 @@ class XCTest_VXC_meta : public XCTest

PARAM.input.nspin = 1;
std::tuple<double, double, ModuleBase::matrix, ModuleBase::matrix> etxc_vtxc_v
= XC_Functional::v_xc_meta(rhopw.nrxx,ucell.omega,ucell.tpiba,&chr);
= XC_Functional_Libxc::v_xc_meta(XC_Functional::get_func_id(), rhopw.nrxx,ucell.omega,ucell.tpiba,&chr);
et1 = std::get<0>(etxc_vtxc_v);
vt1 = std::get<1>(etxc_vtxc_v);
v1 = std::get<2>(etxc_vtxc_v);
vtau1 = std::get<3>(etxc_vtxc_v);

PARAM.input.nspin = 2;
etxc_vtxc_v
= XC_Functional::v_xc_meta(rhopw.nrxx,ucell.omega,ucell.tpiba,&chr);
= XC_Functional_Libxc::v_xc_meta(XC_Functional::get_func_id(), rhopw.nrxx,ucell.omega,ucell.tpiba,&chr);
et2 = std::get<0>(etxc_vtxc_v);
vt2 = std::get<1>(etxc_vtxc_v);
v2 = std::get<2>(etxc_vtxc_v);
Expand Down
Loading