Releases: deepmodeling/abacus-develop
v3.0.0: Towards AI+DFT
Release Note
This update focuses on new AI-assisted algorithms: the machine learning assisted functional model DeePKS, the feature of generating machine learning atomic interaction potential functions with DP-GEN, and the interface with DeepH which generates Hamiltonian based on machine learning methods. In addition, ABACUS implements new features such as Meta-GGA and Stochastic Density Functional Theory (SDFT). ABACUS has also made significant efficiency optimizations. In addition, a brand-new documentation website will further enhance the user experience.
Feature
- feature: add the output of .cube file in LCAO out_chg calculation by @pxlxingliang in #1310
- Feature: add xc_temperature input keyword for finite T functionals by @wenfei-li in #1227
- feature: output H/S matrix into a sub dir in md calculation by @YuLiu98 in #1258
Test
- test: arrange examples/ and move performance under tests/ by @pxlxingliang in #1241
- test: improve dflow_run.py by @hongriTianqi in #1338
- test: move PP_ORB under tests directory by @hongriTianqi in #1238
Bug fix
- Fix:
std::tuple
used but not included by @caic99 in #1255 - fix: add a space between keyword and value in OUT.XXX/INPUT by @pxlxingliang in #1341
- Fix: add induced charge term to the output of electrostatic potential by @sunml99 in #1265
- Fix: delete some unused INPUT parameters by @pxlxingliang in #1228
- fix: fix the output of fermi energy in charge density when nspin=2 by @pxlxingliang in #1306
- fix: gint bug when distance between atom and grid is exactly the ra… by @wenfei-li in #1246
- Fix: libxc compile flag not added by @caic99 in #1249
- Fix: minor bug in SCAN0 by @ouqi0711 in #1263
- Fix: modified some timer ticks by @dyzheng in #1253
- Fix: modified the warning info for nbands<ncpus by @ouqi0711 in #1219
- fix: no output of STRU_ION file when atoms fixed by @hongriTianqi in #1304
- Fix: nscf with hybrid functional 'hse' or 'pbe0' or 'scan0' by @dyzheng in #1280
- Fix: Remove redundant code for compensation charge module. by @ddhhss in #1259
- Fix: setting of k-points in NSPIN=2 has conflict with Pkpoints in numerical_basis.cpp by @dyzheng in #1224
- Fix: stuck when the specified number of atoms is larger than that listed in coordinate block by @ouqi0711 in #1236
- Merge: Update DFT+U & documentation for DFT+U and Wannier90 interface from abacusmodeling/abacus-develop/develop by @dyzheng in #1326
- Build: add back elpa version check by @caic99 in #1250
- Build: add gcc version check by @caic99 in #1251
- Build: add Libxc version check and docs by @caic99 in #1252
- Build: bump version to 3.0 by @caic99 in #1278
- Build: Make ABACUS-PW.x able to be compiled without LCAO by @Qianruipku in #1271
- Build: revise some typos by @Qianruipku in #1322
- Build: Rewrite Makefile by @Qianruipku in #1293
- Build: won't download libxc on absent. by @caic99 in #1312
- Combination of dipole correction and compensating charge by @YuLiu98 in #1248
- dflow: strip possible && at end of env_cmd by @hongriTianqi in #1346
- wflow: fix a bug in dflow_run.py by @hongriTianqi in #1334
- wflow: improve dflow_run.py by @hongriTianqi in #1332
- workflow: add dflow script for examples by @hongriTianqi in #1329
Documentation
Our developers have elaborately prepared the all-new documentation website. Please refer to the "Full Changelog" part for changes on documentation.
Refactor
- refactor : absorb 'INPUTs ' into INPUT when generating DeePKS projectors by @wenfei-li in #1244
- refactor: add allocateRho func in elecstate module by @hongriTianqi in #1266
- refactor: add the output of lacked INPUT parameters in OUT.XXX/INPUT by @pxlxingliang in #1232
- Refactor: delete the useless INPUT parameters restart_mode and test_just_neighbor by @pxlxingliang in #1233
- Refactor: Remove the global variable
global_pseudo_type
. by @sunliang98 in #1247 - refactor:in the diago of dav, modify to diagonalize the subspace only on rank0 by @pxlxingliang in #1221
Full Changelog:
v2.3.5
Release Note
Feature
- Feature: added optional value "-1" for variable "symmetry" for no time-reversal symmetry by @dyzheng in #1194
- perf: allow soc in the accelerated vnl which also fixes a bug in the old vnl by @wenfei-li in #1214
- Feature: use new interface part in GENELPA for ABACUS's genelpa feature by @pplab and @caic99 in #1213
Test
- Test(performance): correct the reference result by @pxlxingliang in #1192
- Test: update test script by @caic99 in #1201
Bug fix
- Fix: Add calculation for compensating charge energy and force. by @ddhhss in #1193
- Fix: delete hpsi before new one in operator.h by @pxlxingliang in #1196
- Fix: Out-of-bounds memory access in v_compensating. by @ddhhss in #1200
- Fix: serial version by @lyb9812 in #1202
- Fix:Bug in parallel computing of compensating force. by @ddhhss in #1204
- Fix: SOC calculation in PW code would caused nan by @dyzheng in #1212
Documentation
- Docs: fix pp dead link by @caic99 in #1205
- Docs: remove garbled characters. by @caic99 in #1206
- Docs: note to use the develop branch of phonopy by @hongriTianqi in #1208
- Docs: add hands-on examples and input keywords for implicit solvation model by @sunml99 in #1215
Full Changelog: v2.3.4...v2.3.5
v2.3.4
Features
- Feature: plot different contributions of atomic orbitals in PBANDS by @1041176461 in abacusmodeling#174
- Feature: add openmp in ORB_table_phi::cal_ST_Phi12_R() by @PeizeLin in abacusmodeling#175
- Feature: log math lib info by @caic99 in #1172
- Feature: build libxc in the absence of local install by @caic99 in #1173
- Feature: add force correction for implicit solvation model by @sunml99 in #1174
- Performance: Optimize SDFT to use less Chebyshev expansions by @Qianruipku in #1179
- Performance: accelerate stochastic DOS by @Qianruipku in #1185
- Feature: add dpgen autotest example by @hongriTianqi in #1189
Refactor
- Refactor: fully decouple esolver and relaxation, and build a new module: module_relaxation by @wenfei-li in #1170 and #1186
- Refactor: modified Operator::hPsi(), hpsi memory arranged outside by @dyzheng in #1188
Bug fix
- Fix: a error of mem_saver=1 with ks_solver=cg has been fixed by @dyzheng in #1168
- Fix: fix bug in 2nd order charge extrapolation by @wenfei-li in #1169
- Fix: do
delete
beforenew
tau_original
in atom_spec.cpp by @pxlxingliang in #1175 - Fix: Veff error when MPI_threads larger than nz by @dyzheng in #1183
- Fix: bug in envelop function by @wenfei-li in #1186
- Fix: Scan error when MPI_threads larger than nz by @Qianruipku in #1187
- Fix: updated key word of total time and replace "-eq" with "==" by @dyzheng in #1190
Documentation
- docs: update input parameters in input-main.md: exx_separate_loop, exx_hybrid_step, exx_lambda by @1041176461 in abacusmodeling#174
- docs: update libxc keyword in install.md by @PoloTier abacusmodeling#178
- docs: fix dead links in deepks installation by @caic99 in #1176
- docs: update ambiguous phrases by @caic99 in #1178
- docs: update gcc requirements by @caic99 in #1180
Full Changelog: v2.3.3...v2.3.4
v2.3.3
Features
- Feature: Add electronic conductivities for SDFT by @Qianruipku in #1101
- Feature: Optimize stochastic Kubo-Greenwood by @Qianruipku in #1130
- Feature: Add Kubo-Greenwood and DOS calculation for SDFT by @Qianruipku in #1136
- feature : mGGA in LCAO basis by @wenfei-li in #1135
- add the check of structure by @pxlxingliang in #1139
- perf: accelerate nonlocal force for multik by @wenfei-li in #1148
- Merge : develop branch and TDDFT branch by @lyb9812 in #1008
- Merge : TDDFT branch by @lyb9812 in #1138
Bug fix
- Fix(gint): temp value may be unitialized by @caic99 in #1124
- Fix: template init failure on clang (#951) by @caic99 in #1122
- Fix(sph_bessel): using correct abs function for float by @caic99 in #1123
- Fix: nscf need smaller diag_ethr than scf by @Qianruipku in #1137
- fix : removed unnecessary part from get_S;close mGGA stress for nspin = 2 by @wenfei-li in #1144
- fix : cutoff for grho by @wenfei-li in #1145
- fix unstablity in sdft md by @Qianruipku in #1142
- fix: kpar>1 & basis=lcao not supported yet by @hongriTianqi in #1147
- Fix: HSE without exx_separate_loop by @dyzheng in #1153
- fix: generate KPT file when pw calculation is used with gamma_only = 1 by @wenfei-li in #1152
- Fix: use vector to avoid compiler error on clang by @caic99 in #1155
- fix : increase mxr in Ewald, in case by @wenfei-li in #1159
- fix: no update of STRU_NOW.cif if only 1 ion step in 1 cell step by @hongriTianqi in #1160
- fix : error in tddft codes by @lyb9812 in #1161
- fix: memory leak in LCAO calculations by @wenfei-li in #1163
Build & test
- test: add
exit
in XXX_parallel_test.sh when running error by @pxlxingliang in #1126 - Build: add executable file to docker image by @caic99 in #1157
Documentation
- output: modify warning pattern by @hongriTianqi in #1134
- docs: fix dead link in markdown files by @caic99 in #1140
- Docs: add usage for docker images by @caic99 in #1143
- docs: fix a typo in
features.md
by @Satinelamp in #1151 - docs: update dpgen.md by @hongriTianqi in #1156
- Update input-main.md by @ouqi0711 in #1167
Full Changelog: v2.3.2...v2.3.3
v2.3.2
Features
- feature: add electronic conductivities for SDFT by @Qianruipku in #1101
- accelerated davidson diagonalization method using new Operator for a example @dyzheng in #1108 #1116 #1118
- enabled ABACUS-DPGEN interaface by @hongriTianqi and @pxlxingliang in #1110
- enabled ABACUS-Phonopy interaface by @hongriTianqi and @1041176461 in #1111
Bug fix
- fix: berry phase calculation in LCAO base with nscf calculation by @dyzheng in #1097
- fix: missed Perdew-Wang correlation part for PBE0 functional by @ouqi0711 in #1103
- fix: dos plotting bug in plot-tools and delete nk_in<10000 assertion in ABACUS by @1041176461 in #1120 (see also abacusmodeling#167)
- add Sphere truction of coulomb in HF/PBE0 by @Srlive1201 in #1120 (see also abacusmodeling#170)
- fix: makefile error for new Operator by @dyzheng in #1127
Refactor
Build & Test
- build: add python3 as requirement by @caic99 in #1091
- build: fix elpa version detection by @caic99 in #1092
- test (integrated): add the case name of H/S in CASES by @pxlxingliang in #1093
- test (integrated):verify wfc_lcao by comparing file and modulo value for k @pxlxingliang in #1098
- fix : support for makefile by @wenfei-li in #1099
- CI: add building tests for PR by @caic99 in #1100
- build: update intel image to ubuntu 22.04 by @caic99 in #1102
- build: update cuda image to ubuntu 22.04 by @caic99 in #1104
- build: use public docker registry address by @caic99 in #1113
Documentation
- docs: add docs for abacus-dpgen interface by @1041176461 in #1110
- docs: add docs for abacus-phonopy interface by @1041176461 in #1111
- docs: update installing manual by @caic99 in #1114
- docs: change issue templates to issue form by @haozhihan in #1115
Full Changelog: v2.3.1...v2.3.2
v2.3.1
Features
- implemented mgga in lcao basis; fixed a few bugs in mgga in PW basis by @wenfei-li in #1055
Bug Fix
- Fix warnings and errors when compiling UT with g++-11 by @caic99 in #1064
- fix(symmetry):remove space group with translation in rho_symmetry by @pxlxingliang in #1066
- fix charge extrapolation method by @YuLiu98 in #1060
- Fix the problem that HR and SR sparse matrices are not output when out_mat_hs2=1. by @jingan-181 in abacusmodeling#158
- modify RPBE to PBE_R corresponding to revPBE functional by @1041176461 in abacusmodeling#160
- fix bug in LCAO_Hamilt::calculate_HR_exx_sparse() by @PeizeLin in abacusmodeling#161
- Fix&Test: upf100 pseudopotential reading bug, related case is added to CI by @dyzheng in #1050
Refactor
- Refactor: added Operator for PW code, removed use of hamilt_pw_old.cpp by @dyzheng in #1062
- refactor: deliver warning in output when zvalence too large by @hongriTianqi in #1063
Build & Test
- Build: introduce new CI container by @caic99 in #1065
- Build: refactor cereal module by @caic99 in #1076
- Test(integrate): add omp thread number support by @caic99 in #1077
- Build: add python3 to test image by @caic99 in #1078
- test(integrate):the test of output of H/S and H(R)/S(R) matrixs by @pxlxingliang in #1084
- Fix&Test: scan functional in PW code and added test case 116_PW_scan_Si2 by @dyzheng in #1089
Documentation
- docs: improve dos, add BSSE and wfc in example dir by @hongriTianqi in #1083
Full Changelog: v2.3.0...v2.3.1
v2.3.0
Features
- feature: add key word "kspacing" and related doc and example by @pxlxingliang in #1011
- Perf(Force&Stress): slightly optimized efficiency for nonlocal pseudopotential term by @dyzheng in #1015
- Perf(Force&Stress): using zgemm in nonlocal part for high performance by @dyzheng in #1021
- Enabling the stress label for DeePKS by @ouqi0711 in #1028
- Perf : include time reversal symmetry for multi-k when symmetry is not analyzed by @wenfei-li in #1044
- time reversal symmetry : update kpoints after searching by @wenfei-li in #1046
Bug fix
- fix(performance): fix the output format of sumdat.sh by @pxlxingliang in #1019
- fix: number of processors can be large than FFT grids in the z direction by @Qianruipku in #1017
- fix all memory leaks in pw program by @Qianruipku in #1020
- fix: fix unstable UTs of MD by @YuLiu98 in #1026
- Fix: add header for array by @caic99 in #1034
- Fix:fix bug of compensating charge. by @Asuna981002 in #1038
- fix: fix warning_quit in md restart by @YuLiu98 in #1048
- Fix: small update for plot band tools by @dyzheng in #1059
Refactor
- docs: Add the contents of ‘Run ABACUS’ by @haozhihan in #1037
- Refactor: Optimize SDFT by @Qianruipku in #1039
Tests
- test: update MD tests due to init_vel=1 by @YuLiu98 in #1022
- test(pdiag): remove UT ( )hsolver_diago_parallel( ) by @pxlxingliang in #1031
- test: add ADS, LGV, MSST tests for MD by @YuLiu98 in #1032
- test: add PW and LCAO tests for implicit solvation model by @sunml99 in #1040
New Contributors
- @haozhihan made their first contribution in #1037
- @sunml99 made their first contribution in #1040
Full Changelog: v2.2.4...v2.3.0
v2.2.4
What's Changed
New features
- feature: add a function of compensating charge to the surchem module. by @Asuna981002 in #961
- Feature: detect omp threads automatically. by @caic99 in #990
Bug fixes and improvements
- fix : add judgment for sto-md to make a dir by @YuLiu98 in #956
- fix : bcast unitcell in MSST by @YuLiu98 in #991
- fix : continuous writing for md when out_alllog==1 by @YuLiu98 in #973
- fix : EDIFF is constantly zero in lcao scf by @YuLiu98 in #985
- fix : fix bug in module_surchem/efield.cpp by @YuLiu98 in #953
- fix : fix md bug when cal_stress=0 by @YuLiu98 in #966
- fix : revert and to or in the last commit by @YuLiu98 in #958
- fix a bug that different cores have different scale that make MD stuck by @Qianruipku in #967
- fix(gint): alloc-dealloc mismatch by @wenfei-li in #998
- Fix: add OpenMP flag properly. by @caic99 in #965
- fix: memory leak by @Qianruipku in #999
- Build: fix OepnMP link for intel compiler by @caic99 in #954
- Build: revise CMakeLists by @caic99 in #952
- Fix: vdwd2 relax bug, DFTU parameter reading in INPUT, openmp for nonlocal pp by @dyzheng in #1006
- Fix(wannier90): bug for to_wannier90 class initialization in LCAO code by @dyzheng in https://github.com/deepmodeling/abacus-develop/pull/1010
Code refactoring
- Refactor: add HSolver module in LCAO by @dyzheng in #1002
- gint : merge pull from developed by @wenfei-li in #969
- gint : modify cal_env and cal_env_k; move to a separate directory by @wenfei-li in #971
- Gint : modify multi-k force by @wenfei-li in #929
- gint : reconstruction by @wenfei-li in #931
- Gint : reconstruction of grid integration by @wenfei-li in #980
- pull change from develope by @wenfei-li in #970
- Refactor:Replace all FFT with pw_basis by @Qianruipku in #983
- Refactor:Replace FFT of density with ModulePW::PW_Basis by @Qianruipku in #955
- Refactor:Replace fft with new pw_module by @Qianruipku in #986
Tests
- Build: add python for CI result parsing. (#962) by @caic99 in #982
- test(cusolver): add the running of hsolver_diago in CUDA TEST by @pxlxingliang in #996
- test(cusolver): do not run elpa/scalapack in the UT of Cusolver by @pxlxingliang in #995
- test(integrate): add CI tests for out_dm=1, out_mul=1, init_wfc=file in lcao, respectively by @hongriTianqi in #976
- test(integrate): add the test of out_wfc_r by @pxlxingliang in #968
- test(integrate): add the test of output of out_wfc_pw by @pxlxingliang in #975
- test(integrate): ienvelope calculation with lcao by @hongriTianqi in #949
- test(integrate): istate calculation in lcao by @hongriTianqi in #963
- test(integrate): out_wfc_lcao > 0 in lcao basis by @hongriTianqi in #960
- test(integrate):add the test about the key mem_saver by @pxlxingliang in #979
- test(performance):fix run command, out of summary, P105 ref result by @pxlxingliang in #993
Full Changelog: v2.2.3...v2.2.4
v2.2.3
Feature
- Dipole correction by @YuLiu98 in #927
- Add module_pw to Cmakelists by @Qianruipku in #935
- Build(docker): add an image for running. by @caic99 in #941
- feature : add continuous writing function for running_md.log by @YuLiu98 in #940
Bug fix
- fix(MD): init matrix in write_electric_pot function by @YuLiu98 in #934
- fix: MD stuck by @Qianruipku in #938
Refactor
- Refactor: Using HSolver in PW code,replace evc with psi in GlobalC::wf by @dyzheng in #923
- CI: build libxc by default. by @caic99 in #924
- Docs: update instructions on installing abacus. by @caic99 in #943
- add some examples for plot PDOS and PBANDS using plot_tools. by @dyzheng in #950
Test
- example(performance): add the collection of "Maximum resident" by @pxlxingliang in #922
- test(integrate): HSE calculation with water by @hongriTianqi in #939
- test(parallel): add UT of functions in parallel_reduce.cpp by @hongriTianqi in #936
Full Changelog: v2.2.2...v2.2.3
v2.2.2 : performance optimization and refactor for ESolver
Feature
- Feature : implement multi-k envelop function: Gint_k:cal_env_k by @maki49 in #808
- Merge SDFT branch to develop branch. by @Qianruipku in #890
- DeePKS orbital (bandgap) label for multi-k case by @ouqi0711 in #884
- Feature: out_proj_band added from abacusmodeling by @dyzheng in #919
Performance
- gint : 1. removed more obsolete codes; 2. add new implementation of gamma force by @wenfei-li in #880
- Gint : 1. remove obsolete code; 2. t1<=t2 to iat1<=iat2 in cal_pvpR_reduced by @wenfei-li in #894
- gint : removed obsolete code; implement new gamma force & stress by @wenfei-li in #897
Fix
- fix a bug that can lead to segment fault in 817_NO_LT_fcc by @Qianruipku in #887
- fix : set diag_ethr = 0.0 for lcao_in_pw and lcao. by @Qianruipku in #893
- Fix: not using
DM[is]
when no atom found on grid by @wenfei-li in #911 - fix: Add the support to the multiple line heading in pseudopotential. by @sunliang98 in #910
- Fix: added support for H pseudopotential without projectors by @dyzheng in #908
- Fix "ntype=0" bug in hse example by @maki49 in #918
Refactor
- by @Qianruipku in #875
- refactor: modify input-main.md and add const for parameters by @Qianruipku in #892
- Refactor: added ElecStatePW and ElecStateLCAO for finishing HSovlerPW and HSolverLCAO by @dyzheng in #888
- fix(hsolver): correct the dimension of input eigenvalue array in scalapack interface by @pxlxingliang in #873
- fix(hsolver):initialize static variable
is_already_decomposed
by @pxlxingliang in #876 - fix(hsolver):correct the input of set_elpahandle in complex case by @pxlxingliang in #877
- Merge LCAO-refactor into develop by @maki49 in #909
- gint : removed more unused codes; unify the interfaces a little bit by @wenfei-li in #913
Test
- test(parallel): UT of methods in parallel_kpoints by @hongriTianqi in #912
- test(hsolver):add the parallel test of CG and DAVIDSON diagonalization by @pxlxingliang in #865
- test(hsolver): add the test of ELPA/SCALAPACK by @pxlxingliang in #879
- test(LCAO): UT of functions in gint_gamma_rho.cpp by @hongriTianqi in #881
- test(integrate): add the test of kpar by @pxlxingliang in #899
- test(performance): add performance test examples by @pxlxingliang in #900
- test(mpi): UT of functions in parallel_common.cpp by @hongriTianqi in #905
- test(Parallel): add UT of
split_diag_world
andsplit_grid_world
by @hongriTianqi in #906 - added test case for DeePKS multi-k band gap label by @ouqi0711 in #907
Full Changelog: v2.2.1...v2.2.2