Skip to content

Releases: deepmodeling/abacus-develop

v3.8.1

21 Oct 08:42
146a509
Compare
Choose a tag to compare

What's Changed

Build(deps)

CI

Docs

  • Modify the berry phase document. by @jingan-181 in #5293
  • update default behaviors on building built-in libm by @caic99 in #5218
  • update the documentation about pseudopotential and orbitals by @kirk0830 in #5294

Feature

  • Becke's partition for multi-center grid integration by @jinzx10 in #5292
  • Enable PyTorch backend for DeePMD-kit v3 by @YuLiu98 in #5253
  • Support outputting real space wave functions in Gaussian CUBE format by @AsTonyshment in #5140
  • update new version of dav_subspace with higher performance by @dyzheng in #5199
  • TDDFT now can use ks_solver=cusolver, and velocity gauge is able to use Heaviside external field by @AsTonyshment in #5238

Fix

Refactor

Test

Tools

Full Changelog: v3.8.0...v3.8.1

v3.8.0

08 Oct 01:57
29b3abc
Compare
Choose a tag to compare

What's Changed

Feature

  • Add davidson function to pyabacus by @a1henu in #5112
  • Calculate and output electron localization function (ELF) with KSDFT and OFDFT by @sunliang98 in #5139
  • Delley's grid for quadrature on the unit sphere by @jinzx10 in #5131
  • RI-Hartree for LR-TDDFT benchmark with FHI-aims by @maki49 in #5084
  • Radial quadrature grid by @jinzx10 in #5173
  • Space group symmetry for EXX based on LibRI v0.2.1.0 by @maki49 in #5063
  • add new init_chg method with wavefunctions by @Qianruipku in #5082

Fix

Perf

Refactor

Tools

Build

Docs

Full Changelog: v3.7.5...v3.8.0

v3.7.5

09 Sep 06:41
732c2b8
Compare
Choose a tag to compare

What's Changed

Feature

Performance

  • Perf: optimize the openmp strategy in calculate_HR by @dzzz2001 in #5037
  • Perf: optimize function snap_psibeta_half_tddft by @dzzz2001 in #5041

Fix

Refactor

  • Refactor: refactor set_diagethr func and remove phsol from esolver [version 2] by @haozhihan in #5017
  • Refactor:Replace GlobalV::KSPACING with PARAM.inp.kspacing. by @A-006 in #5040
  • Fix&Refactor: support naive and complete CIF file I/O interface by @kirk0830 in #5023
  • Refactor: remove GlobalC::ORB from module_io by @jinzx10 in #5056
  • Refactor: remove useless code about phsol by @haozhihan in #5054

Full Changelog: v3.7.4...v3.7.5

v3.7.4

26 Aug 05:04
0324167
Compare
Choose a tag to compare

What's Changed

Feature

Fix

  • Fix an EXX bug with out_mat_hs2 by @maki49 in #4956
  • fix bug in catching properties for out_eband_terms by @maki49 in #4962
  • Fix: Fix the I/O problem of Rappe pseudopotential caused by the change of mesh. by @sunliang98 in #4973
  • Fix: do not always output HexxR but only for NSCF by @maki49 in #4994
  • Fix: enable scf_ene_thr for EXX outer loop by @maki49 in #4993
  • Fix compile warnings about after_scf by @maki49 in #4996

Refactor

  • Refactor: rescale vel to temperature when read in vel by @YuLiu98 in #4953
  • Refactor: reset_diag_ethr && cal_hsolve_error func in hsolver by @haozhihan in #4940
  • Refactor: Remove Dependency on Custom Class const_nums in david by @Cstandardlib in #4950
  • Refactor: update charge extra to accelerate md by @YuLiu98 in #4954
  • Refactor: Remove the inheritance relationship between hsolverLCAO/hsolverLIP and hsolver by @haozhihan in #4960
  • Refactor: remove template in Chebyshev by @Qianruipku in #4972
  • Performance: heterogeneous operator of npw loop in force_cc. by @grysgreat in #4978

Tools

New Contributors

Full Changelog: v3.7.3...v3.7.4

v3.7.3

12 Aug 07:52
1ddf8e2
Compare
Choose a tag to compare

What's Changed

Feature

  • (for development) support general realspace projection onto PW basis: SphericalBesselTransformer-based-FourierTransformation by @kirk0830 in #4864
  • Support outputting partial charge densities for different k-points and spins separately when using PW basis set by @AsTonyshment in #4829
  • automatically use gpu if possible by @caic99 in #4826
  • enable SCF can converge if SCF reach a chosen energy threshold by @WHUweiqingzhou in #4898
  • enable multi-k calculation for CUDA version of module_gint by @dzzz2001 in #4839
  • stop abacus manually according to the keyword in EXIT by @YuLiu98 in #4822

Doc

Fix

  • Fix a bug in stress op that could cause errors in OpenMP multithreading calculations. by @grysgreat in #4932
  • Fix bug due to the forgotten fix_gamma in writing eband terms by @maki49 in #4934
  • Fix bug in add_HexxR at nspin=4 by @maki49 in #4893
  • Fix the issue of mete-vlocal not being initialized. by @A-006 in #4933
  • Fix the issue of some timer instances not being closed, resulting in incorrect time statistics by @AsTonyshment in #4939
  • Incorrect negative signs in length gague RT-TDDFT by @AsTonyshment in #4871
  • Revert "Move the cal_nnrg file and modify the variable length. (#4886)" by @A-006 in #4921
  • a possible bug when dir is auto by @Qianruipku in #4948
  • avoid nan in the output of time percentage by @pxlxingliang in #4857
  • avoid the redundant file-reading and remove the useless output in write_Vxc by @maki49 in #4902
  • correct the behavior of profile1d function in cube_manipulator.py by @kirk0830 in #4892
  • dcu error in pw_force calculation by @grysgreat in #4786
  • delete the unexpected debug info during scf by @kirk0830 in #4936
  • error with DFTU force&stress with NSPIN=4 by @dyzheng in #4825
  • fix the bug induced by pseudo_dir and orbital_dir default value by @Qianruipku in #4881
  • improve the experience of using molden.py postprocessing tool by both developer and user by @kirk0830 in #4942
  • reference to parameter instead of global variable in tool functions in DiagoDavid by @Cstandardlib in #4873

Perf

  • optimize the construction of HexxR in NSCF by @maki49 in #4952
  • use openmp to accelerate fvnl_dbeta_gamma.cpp by @dzzz2001 in #4814

Refactor

Tools

Full Changelog: v3.7.2...v3.7.3

v3.7.2

29 Jul 06:26
a0d709f
Compare
Choose a tag to compare

Feature

  • Feature: LR-TDDFT by @maki49 in #4472
  • Feature: enable multiple species in LJ by @YuLiu98 in #4659
  • Feature : Add deepks_v_delta, which can help to train DeepKS model with loss term about Hamiltonian, psi and band by @xuan112358 in #4594
  • Feature: nspin=2 LR-TDDFT solving singlet/triplet by @maki49 in #4710
  • Feature: read a slice of bands from WFC_NAO files & enable custom close-to-HOMO nocc for LR by @maki49 in #4691
  • Feature: Support calculation of multi-k point band-decomposed charge density under LCAO basis by @AsTonyshment in #4698
  • Feature: output vacuum level when output electrostatic potential by @YuLiu98 in #4799
  • Feature: write band energy of T, VL, VNL, Hartree and XC terms separately by @maki49 in #4805
  • Feature: Partial function heterogeneous parallel acceleration of force/stress_cc. by @grysgreat in #4555
  • Add normalization procedure for partial charge in multi-k calculations when if_separate_k=1 by @AsTonyshment in #4724
  • Feature: support k-parallelism diagonalization in lcao basis by @hongriTianqi in #4650
  • update out_dos_lcao of '2' for output PDOS by @Chentao168 in #4782

CI

Perf

  • Perf: optimize function grad_rl_sph_harm by @dzzz2001 in #4671
  • Perf: optimize function pow in module_gint by @dzzz2001 in #4680
  • Perf: optimize force calculation in module_gint (Useful information about how to take advantages of data locality to improve the code efficiency) by @dzzz2001 in #4727

Fix

  • Fix MKL problem in pyabacus example ex_s_rotate.py by @maki49 in #4669
  • Fix a possible compile error in module_lr/lr_spectrum.cpp by @maki49 in #4672
  • Fix the problematic logic in catch_properties.sh induced by #4472 by @maki49 in #4678
  • Fix the exx-md/relax bug induced by LM refactor by @maki49 in #4686
  • Fix: change C++14 codes to C++11 by @Qianruipku in #4682
  • Fix the missing EXX operator and minor refactor in LR-HSE by @maki49 in #4696
  • Fix: fix a typo related to pexsi in fedm_gamma.cpp by @Flying-dragon-boxing in #4702
  • Fix the bug causing incorrect Berry phase calculations under the pw basis. by @jingan-181 in #4704
  • Fix: error of non-diagonal nonlocal pseudopotential with LCAO by @dyzheng in #4705
  • Fix: replace part of GlobalV::var by parameter by @Qianruipku in #4706
  • Fix: memory leak of basis set in david by @Cstandardlib in #4731
  • Fix: replace most of bare pointers with weak/unique_ptr in module_lr to prevent memory leak (Useful information about how to use smart pointers in C++11)) by @maki49 in #4720
  • Fix: DeePKS MD calculation restart by DMK and fixed the lack of DeePKS tests by @dyzheng in #4605
  • Fix: eliminate compilaton error due to the #define private public macro in all unittests by @kirk0830 in #4733
  • Fix: no Fail of read_input_serial_test.cpp by @Qianruipku in #4749
  • Fix: Fix the memory leak cause by kbeta in read_pp.cpp by @sunliang98 in #4758
  • Fix: fix a memory leak in module_gint by @dzzz2001 in #4721
  • Fix: consider fractional electron number by @Qianruipku in #4770
  • Fix: eliminate the implicit type conversion when calculating number of electrons of system and repair bessel_nao_rcut behavior by @kirk0830 in #4788
  • Fix a memory leak in LR constructor by @maki49 in #4793
  • Fix bugs in deepks_v_delta by @xuan112358 in #4780
  • fix: wrong use of bessel_nao_rcut by @Qianruipku in #4792
  • Fix the incorrect calculation of partial charge for multi-k-points under both PW and LCAO when symmetry is turned on by @AsTonyshment in #4803

Refactor

  • Refactor: adjust cif file output by @hongriTianqi in #4584
  • Refactor: remove EXX in LM and finally remove LM by @maki49 in #4679
  • Refactor: remove comm_2D from Parallel_2D (Useful Information: BLACS encapsulates MPI and maintains its own internal data structure for MPI communicators) by @jinzx10 in #4658
  • delete redundant setting in STRU by @Satinelamp in #4689
  • Refactor: replace most of input varibles by parameter by @Qianruipku in #4693
  • Refactor david: transitionally replace the Psi-type variables basis and psi by @Cstandardlib in #4701
  • Refactor david: remove HamiltPW::sPsi inside DiagoDavid by @Cstandardlib in #4708
  • Refactor: reorganized HSolverPW<T, Device>::solve function in HSolverPW by @haozhihan in #4675
  • Refactor: Remove useless variables from read_pp.h. by @sunliang98 in #4711
  • Remove redundant code about david in hsolver by @Cstandardlib in #4713
  • Refactor: separate parallel_comm from parallel_global by @haozhihan in #4715
  • Refactor ESolver, separate out some functions that will be moved to other places later. by @mohanchen in #4812
  • Refactor: enable const md_para as md_line passing parameter by @YuLiu98 in #4808
  • Refactor david: complete removal of Psi and Hamilt datatypes by @Cstandardlib in #4722
  • Refactor hsolver: redesign david interface to be consistent with dav_subspace by @Cstandardlib in #4726
  • Refactor: Remove most usage of pdiagh in hsolver_lcao.cpp by @Critsium-xy in #4742
  • Refactor: remove the explicit use of std::make_unique use in unittest by @kirk0830 in #4745
  • Remove init_basis_lcao from ESolver_LCAO to LCAO_domain (Useful information about how to clean up ESolver) by @mohanchen in #4746
  • Refactor for the DeePKS module by @mohanchen in #4762
  • Refactor david: add docs and standardize the code by @Cstandardlib in #4734
  • Refactor: Remove usage of pdiag_parak in hsolver_lcao by @Critsium-xy in #4767
  • Reduce the size of LCAO_deepks_torch.cpp by @mohanchen in #4773
  • Style: add braces to avoid dangling else in module_io/restart.cpp by @Cstandardlib in #4774
  • Refactor: refactor set_diagethr, cal_hsolerror, cal_hsolerror func in hsolver class by @haozhihan in #4769
  • Refactor: move GPU deallocation code in david by @Cstandardlib in #4794
  • Refactor DeepKS (the fourth one) by @mohanchen in #4784
  • Refactor: reorder INPUT parameters by @Qianruipku in https://github.com/deepmodeling/a...
Read more

v3.7.1

12 Jul 08:33
2bead10
Compare
Choose a tag to compare

CI

Fix

Refactor

Full Changelog: v3.7.0...v3.7.1

v3.7.0

27 Jun 10:05
a339356
Compare
Choose a tag to compare

What's Changed

Feature

Fix

  • Fix: BLACS lib in unit test by @jinzx10 in #4338
  • Fix: report error when fr-uspp used in linear calculations by @YuLiu98 in #4348
  • Fix: address memory leak with single precision by @denghuilu in #4492
  • Fix: correct the dimension of wfc_k_grid for allocating memory in istate_envelope function by @kirk0830 in #4494
  • fix the output format in aveElecStatPot.py by @xdzhu in #4367
  • Fix: support cross-boundary structures in orbital generation by @jinzx10 in #4376
  • Fix: matrix bug in uspp by @YuLiu98 in #4397
  • Fix: no inversion symmetry, reset symmetry of SOC calculation to -1 by @dyzheng in #4375
  • Fix: improve the precision according to issue#4183 by @kirk0830 in #4460
  • Fix: remove the warning_quit when there are more than 50 basis of one atom by @kirk0830 in #4461
  • Fix: correct function read_abacus_lowf by @kirk0830 in #4433
  • fix: fix the incorrect usage of macro #elif by @pxlxingliang in #4478
  • Fix: bug in mulliken output by @hongriTianqi in #4463

Test

Perf

  • Perf: Optimize hsolver GPU code (useful information of GPU optimization: __syncwarp() should be used instead of __syncthreads()) by @OldDriver233 in #4295
  • Perf: remove unnecessary sync for cuda ops by @caic99 in #4361
  • Perf: reduce data transmission in the GPU code of module_gint by @dzzz2001 in #4356
  • Perf: use less memory and optimize performance to calculate force and stress in pw base by @dyzheng in #4047

Docs

Refactor

  • Refactor: redesign the constructor and member variables of davsubspace class by @haozhihan in #4330
  • Update before_all_runners in ESolver by @mohanchen in #4334
  • Add and Remove some functions in klist.h etc by @Haerxile in #4257
  • Update write_potential and "others" function in ESolver by @mohanchen in #4336
  • Update the 'calculation' description in the documents and fix a small bug in elecstate_energy.cpp, update set_force and set_stress in LCAO_matrix by @mohanchen in #4340
  • refactor: separate the print_psi from wfc_2d_to_grid and remove the invalid call by @pxlxingliang in #4268
  • refactor: remove the usused LOC in getForceStress by @pxlxingliang in #4343
  • Modify the average electrostatic potential script (Useful Information:How to plot electrostatic potential) by @xdzhu in #4350
  • Refactor: replace cudamalloc and cudafree with cuda_mem_wrapper by @dzzz2001 in #4347
  • Refactor: Remove DiagoIterAssist dependencies in DiagoDavid by @Cstandardlib in #4346
  • CI: add pre-commit.ci to apply clang-format and clang-tidy fixes by @caic99 in #4225
  • Using the standard CUDA <<<...>>> syntax to avoid compilation errors. by @LiuXiaohui123321 in #4362
  • Refactor: add alternatives to functions LOWF::gamma_file and LOWF::allocate_k by @kirk0830 in #4331
  • Refactor: change R_index in class AtomPair to type ModuleBase::vector3<int> by @DylanWRh in #4243
  • Refactor: remove Kubo-Greenwood and DOS functions from esolver by @Qianruipku in #4355
  • Add header file when using memset() function to avoid compi… by @LiuXiaohui123321 in #4380
  • Refactor: replace pointer to Diago_DavSubspace with object by @Cstandardlib in #4386
  • Refactor: delete some useless files in module_psi/kernel/ folder by @haozhihan in #4391
  • bug: warning_quit when reading WFC file failed. by @pxlxingliang in #4388
  • Refactor istate_charge.cpp using new DensityMatrix class by @AsTonyshment in #4392
  • Refactor: remove unused class Output_Interface by @hongriTianqi in #4394
  • Update LCAO_matrix and related functions and delete LCAO_gen_fixedH by @mohanchen in #4400
  • Add several warning quits in DensityMatrix and Gint when parameters are not initialized by @AsTonyshment in #4389
  • delete 31 double arrays in LCAO_matrix, add a new class named force_stress_arrays.h used in force and stress calcualtions by @mohanchen in #4407
  • Refactor: Initial removal of Hamilt from diag_once func in Davsubspace by @haozhihan in #4398
  • Refactor: Mulliken output codes with more flexible io interfaces by @hongriTianqi in #4359
  • Refactor: extracted transpose parameter checking routine of gemm/v by @OldDriver233 in #4279
  • Adding comments and modifying properties in the PW module by @DoctorDra in #4405
  • Refactor: remove useless function from wavefunc by @Qianruipku in #4408
  • Refactor: move snap_psibeta_half_tddft to module_tddft by @jinzx10 in #4414
  • Refactor: Initial removal of psi::Psi<T, Device> from Diago_DavSubspace by @haozhihan in #4416
  • Use Vector to replace new and delete in gint,spilt gint_tools and change Makefile,remove ORB in gint by @A-006 in #4353
  • Refactor: 1. change "enum calculation_type" to "enum class calculation_type" for safety by @PeizeLin in #4319
  • Refactor: delete some variables of LCAO_Matrix by @WHUweiqingzhou in #4415
  • refactor: output sparse DMR by Output_HContainer instead of output_dm1.h/cpp by @pxlxingliang in #4374
  • Refactor: replace pointer to Diago classes with object by @Cstandardlib in #4409
  • Build: disable build libm by default by @caic99 in https://github.com/deepmodeling/a...
Read more

v3.6.5

07 Jun 12:26
9084ccc
Compare
Choose a tag to compare

What's Changed

Feature

  • Feature : set deepks_equiv as input variable by @wenfei-li in #4195
  • Feature: Input and output vector potential in tddft calculation by @ESROAMER in #4173
  • Feature: a better looking of SCF iteration information on screen by @kirk0830 in #4185
  • Feature : printing initial charge density by @wenfei-li in #4254

Fix

  • Fix: address the atomicAdd error by @denghuilu in #4234
  • Fix: replace cal_stress in GPU relax calculation,use NUM_STREAM in INPUT file and fix memory leak in force calculation by @A-006 in #4200
  • Fix: add one whitespaces between each column of scf stdout by @kirk0830 in #4252
  • Fix: fix the bug in dav gpu code and add more integrate test for GPU by @haozhihan in #4265
  • Fix: makefile cannot compile tests in module_pw by @Qianruipku in #4270
  • Fix: fix cusolver error under multi-k situation by @dzzz2001 in #4278
  • Fix: present orb_matrix file is not safely written/renamed by @kirk0830 in #4299

Perf

  • Perf: split code_gen.cpp to reduce compilation time by @dzzz2001 in #4210
  • Perf: optimize single-process performence of cusolver by @dzzz2001 in #4191
  • Perf: optimize single-process performence of cusolver by @dzzz2001 in #4191
  • Perf: Incorporate OpenMP in the force and rho computations on the GPU by @dzzz2001 in #4280
  • Perf: optimize psir_dot function in gint_rho_gpu.cu by @dzzz2001 in #4326

Refactor

  • Refactor: Remove unused function Gint_Gamma::vl_grid_to_2D and related variables by @DylanWRh in #4229
  • Refactor: rename diago_blas to diago_scalapack by @haozhihan in #4233
  • Refactor: Modify class BaseMatrix by @DylanWRh in #4239
  • Refactor: remove all globalV in diago_david by @haozhihan in #4211
  • Refactor: simplified Parallel_2d interface by @jinzx10 in #4237
  • Refactor: Replace modify the functions form cu files to cpp files by @A-006 in #4245
  • Refactor: Encapsulation of K_point modules by @jwsyzy in #4240
  • Refactor LCAO force: merge gamma and k by @maki49 in #4263
  • Refactor: Remove Unused chg_extrap = dm INPUT Parameter Code by @AsTonyshment in #4285
  • Refactor: Remove redundant function and modify comments in the PW module by @yang2022i in #4271
  • Refactor: eliminate most use of LOWF instance in esolver - step 1 by @kirk0830 in #4273
  • Refactor Separate the coupled GPU task functions. by @A-006 in #4281
  • Refactor: Improve the parallel part of the K-point module by @jwsyzy in #4289
  • Refactor: delete GlobalV::CURRENT_SPIN in code by @dyzheng in #4301
  • Refactor: removal of GlobalC::UOT by @jinzx10 in #4322

Test

  • Test: Modify the input file of examples/interface_wannier90 to run the Wannier90 interface correctly. by @jingan-181 in #4236
  • test: modify the script to read energy from running_wcf_xx.log in example/bsse by @pxlxingliang in #4259
  • CI: build docs only for main repo by @caic99 in #4306

Doc

Full Changelog: v3.6.4...v3.6.5

v3.6.4

24 May 10:06
119e14d
Compare
Choose a tag to compare

What's Changed

Doc

Feature

Feature

Fix

Refactor

Test

New Contributors

Full Changelog: v3.6.3...v3.6.4