Releases: deepmodeling/abacus-develop
Releases · deepmodeling/abacus-develop
v3.9.0.2
What's Changed
Feature
- Feature: support the
default
as the value ofdft_functional
when initialize vdw by @kirk0830 in #5949 - Feature: Add HR output label for DeePKS. by @ErjieWu in #5968
- Feature: Hybrid functionals for planewave basis by @Flying-dragon-boxing in #5940
- Toolchain 202501 by @QuantumMisaka in #5980
Fix
- Fix: Fix crash in RT-TDDFT current calculation with length gauge when using > 20 MPI processes by @AsTonyshment in #5959
- Fix: Fix segmentation fault in integrate test
312_NO_GO_wfc_get_wf
by @AsTonyshment in #5970 - Fix wavefunction output logic of ks pw by @Cstandardlib in #5974
- Fix: BPCG results not stable when using CUDA AWare MPI by @Qianruipku in #5976
- Fix: One segmentation fault related to EXX PW by @Flying-dragon-boxing in #5993
Refactor
- Delete conv_esolver in esolver, and add 'conv_esolver' as a parameter in iter_finish, after_scf, and update_pot functions by @mohanchen in #5941
- Refactor: before_scf of esolver_fp by @YuLiu98 in #5943
- Refactor: remove useless head files by @Qianruipku in #5945
- Refactor:Modify the output functions in elecstate. by @A-006 in #5954
- Refactor: Remove GlobalV in DeePKS and simplify some functions. by @ErjieWu in #5952
- Update after_scf in ESolver by @mohanchen in #5957
- Update ESolver, delete pelec->charge, instead using chr defined in ESolver_fp directly by @mohanchen in #5963
- Some small updates for the format by @mohanchen in #5972
- Refactor: in ESolver_KS_PW, calculate deband in iter_finish, not in hamilt2density by @Flying-dragon-boxing in #5973
- Refactor: decrease memory cost of get_s by @YuLiu98 in #5979
- Update timer, only print out those timers that consume more than 1% of total time by @mohanchen in #5984
- Refactor:Modify Weights and Ebands Functions in the elecstate Module by @A-006 in #5985
- Update some formats in LCAO_operator and ESolver by @mohanchen in #5987
- Refactor: move psi init to before_all_runners by @YuLiu98 in #5992
- [Refactor] Remove my_math.hpp by @Critsium-xy in #6002
Perf
- Perf: openmp for calaulate_HR in deepks_lcao.cpp by @dzzz2001 in #5937
- Perf: openmp for cal_force_stress by @dzzz2001 in #5956
- Perf: inline function of complexarray by @dzzz2001 in #5964
- Performance: Optimize para_gemm and para_linear_transform by @Qianruipku in #5967
- perf the compute of check_atom_stru and add openmp by @A-006 in #5962
Doc
- Doc: add OpenMPI usage recommendations and fix doc error by @dzzz2001 in #5965
- Fix: Fix a LaTeX rendering issue related to RT-TDDFT parameters in online documentation by @AsTonyshment in #5971
- Doc: polish Quick Start part of online doc by @WHUweiqingzhou in #6006
Test
- [Test] Remove pre-commit bot by @Critsium-xy in #5942
- Tests: Add GPU tests for out_wfc_pw & out_wfc_r by @Cstandardlib in #5989
- Tests: one integrate test for exx pw, only for verifying whether exx pw works by @Flying-dragon-boxing in #5994
- test: correct INPUT of examples/spin_polarized/ATOM by @pxlxingliang in #5998
Full Changelog: v3.9.0.1...v3.9.0.2
v3.9.0.1
What's Changed
Feature
- Feature: binary format of backup charge density by @YuLiu98 in #5782
- [Feature] Add col-major encapsulation for blas kernels and add some lacking kernels from blas by @Critsium-xy in #5790
- Feature: enable init_chg=file for metagga by @YuLiu98 in #5792
- [Feature] Add some GPU kernels to blas_connector by @Critsium-xy in #5799
- feature: parallel solve subspace diagonalization in dav_subspace by @pxlxingliang in #5549
- Feature: Support machine-learning based kinetic energy density functional for OFDFT by @sunliang98 in #5777
- [Feature] Complete all kernels' GPU implement in blas_connector.cpp by @Critsium-xy in #5833
- Feature: Add planewave parallization support for BPCG method by @Cstandardlib in #5849
- [Feature] Add vector_mul_vector, vector_div_vector and vector_add_vector in blas_connector and added some GPU tests. by @Critsium-xy in #5858
- [Feature] Add memory functions using AbacusDevice_t by @Critsium-xy in #5861
- Feature: add para_gemm to do parallel matrix multiply by @Qianruipku in #5870
- RT-TDDFT GPU Acceleration: RT-TD now fully support GPU computation by @AsTonyshment in #5773
- Feature: Make BPCG support band parallelism by @Qianruipku in #5873
- Solving linear equations to evolve the wave function in RT-TDDFT. by @ESROAMER in #5925
- First stage of add DSP FFT by @A-006 in #5878
Fix
- Fix: Reopen UT in HContainer output. by @ErjieWu in #5781
- Fix: correct the typo and format error in doc by @kirk0830 in #5788
- Fix: instable nonlocal pp in uspp by @YuLiu98 in #5798
- Fix: optimize lr_spectrum by @maki49 in #5805
- Fix some compile warnings about esolver by @maki49 in #5807
- Fix: Fix the Segmentation fault caused by zero atom case with LCAO basis. by @sunliang98 in #5821
- Fix: add const in module_lr by @maki49 in #5817
- [Fix] Fix the issue that single precision caculation is not runable on CUDA version by @Critsium-xy in #5825
- Fix: support negative value in parse_expression by @1041176461 in #5826
- Fix: dmin is replaced by dmax by @haozhihan in #5829
- Fix module_container test dependency on DCU by @Cstandardlib in #5838
- fix: memory leak when precision=single by @Qianruipku in #5839
- Fix: use gemm instead of einsum in BPCG by @Cstandardlib in #5827
- Fix a bug and a magic number in module_exx_symmetry by @maki49 in #5848
- Fix: wrong band output when kpar > 1 by @Qianruipku in #5847
- Fix: modify orb info manually by @YuLiu98 in #5853
- Fix the precision loss in
Tensor
output stream operator<<
by @AsTonyshment in #5866 - Fix:modify cheaktau type and add unittest by @A-006 in #5864
- Fix: Output a warning when the lattice vector is left-handed. by @sunliang98 in #5855
- Fix: Fixed a bug in RT-TDDFT where the electric field was not applied starting from the restart step by @AsTonyshment in #5877
- Fix: parse_expression for scientific notation by @1041176461 in #5882
- Fix: Solve mpi bug for DeePKS. by @ErjieWu in #5886
- Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS by @AsTonyshment in #5905
- Fix: wrong value of nmaxgr by @Qianruipku in #5906
- Fix: incorrect append mode for out_wfc_lcao by @YuLiu98 in #5914
- Fix: Update documentation for
td_lcut
parameter in RT-TDDFT by @AsTonyshment in #5917 - Fix: Add the correct RT-TDDFT electric field force acting on ions by @AsTonyshment in #5918
- Fix the wrong symmetry analysis at nspin=2 by @maki49 in #5926
- fix a bug about hcontainer in exx nscf by @maki49 in #5927
- Fix: useless output by @YuLiu98 in #5928
- Fix: fix cmake bug when USE_CUDA=1 and ENABLE_DEEPKS=1 by @dzzz2001 in #5929
Test
- Restore deepks unit test in gamma-only case and make H_V_delta have full size of Hamiltonian in multi-k case by @xuan112358 in #5785
- delete test print by @A-006 in #5795
- Tests: add checks for opening data files by hsolver tests by @Cstandardlib in #5823
Doc
- Doc: Enhance
ocp
andocp_set
documentation for clarity and error prevention by @AsTonyshment in #5896 - Docs: update docs about init_wfc by @YuLiu98 in #5912
- Update docs related to inputs, scf_thr and ase-abacus by @QuantumMisaka in #5922
Refactor
- Refactor:Move the relaxation part of the ucell function by @A-006 in #5767
- Refactor: Remove global dependence of some functions in DeePKS. by @ErjieWu in #5778
- Refactor: decrease uninitialized member values and the risk of memory leaks in abacus by @A-006 in #5755
- Refactor: Remove some redundant variables and global dependence in DeePKS. by @ErjieWu in #5791
- Refactor:Remove update_tau_pos in ucell by @A-006 in #5783
- Refactor: Enable the support of odd number of electrions in DeepKS orbital by @Liu-RX in #5793
- Refactor: update logic of init_chg by @YuLiu98 in #5801
- Refactor:remove cal_tau from ElecStateLCAO by @A-006 in #5802
- Refactor:Remove Ucell::update_pos_taud by @A-006 in #5794
- Refactor: refactor the constructors of Psi class by @haozhihan in #5761
- Refactor: Remove global dependence of descriptor, orbital_precalc, v_delta_precalc in DeePKS. by @ErjieWu in #5812
- Refactor: modify decimal digit of wfc to 8 by @YuLiu98 in #5820
- Refactor: Remove global dependence in force/stress calculation in DeePKS. by @ErjieWu in #5824
- Refactor: output true external_stress in dp/lj by @YuLiu98 in #5831
- Refactor:remove MPI part funcs of ucell by @A-006 in #5810
- Refactor: Use psi_initializer instead of wavefunc by @Qianruipku in #5775
- Remove TensorMap after cg call in HSolverPW by @Cstandardlib in #5797
- Refactor:Remove the read_atom_species and add read_lattice_constant by @A-006 in #5828
- Refactor: make module_lr/AX a general AO-to-MO transformer by @maki49 in #5834
- Refactor: Remove the global dependence of all remained functions in DeePKS. by @ErjieWu in #5835
- Refactor: Remove LCAO_Deepks from GlobalC. by @ErjieWu in #5844
- Refactor: remove GlobalC::Pkpoint by @Qianruipku in #5846
- Refactor: generalize the transition density matrix in module_lr by @maki49 in #5852
- Update pdm before outputting DeePKS labels by @xuan112358 in #5857
- [Refactor] Rem...
v3.9.0
What's Changed
Feature
- Feature: Allow directly compiling CUDA version on DCU harware by @Critsium-xy in #5727
- Feature: add smooth ethr for all iter methods by @haozhihan in #5732
- Feature: enable cal_force and cal_stress in nscf by @YuLiu98 in #5752
- Feature: LR-TDDFT absorption spectrum in velocity gauge by @maki49 in #5760
- update bfgs_trad method by @19hello in #5662
Fix
- Fix: update kinetic energy when all atoms are fixed by @YuLiu98 in #5729
- Fix: Segment Fault of PAW by @Qianruipku in #5738
- Fix: Segment fault in GPU-Davidson by @Qianruipku in #5763
- Fix stru by @dyzheng in #5772
- Fix: enable ecutrho/ecutwfc > 4 for ncpp by @YuLiu98 in #5765
Docs
- Docs: move doxygen to headers for DiagoDavid class and add some new by @Cstandardlib in #5736
- Docs: update the docs of
exx_ccp_rmesh_times
andexx_real_number
by @Chentao168 in #5758
Refactor
- Refactor: add const for Grid_Driver by @YuLiu98 in #5725
- Refactor: Change some functions in module_deepks into template. by @ErjieWu in #5731
- Refactor:remove GlobalC::ucell in module_elesctate by @A-006 in #5730
- Refactor: remove GlobalC::solvent_model by @YuLiu98 in #5735
- Refactor:Remove GlobalC::ucell by @A-006 in #5737
- Refactor: remove GlobalC::Pgrid by @Qianruipku in #5740
- Refactor: split pseudopot_cell_vl and pseudopot_cell_vnl by @YuLiu98 in #5743
- Refactor: refactor neighbour atom search but no change on algo by @goodchong in #5759
- Refactor: remove the Psi Constructors using
int* ngk_in
by @haozhihan in #5745 - Refactor: Replace
nlm_save
in DeePKS by HContainer objectphialpha
. by @ErjieWu in #5766
Full Changelog: v3.8.5...v3.9.0
v3.8.5
What's Changed
Feature
- Feature: GGA XC kernel for LR-TDDFT at nspin=2 by @maki49 in #5712
- Feature: DFT+U for noncollinear spin calculation with PW base by @dyzheng in #5703
- Add support for INPUT deepks_v_delta>0 in multi-k points DeePKS calculations. by @ErjieWu in #5700
Fix
- Fix: init_mixing before
beforescf
by @WHUweiqingzhou in #5683 - Fix the overwriting between xc kernel components by @maki49 in #5654
- Fix: initialize values in module_relax/relax_new by @dyzheng in #5696
- Fixed the bug of wannier90 interface by @jingan-181 in #5719
- Fix: add check for smearing_method by @Qianruipku in #5718
- Fix: Fix the Ewald force and stress when atom number of some elements are zero. by @sunliang98 in #5721
Refactor
- Refactor: replaced the original atomlink data structure with the Standard Template Library by @goodchong in #5642
- Refactor:Remove GloblaC::ucell in module_hsolver by @A-006 in #5657
- Refactor: remove GlobalC::Grid_D in hamilt_lcao by @YuLiu98 in #5664
- Refactor:Remove GlobalC::ucell in module_relax by @A-006 in #5668
- Refactor:Remove GlobalC::ucell in module_pwdft by @A-006 in #5658
- Refactor:Remove GlobalC::ucell in module_io by @A-006 in #5677
- Refactor: Move the print of H(k)&S(k) and wavefunctions to after_scf. by @ErjieWu in #5682
- Refactor: Remove the functions about pseudopotential from Unitcell. by @sunliang98 in #5673
- Update bfgs.cpp by @mohanchen in #5656
- refactor: move parallel_2d to module_base by @pxlxingliang in #5625
- Refactor: Remove
cal_nelec
andcal_nbands
fromunitcell.cpp
. by @sunliang98 in #5694 - Refacor: change the order of k-point parallel and band parallel. by @Qianruipku in #5692
- Refactor: remove spin_now in Gint_k by @maki49 in #5689
- Refactor:Remove GlobalC::ucell in module_lr,module_psi by @A-006 in #5691
- update exx code format by @linpeize in #5701
- Refactor: add smooth threshold support for
david
method by @haozhihan in #5697 - rename Conv_Coulomb_Pot_K::Ccp_Type by @linpeize in #5702
- Refactor: add smooth threshold support for
bpcg
method by @haozhihan in #5709 - Refactor:remove GlobalC::ucell in module_ri by @A-006 in #5698
- Refactor: add smooth threshold support for cg method by @haozhihan in #5713
- Refactor: Combine gamma-only and multi-k versions of some functions in DeePKS. by @ErjieWu in #5717
- Refactor: remove GlobalC::GridD by @YuLiu98 in #5720
Doc
- Update Wannier90 interface document. by @jingan-181 in #5714
- Docs: Gitee repo info and toolchain info update by @QuantumMisaka in #5666
Full Changelog: v3.8.4...v3.8.5
v3.8.4
What's Changed
Refactor
- Feature: set relax_nmax=0 to enable dry run by @YuLiu98 in #5595
- Feature: enable get_s for nspin=4 by @YuLiu98 in #5614
- Feature: output mat of <phi|r|phi> with get_S by @dyzheng in #5611
- add RDMFT(Reduced Density Matrix Functional Theory) code (Useful Information: for those who what to contribute codes to ABACUS, this is a good example) by @JGHan7 in #5325
- Implement a new BFGS optimizer, used for geometry relaxation by @19hello in #5467
Fix
- Fix: Fix the warning triggered in error of
SCAN_END
. by @sunliang98 in #5576 - Fix: EXX suports restart scf from HexxR.csr produced by
out_chg
by @maki49 in #5586 - Fix format issues in online manual by @xuan112358 in #5588
- fix stuck in out_chg by @Qianruipku in #5603
- Fix wrong nscf energy of sDFT by @Qianruipku in #5618
- Fix: symmetry prec mismatch between real and reciprocal space lattice by @dyzheng in #5623
- Fix low efficiency of stress_kin in DCU by @Qianruipku in #5636
- Fix a segfault in LR-TDDFT when nspin=1 by @maki49 in #5652
Test
- Test: Fix tests to work without MPI by @Cstandardlib in #5631
- Test: check if abacus end normally in CI test by @pxlxingliang in #5634
Doc
Refactor
- Refactor: remove
wf
fromesolver
by @haozhihan in #5567 - Refactor: remove some unused variables in module_gint by @dzzz2001 in #5568
- Update elecstate.cpp by @mohanchen in #5579
- Refactor: remove GlobalC::ucell in esolver by @YuLiu98 in #5569
- Update LCAO_hamilt.hpp by @mohanchen in #5580
- Update overlap_new.cpp by @mohanchen in #5581
- Update operator_lcao.h by @mohanchen in #5584
- Refactor: move tmp charge density output to esolver_ks by @YuLiu98 in #5592
- Refactor: remove template for get_S by @YuLiu98 in #5593
- update the DCU compile by @A-006 in #5563
- Refactor: split sum_stoband to sum_stoband and cal_storho in sDFT by @Qianruipku in #5600
- Grid batching by adapted cut-plane by @jinzx10 in #5599
- Refactor: move psiinit file to hsolver folder by @haozhihan in #5601
- Refactor: Remove
cal_ux
from UnitCell. by @sunliang98 in #5608 - Refactor: move wf_atomic and wavefunc files by @haozhihan in #5613
- Refactor:Remove the dependency of the Psi in the FFT module by @A-006 in #5564
- Refactor: remove #include hsolver.h by @haozhihan in #5609
- refactor: modify the default return value of warning quit to 1 by @pxlxingliang in #5556
- Refactor: remove GlocalC::ucell in elecstate_energy_terms.cpp by @YuLiu98 in #5630
- Refactor:Remove GlobalC::ucell in module_cell by @A-006 in #5626
- Refactor : Remove GlobalC::ppcell by @Qianruipku in #5622
- Update rdmft.h by @mohanchen in #5628
- Update rdmft_tools.cpp by @mohanchen in #5629
- Update esolver_ks_lcao.cpp by @mohanchen in #5632
- Refactor: Move
if (PARAM.inp.nspin == 4)
intocal_ux(ucell)
. by @sunliang98 in #5637 - Refactor:Remove GlobalC::ucell in module_lcaodft by @A-006 in #5649
- Refactor:Remove GlobalC::ucell in the module_surchem by @A-006 in #5641
- Refactor: Remove bpcg dependency on Psi and Hamilt by @Cstandardlib in #5643
- Refactor: wavefunc.cpp by @haozhihan in #5646
- Update elecstate_pw.h by @mohanchen in #5651
- Refactor: format wf_atomic files by @haozhihan in #5653
- Refactor:Remove GlobalC::ucell in module_dftu by @A-006 in #5655
New Contributors
Full Changelog: v3.8.3...v3.8.4
v3.8.3
What's Changed
Feature
- Feature: Add
CG
algorithm topyabacus.hsolver
by @a1henu in #5398 - Feature: apply CG eigensolver to LR-TDDFT by @maki49 in #5399
- Feature: Optimized memory management on DSP by @Critsium-xy in #5361
- Feature: build-in DFTD3 parameters by @kirk0830 in #5378
- Feature: enable ABACUS can finish SCF if charge density oscillation is found by @WHUweiqingzhou in #5421
- Feature: add interface
Gint::psir_func
by @PeizeLin in #5380 - Feature:Now sDFT support GPU by @Qianruipku in #5423
- Feature: change the default value of
printe
from100
toscf_nmax
by @WHUweiqingzhou in #5462 - Feature: (minor) support various boolean expressions for outputting flags by @kirk0830 in #5489
- Feature: Ground state projection tool for RT-TDDFT by @ESROAMER in #5477
- Feature: GPU Memory Recorder by @Critsium-xy in #5471
- Feature: make force and stress of sDFT support GPU by @Qianruipku in #5487
- Feature: LR-TDDFT support reading fxc from file or calculating fxc by a specified charge file by @maki49 in #5393
Fix
- Fix cal_edm_tddft by @ESROAMER in #5396
- Fix: disable the XC in LibXC in which nonlocal dispersion correction is required by @kirk0830 in #5391
- Fix: not build useless library without ENABLE_LCAO by @dyzheng in #5412
- Fix: update the example of vdwd3 acoording to the latest impl. by @kirk0830 in #5418
- Fix R-index mismatch in lr_util_hcontainer by @maki49 in #5456
- fixing the sigma value in example input files and adding comments to the ecutwfc keyword (Useful Information: lower the barrier for users who is not familiar with 'ecut' in the INPUT file)) by @qq270814845 in #5451
- Fix: Compiling error for ROCM by @dyzheng in #5464
- Fix the repeated initial guess and use diagonal precondition in LR::HSolver; Fix a segfault and non-hermitian in multi-k op_lr_exx by @maki49 in #5468
- Fix: let the coverage test pass without checking for its correctness by @WHUweiqingzhou in #5469
- Fix: compile cuda without openmp by @Qianruipku in #5488
- Fix GPU memory recorder's memory leak by @Critsium-xy in #5491
- Fix: nscf for hse by @YuLiu98 in #5499
- Fix: provide more information on 2d process grid error message by @jinzx10 in #5509
- Fix: support lmax of orbital 5, 6, 7 by @kirk0830 in #5519
- Fix: fix the compilation failure with DFTD3 autoset implementation by @kirk0830 in #5517
- Fix: fix a bug of
relax_nmax
default by @WHUweiqingzhou in #5506 - Fix: init nonlocal beta orbitals only when necessary by @maki49 in #5511
- Fix: fix the stoi failure for output flag
out_chg
by @kirk0830 in #5526 - Fix: set zero for unused psi data for nspin4 by @dyzheng in #5524
- Fix: support lmax of orbital 8,9 by @QuantumMisaka in #5528
- Fix: recover the use of -1 value of out_chg by @kirk0830 in #5540
- Fix: swap the sizeof() be the first multiplier to avoid overflow of int by @kirk0830 in #5561
- fix bug: change Mixing_Data::length from int to size_t by @linpeize in #5545
Doc
- Docs: Add Chinese wiki page link to README by @Cstandardlib in #5382
Refactor
- Refactor: wrap exx-routine in
iter_finish
intoExx_LRI_Interface
by @maki49 in #5413 - Refactor: remove useless functions in esolver by @YuLiu98 in #5416
- Refactor: modify EXX realx/md calculation framework by @1041176461 in #5403
- Refactor: refactor iter_finish and iter_init by @YuLiu98 in #5426
- Fix&Refactor: soc force/stress error for LCAO code, refactor the force/stress code into operator by @dyzheng in #5381
- Remove git submodule LibRI and LibComm by @PeizeLin in #5428
- Refactor: runner() of esolver_ks by @YuLiu98 in #5445
- update toolchain LibComm sha256 by @PeizeLin in #5454
- Add function to support reading cereal binary format HexxR files. by @ErjieWu in #5453
- Code: divide charge_mixing.cpp into some files by @WHUweiqingzhou in #5427
- Refactor:Replace the current fft with templates and polymorphism by @A-006 in #5410
- update code format of Exx_LIP by @PeizeLin in #5473
- Refactor: move io_npz to ModuleIO by @YuLiu98 in #5475
- Refactor: remove lcao_fun.cpp by @YuLiu98 in #5481
- Update esolver_ks.h by @mohanchen in #5495
- Update esolver_ks_lcao.cpp by @mohanchen in #5494
- Update esolver_ks_lcao_tddft.h by @mohanchen in #5496
- Refactor: replace pvpr with hcontainer by @dzzz2001 in #5490
- Update esolver_ks_pw.cpp by @mohanchen in #5498
- Refactor: move cal_edm_tddft to module_dm by @YuLiu98 in #5485
- Refactor: remove nscf() by @YuLiu98 in #5455
- Refactor:Add cuda support for fft_bundle by @A-006 in #5508
- Refactor: move dftu_cal_occup_m to dftu by @YuLiu98 in #5512
- Refactor: remove the redundant macro in source file of VDW module by @kirk0830 in #5562
- Update init_orb.cpp by @mohanchen in #5551
- Update gint_gamma.h by @mohanchen in #5550
- Update mult_psi_dmr.cpp by @mohanchen in #5552
- Refactor: remove
init_wfc
&mem_saver
&out_wfc_pw
&out_wfc_r
of wavefunc in abacus by @haozhihan in #5557 - Refactor: make get_S a new esolver by @YuLiu98 in #5515
- Refactor: refactor the relevant code for psi initializer by @haozhihan in #5474
- Refactor: remove init_after_vc by @YuLiu98 in #5547
- Refactor: remove set_matrix_grid by @YuLiu98 in #5558
- Refactor: remove pw_init_globalc.cpp by @YuLiu98 in #5559
- Refactor: remove dpks_cal_e_delta_band.cpp by @YuLiu98 in #5560
- Refactor: merge before_all_runners of tddft and lcao by @YuLiu98 in #5531
- Refactor: refactor psi init & wfinit class by @haozhihan in #5533
- Update gint.h by @mohanchen in #5525
- Refactor: replace raw pointers to vector in atom_spec.h by @dyzheng in #5521
- Refactor atom_input and unify the fake atom data structure of grid and atom_input by @goodchong in #5546
Test
- Integration test: Rename folders for consistency with
get_pchg
andget_wf
by @AsTonyshment in #5431 - Additional explanations to the example files and fixing result.ref file in examples/bsse/water by @qq270814845 in #5484
- Tests: supplementing some tests with OPENMP...
v3.8.2
Feature
- Feature: LR-TDDFT for open-shell systems by @maki49 in #5312
- Feature: Porting abacus to DSP hardware (mtblas part) by @Critsium-xy in #5301
- Feature: MPI available on ABACUS DSP version by @Critsium-xy in #5351
- Feature: make SCF converges only if drho and dene is smaller than threshold by @WHUweiqingzhou in #5357
- Feature: make init stochastic WF support GPU by @Qianruipku in #5365
- Feature: move scf_ene_thr before mix_rho by @WHUweiqingzhou in #5375
- Feature: change the default value of ecutwfc based on basis_type by @WHUweiqingzhou in #5390
- Feature: Add Cell for pyabacus by @jieli-matrix in #5247
- Unify the output of BFGS, CG, and FIRE relaxation method by @sunliang98 in #5374
Refactor
- Refactor: replace sto_hchi by HamiltSdftPW::hPsi by @Qianruipku in #5298
- Refactor: remove read_rho and make read_cube independent of esolver_type by @maki49 in #5323
- Refactor: Organize code structure to improve maintainability in pyabacus by @a1henu in #5346
- Refactor: move print_rhofft and print_wfcfft to ModuleIO by @YuLiu98 in #5358
- Refactor IO cube (Useful Information: excellent example for discussions and actions among ABACUS developers) by @maki49 in #5362
- Remove DiagH class in hsolver by @Cstandardlib in #5307
- Remove diagh.h in module_hsolver by @Cstandardlib in #5332
- Remove install_dsp.sh by @Critsium-xy in #5337
Fix
- Fix: cannot compile without OPENMP by @Qianruipku in #5316
- Fix: fix nspin=4 error when device=gpu by @dzzz2001 in #5319
- Fix: PR conflicts of #5298 and #5312 by @Qianruipku in #5329
- Fix::Change the gamma_only_lcao when nspin=4 by @A-006 in #5322
- Fix: boost Davidson by removal of useless scc by @Cstandardlib in #4874
- Fix: do not bcast my_rank by @YuLiu98 in #5339
- Fix: Fix Consts memory leak by directly removing custome consts by @Critsium-xy in #5344
- Fix: make EXX symmetry consistent with the fixed irreducible k-points by @maki49 in #5348
- Change the default setting for symmetry when berry_phase=1 by @ErjieWu in #5349
- Add number of threads output in stdout by @QuantumMisaka in #5281
- Fix: make the symmetry condition in RPA consistent with EXX by @maki49 in #5355
- Fix: force and stress calculation with noncollinear-spin or SOC for PW code by @dyzheng in #5377
- Fix: widen the range of support on STRU file of Molden interface by @kirk0830 in #5388
- Fix: disable four rarely used functionals which involves the laplacian of rho by @kirk0830 in #5392
Doc
- doc: fix typo in kpt.md by @pxlxingliang in #5320
- docs: replace sphinx-rtd-theme with sphinx-book-theme by @njzjz-bot in #5360
- Docs: update the docs about DeePKS by @WHUweiqingzhou in #5385
- Docs: add the docs about DeePTB by @WHUweiqingzhou in #5386
Perf
- Performance: change the position of open mp by @Qianruipku in #5327
Build
- Toolchain: fix build scripts by @QuantumMisaka in #5350
Test
New Contributors
Full Changelog: v3.8.1...v3.8.2
v3.8.1
What's Changed
Build(deps)
- Bump pre-commit-ci/lite-action from 1.0.3 to 1.1.0 by @dependabot in #5227
CI
- Align test commands for coverage tests by @caic99 in #5219
- add back missing command for codecov by @caic99 in #5222
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
- Fix a segfault in rhog_symmetry by @maki49 in #5303
- Fix memory bug in XC_Functional_Libxc::cal_gdr() by @PeizeLin in #5208
- Fix minor bug of EXX operator and default value by @maki49 in #5252
- Fix the memory leak in integrated test case 919_OF_out_elf by @sunliang98 in #5211
- fix a deadlock bug in CUDA version of gint by @dzzz2001 in #5210
- fix undefined behavior in cusolver by @dzzz2001 in #5251
- md restart can not read STRU by @YuLiu98 in #5215
- nupdown = 0 for spin-unpolarized calculation by @jinzx10 in #5305
- performance and memory for NSPIN=4 in LCAO base by @dyzheng in #5249
- remove unnecessary gpu memory allocation under LCAO basis by @dzzz2001 in #5258
- revert pre-commit update by @caic99 in #5244
Refactor
- Change the variable type. by @A-006 in #5201
- Change wrapper
spsi_func
in hsolver-dav by @Cstandardlib in #5205 - Refactor XC_Functional_Libxc::convert_vtxc_v() by @PeizeLin in #5212
- Refactor class
DensityMatrix
: remove the dependence onK_Vectors
and the ambiguity of_nks
by @maki49 in #5224 - Refactor hpsi_func in hsolver by @Cstandardlib in #5202
- Remove Base class DiagH in LCAO code by @Cstandardlib in #5239
- Remove DiagH Base class in pw by @Cstandardlib in #5225
- Remove DiagH of lcao PEXSI by @Cstandardlib in #5259
- Seperate BLAS functions' declaration and implementation, and add a device_type flag for blas kernels by @Critsium-xy in #5242
- Sorting out the calculation logic of pexsi in hsolver-lcao by @haozhihan in #5299
- Unify the interfaces of Pulay terms of force and stress by @maki49 in #5130
- Use memory_op to set diag_const_nums by @Critsium-xy in #5246
- refactor
solve
func inhsolver-lcao
class by @haozhihan in #5257 - remove nspin dependence form Gint by @maki49 in #5304
- Use PARAM instead of GlobalV::NBAND,NLocal by @A-006 in #5193
Test
- add cases for wfcinit by @Qianruipku in #5197
- fix some incorrect INPUT files by @dzzz2001 in #5284
Tools
- Toolchain fix stage4 by @QuantumMisaka in #5233
- toolchain bug fix by @QuantumMisaka in #5223
Full Changelog: v3.8.0...v3.8.1
v3.8.0
What's Changed
Feature
- Add
davidson
function topyabacus
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
- Fix docs according to #5133 by @Cstandardlib in #5169
- Fix parallel LR-EXX and add a test case by @maki49 in #5188
- Fix read/write HexxR at nspin=4 by @maki49 in #5142
- Fix serial version compiling bug by @Critsium-xy in #5079
- Fix the undefined behavior in sph_bessel_recursive by @maki49 in #5158
- If the number of NAOs for an angular momentum is 0, filter the NAOs in exx by @PeizeLin in #5152
- Update function calls in
pyabacus
to align with new function signature inhpsi_func
by @a1henu in #5176 timer
not closed in TDDFT code by @AsTonyshment in #5172- add MPI_Barrier in unittest of CifParser when necessary to avoid unexpected behavoir by @kirk0830 in #5167
- add threshold file and enlarge ecut in exx test cases to prevent CI test failure by randomness by @maki49 in #5096
- bug of cal_ux by @Qianruipku in #5165
- discourage
out_mul
for PW to prohibit segfault error by @kirk0830 in #5102 - enlarge the threshold of case 281 by @maki49 in #5117
- fix a bug in diago_elpa_native.cpp by @dzzz2001 in #5155
- fix a cuda runtime error introduced by PR #5061 by @dzzz2001 in #5071
- init_chg wfc support npsin = 4 by @Qianruipku in #5166
- let only one rank do file I/O in unittest of orb_io by @kirk0830 in #5185
- minor fixes in LR by @maki49 in #5187
- move back Kpoint when basis_type="pw" by @A-006 in #5129
- optimize the memory usage by psi_initializer by @kirk0830 in #5120
- recover the wannier90 interface for lcao_in_pw case by @kirk0830 in #5177
- segmentation fault when deepks_scf=0 but deepks_out_labels=1 by @xuan112358 in #5090
- support kpar > 1 case to write rhog by @kirk0830 in #5145
- wrong STRU read in md restart case by @YuLiu98 in #5157
- fix cusolvermp compiling error with icpc and update ks_solver doc by @dzzz2001 in #5196
Perf
- change default pw_seed=0 by @WHUweiqingzhou in #5179
- optimize td_current by @dzzz2001 in #5181
Refactor
- Refactor
ModuleIO::read/write_cube()
by @PeizeLin in #5150 - USE PARAM instead of GlobalV by @A-006 in #5053
- Use PARAM instead of GlobalV::dir* by @A-006 in #5097
- Use PARAM instead of GlobalV::domag* by @A-006 in #5115
- Use PARAM instead of GlobalV::test* by @A-006 in #5065
- Use PARAM instead of deepks* by @A-006 in #5104
- Use PARAM instead of ks_solver,nb2d,search_radius by @A-006 in #5138
- Use Param.inp insetead of GlobalV::MIXING* by @A-006 in #5070
- add CalAtomsInfo to modify parameter by @Qianruipku in #5132
- add
namespace XC_Functional_Libxc
by @PeizeLin in #5151 - consistent order of hpsi by @Cstandardlib in #5134
- optimize the performanace of psi_initializer with omp by @kirk0830 in #5146
- refactor HsolverPW & HsolverPW_SDFT func by @haozhihan in #5094
- refactor hsolver-lcao func by @haozhihan in #5148
- refactor paw code in HSolverLIP by @haozhihan in #5126
- remove GlobalC::ORB by @jinzx10 in #5085
- remove GlobalC::ORB in module_hamilt_lcao by @jinzx10 in #5068
- remove
hsolver
base class frommodule_hsolver
by @haozhihan in #5093 - remove my_conj func from hsolver_lcao by @haozhihan in #5128
- remove useless warning for dp by @YuLiu98 in #5153
- use ELPA_WITH_NVIDIA_GPU_VERSION to judge elpa setup gpu by @goodchong in #5163
- Use PARAM instead of nspin,cal_stress by @A-006 in #5136
Tools
- Toochain update: new download url and MPICH/OpenMPI version by @QuantumMisaka in #5088
- Toolchain 202403 by @QuantumMisaka in #5144
Build
- Bump pre-commit-ci/lite-action from 1.0.2 to 1.0.3 by @dependabot in #5110
Docs
- update hpsi_func requirements by @Cstandardlib in #5190
Full Changelog: v3.7.5...v3.8.0
v3.7.5
What's Changed
Feature
- Feature: support automatic binary output of charge density by @kirk0830 in #4991
- add elpa native to solver generate eigen by @goodchong in #4969
- Feature: add fparam and aparam for dp esolver by @YuLiu98 in #5047
- Feature: add rescaling parameter into dp by @Qianruipku in #5050
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
- Build: Fix ENABLE_CNPY Link Errors by @jieli-matrix in #5003
- Fix: bug in charge extrapolation by @YuLiu98 in #5007
- Fix toolchain scalapack problem by @QuantumMisaka in #5014
- Fix HexxR readin directory by @maki49 in #5025
- Fix bug in reallocating HContainter when not all the processors have elements of (0,0) atom pair by @maki49 in #5028
- Fix: close mixing_gg0 after PBE-loop in no-separate-loop EXX process by @maki49 in #5034
- Fix: fix the issue that
out_chg -1
not really work by @kirk0830 in #5046 - Fix: Assert the mesh of <PP_BETA> not exceeding pp.mesh. by @sunliang98 in #5049
- fix wrong dp_potential after rescaling by @Qianruipku in #5055
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