Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
fa16019
test: add comments and unittest for math_sphbes.h
pxlxingliang Jan 27, 2022
ab1ee9b
delete parameter WFC_init
lyb9812 Jan 29, 2022
43c281f
delete parameter diag and additional functions that were moved to LCA…
lyb9812 Jan 29, 2022
bfd7749
change the name of parameters to understand them easier
lyb9812 Jan 29, 2022
41e6610
Merge pull request #681 from lyb9812/TDDFT
mohanchen Feb 6, 2022
de535ab
add #ifdef __MPI in codes related to MPI
lyb9812 Feb 10, 2022
8c40c87
add cal_dm_R: calculate dm_2d directly from wfc_2d
maki49 Feb 10, 2022
f67d066
replace all
maki49 Feb 11, 2022
1099102
not impose this change to TD-case until TDDFT branch debugged and merged
maki49 Feb 11, 2022
4124cbd
modify parameter type and order
maki49 Feb 11, 2022
2bfec1e
reload cal_dm; and change wfc_gamma,wfc_k,dm_gamma,dm_k as parameters
maki49 Feb 11, 2022
65f10ef
remove author
maki49 Feb 12, 2022
123ca07
Merge pull request #696 from lyb9812/TDDFT
mohanchen Feb 12, 2022
62dabae
Merge pull request #710 from maki49/newdm
mohanchen Feb 12, 2022
26ba9c7
Merge branch 'TDDFT' of https://github.com/deepmodeling/abacus-develo…
maki49 Feb 12, 2022
791c10f
remove WFC_GAMMA_aug, WFC_K_aug and all related funcitons
maki49 Feb 12, 2022
0c6a96e
remove parameter newdm
maki49 Feb 12, 2022
bfe0fdf
delete uncalled functions in pdiag_double
maki49 Feb 12, 2022
339bf7a
Merge pull request #711 from maki49/TDDFT
mohanchen Feb 12, 2022
15a1b49
datatype transform (chrono to double)
lyb9812 Feb 12, 2022
6621b33
no function idmatrix for serial version, neglect it temporarily
lyb9812 Feb 12, 2022
ff2bd04
add #ifdef __MPI
lyb9812 Feb 12, 2022
cf80f29
change (rstep,dstep,alpha) from protected to public
lyb9812 Feb 12, 2022
df6ed86
add #ifdef __MPI in exx related codes
lyb9812 Feb 12, 2022
c27f5ff
Merge pull request #712 from lyb9812/TDDFT
mohanchen Feb 13, 2022
0ec6fd6
add #ifdef __MPI
lyb9812 Feb 14, 2022
0878dfe
add #ifdef __MPI in exx related codes
lyb9812 Feb 14, 2022
7f6bf84
Merge branch 'develop' of https://github.com/deepmodeling/abacus-deve…
pxlxingliang Feb 14, 2022
30aff49
test: add the unit test and comments of math_sphbes.h
pxlxingliang Feb 15, 2022
aca89f4
fix the delete of pointer r jl
pxlxingliang Feb 15, 2022
34f6252
add serial version of cal_dm in wfc_dm_2d
lyb9812 Feb 15, 2022
1ce08d0
loose the threshold and modify the comments
pxlxingliang Feb 15, 2022
bbc471e
modified the recommended values of exx related input parameters.
ouqi0711 Feb 15, 2022
e67cec0
added a note of parallel job limitations for exx jobs
ouqi0711 Feb 15, 2022
99d82ce
add #ifdef __MPI in unk_overlap_lcao.cpp
lyb9812 Feb 15, 2022
6701a48
add #ifdef __MPI
lyb9812 Feb 16, 2022
b8fd2c6
comment the incorrect code for serial version in write_HS.cpp
lyb9812 Feb 16, 2022
2dbcd0c
Merge pull request #723 from ouqi0711/develop
caic99 Feb 16, 2022
8751d9f
Merge pull request #720 from pxlxingliang/math-sphbes
pxlxingliang Feb 16, 2022
057fe8f
test: add the unit test and comments for math_polyint.h
pxlxingliang Feb 17, 2022
f483a0f
modify the name of Func to sinc
pxlxingliang Feb 17, 2022
be97d86
Merge pull request #726 from pxlxingliang/develop
pxlxingliang Feb 17, 2022
87e5cfb
Merge pull request #718 from lyb9812/TDDFT
mohanchen Feb 17, 2022
4afd0cf
test:add the unittest and comments of math_ylmreal.h
pxlxingliang Feb 17, 2022
96a721b
test: UT and annotations in mathzone_add1
Feb 17, 2022
ef50d68
change wfc_dm_2d as parameters in lcao-line; change GlobalC::LOC.wfc_…
maki49 Feb 15, 2022
8b95e56
move cal_e_delta_bands out to ELEC_scf::scf
maki49 Feb 15, 2022
536d9a6
in Mulliken_charge: change wfc_gamma and wfc_k as pointer
maki49 Feb 15, 2022
a992674
in istate_charge: change wfc_gamma and dm_gamma as pointer
maki49 Feb 15, 2022
63daeb9
in WF_Local : change wfc_gamma and wfc_k as pointer-type-parameters
maki49 Feb 15, 2022
e047ba0
in berryphase: add wfc_k as pointer-private-member; reload the constr…
maki49 Feb 15, 2022
b1fa9a3
solve conflict
maki49 Feb 17, 2022
716e3fd
Merge branch 'develop' into unittest
hongriTianqi Feb 17, 2022
1fc1b7f
move en.perform_dos into opt_ions
maki49 Feb 17, 2022
bb2df48
Merge pull request #724 from maki49/wfc2drec
mohanchen Feb 17, 2022
b9f3b06
test:modify mathzone_add1_test.cpp
Feb 17, 2022
7157bb7
Merge branch 'unittest' of github.com:hongriTianqi/abacus-develop int…
Feb 17, 2022
a3cd7d8
use M_PI in math.h
pxlxingliang Feb 17, 2022
bd3ff5c
remove class 'Wfc_Dm_2d' and move its functions into class 'Local_Orb…
maki49 Feb 18, 2022
129e193
Merge pull request #727 from pxlxingliang/develop
pxlxingliang Feb 18, 2022
5eeead0
fix cmake-compile-failure about '__MPI'
maki49 Feb 18, 2022
cfa1a3c
revert parameters' name
maki49 Feb 18, 2022
d129b1c
Merge branch 'develop' into unittest
hongriTianqi Feb 18, 2022
bdd7256
Merge pull request #728 from hongriTianqi/unittest
hongriTianqi Feb 18, 2022
7d84d6f
Merge pull request #730 from maki49/wfc2drec
mohanchen Feb 19, 2022
f676b62
change Local_Orbital_Charge::out_dm as static variable
maki49 Feb 19, 2022
32ff946
remove GlobalC::LOC
maki49 Feb 19, 2022
51aa4bd
remove GlobalC::LOWF
maki49 Feb 20, 2022
227a33b
move wfc_gamma and wfc_k into LOWF
maki49 Feb 20, 2022
2feac14
Merge pull request #731 from maki49/wfc2drec
mohanchen Feb 20, 2022
519a1b3
pass lowf to simply interface
maki49 Feb 20, 2022
5f76531
rename WFC_K as wfc_k_grid, WFC_K_POOL as wfc_k_grid2
maki49 Feb 20, 2022
0ef60fc
Merge pull request #734 from maki49/wfc2drec
mohanchen Feb 21, 2022
3063569
remove Pdiag_Basic,swap the inheritance as Pdiag_Double:Parallel_Orbi…
maki49 Feb 21, 2022
5d7588c
Fix #736: memory free by wrong index
caic99 Feb 21, 2022
eeb8cc7
Merge pull request #738 from deepmodeling/caic99-patch-1
dyzheng Feb 21, 2022
a951e50
remove GlobalC::UHM
maki49 Feb 21, 2022
5f6336b
remove redundant orb-read in energy:perform_dos
maki49 Feb 21, 2022
7c69ba7
remove GlobalC::LM
maki49 Feb 22, 2022
9a14a1a
test: add the unit test and comments for ylm.h
pxlxingliang Feb 22, 2022
bde3680
move wfc-parallel into LOWF; remove redundant inline funcs
maki49 Feb 22, 2022
28aeda1
move buffer variables from ParaO into Gint_Gamma
maki49 Feb 22, 2022
e5a16f7
add #ifdef __MPI in dftu related codes
lyb9812 Feb 23, 2022
ec8fdf2
add #ifdef __MPI
lyb9812 Feb 23, 2022
02b1ca8
add OBJ_DIR_serial for serial version
lyb9812 Feb 23, 2022
9e159e2
add #ifdef __MPI in exx related codes
lyb9812 Feb 23, 2022
3523ec0
Merge branch 'develop' into develop
pxlxingliang Feb 24, 2022
3d4fe72
move 2d-divide-funcs into ORB_control; pack varables as struct
maki49 Feb 24, 2022
54fa0e3
change 'Pdiag_double::out_xxx' control parameters into static variables
maki49 Feb 24, 2022
5c5ce0d
remove GlobalC::ParaO by setting inheritance as Diago_LCAO_Matrix:Pd…
maki49 Feb 24, 2022
7a18ab7
add comment //__MPI for long-ranged #ifdef block
lyb9812 Feb 24, 2022
0a7bdd3
add #ifdef __MPI
lyb9812 Feb 25, 2022
edd7b09
Merge branch 'TDDFT' into TDDFT
lyb9812 Feb 25, 2022
6eceb0f
reduce wfc_k-memory-cost to NBANDS*NLOCAL
maki49 Feb 24, 2022
3ce2d90
add TDDFT branch to test on pr
maki49 Feb 25, 2022
77cd152
Merge pull request #743 from lyb9812/TDDFT
mohanchen Feb 25, 2022
3e3ccb0
tear down GlobalC::LNNR
maki49 Feb 25, 2022
224f081
Merge branch 'TDDFT' of https://github.com/deepmodeling/abacus-develo…
maki49 Feb 25, 2022
1aaeb46
Merge pull request #735 from maki49/wfc2drec
mohanchen Feb 26, 2022
dab3d27
merge pw_refactor and solve conflicts
maki49 Feb 26, 2022
b462237
change Exx::Lmax to 0 for serial version
lyb9812 Feb 26, 2022
fbf0d2d
fix compile error with test by cmake
maki49 Feb 26, 2022
aab7dca
remove pdiag_basic.cpp
maki49 Feb 26, 2022
c869b1f
fix bugs of ks_solver=lapack for serial version
lyb9812 Feb 27, 2022
5dfbb4a
remove cal_nnr by merge it with Record_adf::for_2d
maki49 Feb 27, 2022
b785375
remove GlobalV in ORB_control
maki49 Feb 28, 2022
7468328
UT and annotations for math_bspline
Feb 28, 2022
eb05e52
Merge pull request #740 from pxlxingliang/develop
dyzheng Feb 28, 2022
8f935c0
move parallel_orbitals.h, .cpp files from src_parallel into module_or…
maki49 Feb 28, 2022
3de2b49
Merge pull request #756 from hongriTianqi/develop
caic99 Feb 28, 2022
eea33c5
remove newdm parameters in test case 260
maki49 Feb 28, 2022
61bef01
remove useless output
maki49 Feb 28, 2022
ebd44d5
apply Ensolver to lcao-line
maki49 Feb 28, 2022
b787150
fix a pointer-bug in DFTU
maki49 Feb 28, 2022
af7a24e
Merge branch 'develop' of https://github.com/deepmodeling/abacus-deve…
maki49 Feb 28, 2022
6616b2e
Merge pull request #755 from lyb9812/TDDFT
mohanchen Feb 28, 2022
82b349e
rearange init-basis in Run_lcao
maki49 Feb 28, 2022
74d69c8
merge TDDFT and solve conflicts
maki49 Feb 28, 2022
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
23 changes: 6 additions & 17 deletions doc/input-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@

- [Variables useful for debugging](#variables-useful-for-debugging)

[nurse](#nurse) | [t_in_h](#t-in-h) | [vl_in_h](#vl-in-h) | [vnl_in_h](#vnl-in-h) | [test_force](#test-force) | [test_stress](#test-stress) | [colour](#colour) | [new_dm](#new-dm) | [test_just_neighbor](#test-just-neighbor)
[nurse](#nurse) | [t_in_h](#t-in-h) | [vl_in_h](#vl-in-h) | [vnl_in_h](#vnl-in-h) | [test_force](#test-force) | [test_stress](#test-stress) | [colour](#colour) | [test_just_neighbor](#test-just-neighbor)
- [DeePKS](#deepks)

[out_descriptor](#out-descriptor) | [lmax_descriptor](#lmax-descriptor) | [deepks_scf](#deepks-scf) | [model_file](#model-file)
Expand Down Expand Up @@ -992,7 +992,7 @@ This part of variables are relevant when using hybrid functionals

- exx_hybrid_type<a id="exx-hybrid-type"></a>
- *Type*: String
- *Description*: Type of hybrid functional used. Options are "hf" (pure Hartree-Fock), "pbe0"(PBE0), "hse" (Note: in order to use HSE functional, LIBXC is required).
- *Description*: Type of hybrid functional used. Options are "hf" (pure Hartree-Fock), "pbe0"(PBE0), "hse" (Note: in order to use HSE functional, LIBXC is required). Note also that HSE has been tested while PBE0 has NOT been fully tested yet, and the maxmum parallel cpus for running exx is Nx(N+1)/2, with N being the number of atoms.


If set to "no", then no hybrid functional is used (i.e.,Fock exchange is not included.)
Expand Down Expand Up @@ -1023,7 +1023,7 @@ adial integration for pseudopotentials, in Bohr.

- exx_pca_threshold<a id="exx-pca-threshold"></a>
- *Type*: Real
- *Description*: To accelerate the evaluation of four-center integrals (ik|jl), the product of atomic orbitals are expanded in the basis of auxiliary basis functions (ABF): &phi;<sub>i</sub>&phi;<sub>j</sub>~C<sup>k</sup><sub>ij</sub>P<sub>k</sub>. The size of the ABF (i.e. number of P<sub>k</sub>) is reduced using principal component analysis. When a large PCA threshold is used, the number of ABF will be reduced, hence the calculations becomes faster. However this comes at the cost of computational accuracy. A relatively safe choice of the value is 1d-3.
- *Description*: To accelerate the evaluation of four-center integrals (ik|jl), the product of atomic orbitals are expanded in the basis of auxiliary basis functions (ABF): &phi;<sub>i</sub>&phi;<sub>j</sub>~C<sup>k</sup><sub>ij</sub>P<sub>k</sub>. The size of the ABF (i.e. number of P<sub>k</sub>) is reduced using principal component analysis. When a large PCA threshold is used, the number of ABF will be reduced, hence the calculations becomes faster. However this comes at the cost of computational accuracy. A relatively safe choice of the value is 1d-4.
- *Default*: 0

[back to top](#input-file)
Expand All @@ -1044,21 +1044,21 @@ adial integration for pseudopotentials, in Bohr.

- exx_dm_threshold<a id="exx-dm-threshold"></a>
- *Type*: Real
- *Description*: The Fock exchange can be expressed as &Sigma;<sub>k,l</sub>(ik|jl)D<sub>kl</sub> where D is the density matrix. Smaller values of the density matrix can be truncated to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d-3.
- *Description*: The Fock exchange can be expressed as &Sigma;<sub>k,l</sub>(ik|jl)D<sub>kl</sub> where D is the density matrix. Smaller values of the density matrix can be truncated to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d-4.
- *Default*: 0

[back to top](#input-file)

- exx_schwarz_threshold<a id="exx-schwarz-threshold"></a>
- *Type*: Real
- *Description*: In practice the four-center integrals are sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each integral before carrying out explicit evaluations. Those that are smaller than exx_schwarz_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d-4.
- *Description*: In practice the four-center integrals are sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each integral before carrying out explicit evaluations. Those that are smaller than exx_schwarz_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d-5.
- *Default*: 0

[back to top](#input-file)

- exx_cauchy_threshold<a id="exx-cauchy-threshold"></a>
- *Type*: Real
- *Description*: In practice the Fock exchange matrix is sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each matrix element before carrying out explicit evaluations. Those that are smaller than exx_cauchy_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d-6.
- *Description*: In practice the Fock exchange matrix is sparse, and using Cauchy-Schwartz inequality, we can find an upper bound of each matrix element before carrying out explicit evaluations. Those that are smaller than exx_cauchy_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d-7.
- *Default*: 0

[back to top](#input-file)
Expand Down Expand Up @@ -1567,17 +1567,6 @@ This part of variables are used to control berry phase and wannier90 interfacae

[back to top](#input-file)

- new_dm<a id="new-dm"></a>

- *Type*: Integer
- *Description*: Controls output of some debug information related to our density matrix data-structures.
- 1: show no debug information
- 2: only show key debug information
- 3: show all detail debug information
- *Default*: 1

[back to top](#input-file)

- test_just_neighbor<a id="test-just-neighbor"></a>
- *Type*: Boolean
- *Description*: If set to 1, then only perform the neighboring atoms search.
Expand Down
22 changes: 17 additions & 5 deletions source/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ HONG_MEM = ${HONG_FFTW} -D__FP -D_MCD_CHECK -DWIN32 -DMCD_VERBOSE

#!!!!!!!!!!!!!!!!!!!! CHANE HERE IF YOU LIKE !!!!!!!!!!!!!!
#! change series version or parallel version~~~
HONG=${HONG_MPI_SELINV_20210523}
#HONG=${HONG_SER_SELINV}
#HONG=${HONG_MPI_SELINV_20210523}
HONG=${HONG_SER_SELINV}
#!!!!!!!!!!!!!!!!!!!! CHANE HERE IF YOU LIKE !!!!!!!!!!!!!!

#==========================
Expand All @@ -70,6 +70,7 @@ $(OBJS_COMMON)\
main.o\

FP_OBJS=$(patsubst %.o, ${OBJ_DIR}/%.o, ${FP_OBJS_0})
FP_OBJS_serial=$(patsubst %.o, ${OBJ_DIR_serial}/%.o, ${FP_OBJS_0})
PDIAG_OBJS=$(patsubst %.o, ${OBJ_DIR}/%.o, ${OBJS_PDIAG})
PDIAG_MR=$(patsubst %.o, ${OBJ_DIR}/%.o, ${PDIAG_MR_0})

Expand All @@ -81,7 +82,7 @@ fp_mpi :
@ make -j $(NP) parallel

fp :
@ make init
@ make init_serial
@ make -j $(NP) serial

fp_gbd :
Expand All @@ -101,11 +102,16 @@ init :
@ if [ ! -d $(OBJ_DIR)/README ]; then echo "This directory contains all of the .o files" > $(OBJ_DIR)/README; fi
@ if [ ! -d ../bin ]; then mkdir ../bin; fi

init_serial :
@ if [ ! -d $(OBJ_DIR_serial) ]; then mkdir $(OBJ_DIR_serial); fi
@ if [ ! -d $(OBJ_DIR_serial)/README ]; then echo "This directory contains all of the .o files" > $(OBJ_DIR_serial)/README; fi
@ if [ ! -d ../bin ]; then mkdir ../bin; fi

parallel : ${FP_OBJS} ${PDIAG_OBJS} ${PDIAG_MR} ${HEADERS}
${CPLUSPLUS_MPI} ${OPTS} ${OPTS_MPI} $(FP_OBJS) ${PDIAG_OBJS} ${PDIAG_MR} ${LIBS} -o ../bin/${VERSION}.mpi

serial : ${FP_OBJS} ${HEADERS}
${CPLUSPLUS} ${OPTS} $(FP_OBJS) ${LIBS} -o ${VERSION}.fp.x
serial : ${FP_OBJS_serial} ${HEADERS}
${CPLUSPLUS} ${OPTS} $(FP_OBJS_serial) ${LIBS} -o ${VERSION}.fp.x

serial_gdb : ${FP_OBJS} ${HEADERS}
${CPLUSPLUS} ${OPTS_GDB} $(FP_OBJS) ${LIBS} -o ${VERSION}.fp_gdb.x
Expand All @@ -124,8 +130,14 @@ ${OBJ_DIR}/%.o:%.cpp
${OBJ_DIR}/%.o:%.f
${FORTRAN} -c ${HONG} $< -o $@

${OBJ_DIR_serial}/%.o:%.cpp
${CPLUSPLUS} ${OPTS} ${OPTS_MPI} -c ${HONG} $< -o $@
${OBJ_DIR_serial}/%.o:%.f
${FORTRAN} -c ${HONG} $< -o $@

.PHONY:clean
clean:
@ if [ -d $(OBJ_DIR) ]; then rm -rf $(OBJ_DIR); fi
@ if [ -d $(OBJ_DIR_serial) ]; then rm -rf $(OBJ_DIR_serial); fi
@ if [ -d ../bin ]; then rm -rf ../bin; fi
@ cd src_pw; make clean
3 changes: 1 addition & 2 deletions source/Makefile.Objects
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,6 @@ FORCE_k.o\
parallel_orbitals.o \
global_fp.o \
pdiag_double.o \
pdiag_basic.o \
pdiag_common.o \
diag_scalapack_gvx.o \
subgrid_oper.o \
Expand Down Expand Up @@ -213,7 +212,7 @@ exx_abfs-screen-cauchy.o \
exx_lcao.o \
exx_opt_orb.o \
exx_opt_orb-print.o \
wfc_dm_2d.o \
dm_2d.o \
unk_overlap_lcao.o \
cal_r_overlap_R.o \
bessel_basis.o\
Expand Down
62 changes: 34 additions & 28 deletions source/Makefile.vars
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,40 @@ CPLUSPLUS = icpc
CPLUSPLUS_MPI = mpiicpc
#CPLUSPLUS_MPI = /public/intel2017/impi/2017.1.132/intel64/bin/mpiicpc

LAPACK_DIR = $(MKLROOT)
#LAPACK_DIR = /public/intel2017/compilers_and_libraries_2017.1.132/linux/mkl
#LAPACK_DIR = $(MKLROOT)
#LAPACK_DIR = /public/intel2017/mkl

FFTW_DIR = /home/mohan/1_Software/impi_fftw-3.3.8
#FFTW_DIR = /home/qianrui/intelcompile/impi_fftw
#FFTW_DIR = /public/udata/xiaohui/software/fftw2
#FFTW_DIR =/opt/fftw/3.3.6-p12/intel/2017.update4
#FFTW_DIR = /public/fftw-3.3.8

BOOST_DIR = /home/mohan/1_Software/impi_boost-1.70.0
#BOOST_DIR = /home/qianrui/intelcompile/impi_boost
#BOOST_DIR = /public/udata/xiaohui/software/boost_1_39_0
#BOOST_DIR = /opt/boost/1.64.0

ELPA_DIR = /home/mohan/1_Software/impi_elpa-16.05.005
#ELPA_DIR = /home/qianrui/intelcompile/impi_elpa
#ELPA_DIR = /public/udata/xiaohui/ELPA-2016.05.004
#ELPA_DIR = /opt/elpa/intel_2017_update4

CEREAL_DIR = /home/mohan/1_Software/ABACUS_Github/cereal/cereal/
#CEREAL_DIR = /home/qianrui/intelcompile/cereal/

#DeePKS
LIBTORCH_DIR = /home/fortneu49/soft/libtorch
LIBNPY_DIR = /home/fortneu49/soft/libnpy
#\DeePKS
#==========================
# LIB and INCLUDE
#==========================
HONG_LAPACK = -D__MKL -DMKL_ILP64
LAPACK_DIR = $(MKLROOT)
LAPACK_INCLUDE = -I${LAPACK_DIR}/include
LAPACK_LIB_DIR = ${LAPACK_DIR}/lib/intel64
LAPACK_LIB = -L${LAPACK_LIB_DIR} -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -Wl,--end-group -Wl,-rpath=${LAPACK_LIB_DIR}

HONG_FFTW = -D__FFTW3
FFTW_DIR = /home/liyuanbo/soft/fftw
FFTW_INCLUDE = -I${FFTW_DIR}/include
FFTW_LIB_DIR = ${FFTW_DIR}/lib
FFTW_LIB = -L${FFTW_LIB_DIR} -lfftw3 -Wl,-rpath=${FFTW_LIB_DIR}

ELPA_DIR = /home/liyuanbo/soft/elpa-2021.05.002/build
ELPA_INCLUDE = -I${ELPA_DIR}/include/elpa-2021.05.002
ELPA_LIB_DIR = ${ELPA_DIR}/lib
ELPA_LIB = -L${ELPA_LIB_DIR} -lelpa -Wl,-rpath=${ELPA_LIB_DIR}

#LIBXC_INCLUDE = -I${LIBXC_DIR}/include
#LIBXC_LIB_DIR = ${LIBXC_DIR}/lib
#LIBXC_LIB = -L${LIBXC_LIB_DIR} -lxc -Wl,-rpath=${LIBXC_LIB_DIR}

CEREAL_DIR = /home/liyuanbo/soft/cereal/
CEREAL_INCLUDE = -I${CEREAL_DIR}/include

#============DeePKS================
#LIBTORCH_INCLUDE= -isystem ${LIBTORCH_DIR}/include -isystem ${LIBTORCH_DIR}/include/torch/csrc/api/include
#LIBTORCH_LIB_DIR= ${LIBTORCH_DIR}/lib
#LIBTORCH_LIB = -L${LIBTORCH_LIB_DIR} -ltorch -lc10 -Wl,-rpath,${LIBTORCH_LIB_DIR} -Wl,--no-as-needed,"${LIBTORCH_LIB_DIR}/libtorch_cpu.so" -Wl,--as-needed ${LIBTORCH_LIB_DIR}/libc10.so -lpthread -Wl,--no-as-needed,"${LIBTORCH_LIB_DIR}/libtorch.so" -Wl,--as-needed

#CNPY_INCLUDE = -I${LIBNPY_DIR}

OBJ_DIR = obj
OBJ_DIR_serial = obj_serial
NP = 14
9 changes: 6 additions & 3 deletions source/driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,12 @@ void Driver::atomic_world(void)
}
#ifdef __LCAO
else if(GlobalV::BASIS_TYPE=="lcao")
{
Run_lcao::lcao_line(p_ensolver);
}
{
use_ensol = "ksdft_lcao";
ModuleEnSover::init_esolver(p_ensolver, use_ensol);
Run_lcao::lcao_line(p_ensolver);
ModuleEnSover::clean_esolver(p_ensolver);
}
#endif

ModuleBase::timer::finish( GlobalV::ofs_running );
Expand Down
6 changes: 0 additions & 6 deletions source/input.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,6 @@ void Input::Default(void)

cell_factor = 1.2; //LiuXh add 20180619

new_dm=1; // Shen Yu add 2019/5/9
GlobalV::mulliken=0;// qi feng add 2019/9/10

//---------------------------------------------------------- //Peize Lin add 2020-04-04
Expand Down Expand Up @@ -1578,10 +1577,6 @@ bool Input::Read(const std::string &fn)
{
read_value(ifs, cell_factor);
}
else if (strcmp("newdm", word) == 0)
{
read_value(ifs, new_dm);
}
else if (strcmp("test_just_neighbor", word) == 0)
{
read_value(ifs, test_just_neighbor);
Expand Down Expand Up @@ -2283,7 +2278,6 @@ void Input::Bcast()

//Parallel_Common::bcast_int( epsilon0_choice );
Parallel_Common::bcast_double( cell_factor); //LiuXh add 20180619
Parallel_Common::bcast_int( new_dm ); // Shen Yu add 2019/5/9
Parallel_Common::bcast_bool( restart_save ); // Peize Lin add 2020.04.04
Parallel_Common::bcast_bool( restart_load ); // Peize Lin add 2020.04.04

Expand Down
11 changes: 0 additions & 11 deletions source/input.h
Original file line number Diff line number Diff line change
Expand Up @@ -415,17 +415,6 @@ class Input
bool input_error;
double cell_factor; //LiuXh add 20180619

//==========================================================
// new DM algorithm test
// add by Shen Yu @ 2019/5/9
// newDM values:
// 0: not use new DM algorithm;
// 1: use new DM algorithm and show no debug information
// 2: use new DM algorithm and only show key debug information
// 3: use new DM algorithm and show all detail debug information
//==========================================================
int new_dm;

//==========================================================
// DFT+U Xin Qu added on 2020-10-29
//==========================================================
Expand Down
14 changes: 8 additions & 6 deletions source/input_conv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
#include "src_pw/occupy.h"
#include "module_base/global_function.h"
#include "module_base/global_variable.h"
#ifdef __EXX
#include "src_ri/exx_abfs-jle.h"
#endif
#ifdef __LCAO
#include "module_orbital/ORB_read.h"
#include "src_lcao/ELEC_evolve.h"
Expand Down Expand Up @@ -446,6 +448,7 @@ void Input_Conv::Convert(void)
//----------------------------------------------------------
// about exx, Peize Lin add 2018-06-20
//----------------------------------------------------------
#ifdef __MPI // liyuanbo 2022/2/23
#ifdef __LCAO
if (INPUT.exx_hybrid_type == "no")
{
Expand Down Expand Up @@ -503,10 +506,9 @@ void Input_Conv::Convert(void)
Exx_Abfs::Jle::tolerence = INPUT.exx_opt_orb_tolerence;
}
#endif

#endif
GlobalC::ppcell.cell_factor = INPUT.cell_factor; // LiuXh add 20180619

// NEW_DM=INPUT.new_dm; // Shen Yu add 2019/5/9

//----------------------------------------------------------
// main parameters / electrons / spin ( 2/16 )
Expand Down Expand Up @@ -545,10 +547,10 @@ void Input_Conv::Convert(void)
GlobalC::en.out_dos = INPUT.out_dos;
GlobalC::en.out_band = INPUT.out_band;
#ifdef __LCAO
GlobalC::LOC.out_dm = INPUT.out_dm;
GlobalC::ParaO.out_hs = INPUT.out_hs;
GlobalC::ParaO.out_hsR = INPUT.out_hs2; // LiuXh add 2019-07-16
GlobalC::ParaO.out_lowf = INPUT.out_lowf;
Local_Orbital_Charge::out_dm = INPUT.out_dm;
Pdiag_Double::out_hs = INPUT.out_hs;
Pdiag_Double::out_hsR = INPUT.out_hs2; // LiuXh add 2019-07-16
Pdiag_Double::out_lowf = INPUT.out_lowf;
#endif

GlobalC::en.dos_emin_ev = INPUT.dos_emin_ev;
Expand Down
20 changes: 10 additions & 10 deletions source/input_update.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@ bool Update_input::Read(const std::string &fn)
{
out_dm = 10000;
#ifdef __FP
this->change(GlobalV::ofs_warning,"out_dm",GlobalC::LOC.out_dm, out_dm);
GlobalC::LOC.out_dm=out_dm;
this->change(GlobalV::ofs_warning,"out_dm",Local_Orbital_Charge::out_dm, out_dm);
Local_Orbital_Charge::out_dm=out_dm;
#endif
}
}
Expand All @@ -202,10 +202,10 @@ bool Update_input::Read(const std::string &fn)
{
read_value(ifs, out_dm);
#ifdef __FP
if(out_dm!=GlobalC::LOC.out_dm)
if(out_dm!=Local_Orbital_Charge::out_dm)
{
this->change(GlobalV::ofs_warning,"out_dm",GlobalC::LOC.out_dm,out_dm);
GlobalC::LOC.out_dm = this->out_dm;
this->change(GlobalV::ofs_warning,"out_dm",Local_Orbital_Charge::out_dm,out_dm);
Local_Orbital_Charge::out_dm = this->out_dm;
}
#endif
}
Expand All @@ -225,10 +225,10 @@ bool Update_input::Read(const std::string &fn)
read_value(ifs, out_lowf);
#ifdef __FP
//if(out_lowf!=out_lowf)
if(out_lowf!=GlobalC::ParaO.out_lowf) // Peize Lin change out_lowf to GlobalC::ParaO.out_lowf at 2020.01.31
if(out_lowf!=Pdiag_Double::out_lowf) // Peize Lin change out_lowf to GlobalC::ParaO.out_lowf at 2020.01.31
{
this->change(GlobalV::ofs_warning,"out_lowf",GlobalC::ParaO.out_lowf,out_lowf);
GlobalC::ParaO.out_lowf = this->out_lowf;
this->change(GlobalV::ofs_warning,"out_lowf",Pdiag_Double::out_lowf,out_lowf);
Pdiag_Double::out_lowf = this->out_lowf;
}
#endif
}
Expand Down Expand Up @@ -273,8 +273,8 @@ void Update_input::Bcast()
Parallel_Common::bcast_double( GlobalV::FORCE_THR);
#ifdef __LCAO
Parallel_Common::bcast_double( Force_Stress_LCAO::force_invalid_threshold_ev);
Parallel_Common::bcast_int( GlobalC::LOC.out_dm );
Parallel_Common::bcast_int( GlobalC::ParaO.out_lowf );
Parallel_Common::bcast_int( Local_Orbital_Charge::out_dm );
Parallel_Common::bcast_int( Pdiag_Double::out_lowf );
#endif
Parallel_Common::bcast_double( GlobalV::DRHO2 );
Parallel_Common::bcast_int( GlobalV::NITER );
Expand Down
8 changes: 1 addition & 7 deletions source/module_base/math_bspline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,12 @@ namespace ModuleBase
}
}

void Bspline::cleanp()
{
delete[] bezier;
bezier = NULL;
}

double Bspline::bezier_ele(int n)
{
return this->bezier[n];
}

void Bspline::getbslpine(double x)
void Bspline::getbspline(double x)
{
bezier[0] = 1.0;
for(int k = 1 ; k <= norder ; ++k)
Expand Down
Loading