Releases: deepmodeling/abacus-develop
Releases · deepmodeling/abacus-develop
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
v3.7.4
What's Changed
Feature
- Feature: update LibRI v0.2.0 by @PeizeLin in #4830
- Feature: support control on precison of charge cube output by @kirk0830 in #4958
- Feature: Add diago_dav_subspace module to pyabacus by @a1henu in #4883
- Feature: output T(k) by @jinzx10 in #4982
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
- Toolchain : libcomm version update by @QuantumMisaka in #4966
- add elpa gpu in docker cuda image by @goodchong in #4980
- update version by @pxlxingliang in #5001
New Contributors
Full Changelog: v3.7.3...v3.7.4
v3.7.3
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
- real spherical harmonics and basis ordering clarified by @jinzx10 in #4922
- SchmidtOrth in david by @Cstandardlib in #4855
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
- Add heterogeneous parallel code for the stress loc module. by @grysgreat in #4854
- Continue to move the deepks output files into the OUT folder by @xuan112358 in #4924
- Heterogeneous parallel acceleration hsolver-pw force_scc. by @grysgreat in #4759
- Make Hsolver_sdft a local variable in hamilt_to_density function by @Qianruipku in #4941
- Move
pseudo::set_pseudo
toPseudopot::complete_default
. by @sunliang98 in #4811 - Move the cal_nnrg file and modify the variable length. by @A-006 in #4886
- Relate to PEXSI-related changes caused by refactor #4767 by @Flying-dragon-boxing in #4858
- Remove INPUT class by @Qianruipku in #4815
- Replace
Esolver_OF::mu_
withefermi
. by @sunliang98 in #4849 - Replace the pointers in
pseudo
andPseudopot_upf
with std::vector. by @sunliang98 in #4862 - Use lambda expressions to reduce if conditions. by @grysgreat in #4828
- Use pointers instead of function calls in OpenMP by @A-006 in #4827
- add
cal_becp
-like example for radial projector-involving PW operators development by @kirk0830 in #4887 - change
HsolverPW
call manner by @haozhihan in #4795 - change hsolver-lcao call manner in SpinConstrain by @haozhihan in #4946
- change hsolver-lip call manner by @haozhihan in #4931
- change hsolver_lcao call manner by @haozhihan in #4929
- change the order of initializing member variables by @kirk0830 in #4865
- discourage part of the use of c-style array in psi initializer by @kirk0830 in #4866
- merge after_scf by @YuLiu98 in #4889
- move
set_is_occupied
func from hsolver to elecstate by @haozhihan in #4847 - remove
pelec
frome hsolverpwsolve
func by @haozhihan in #4846 - remove do_after_converge by @YuLiu98 in #4910
- remove function mult_psi_DM and mult_psi_DM_new by @dzzz2001 in #4926
- remove pes from hsolver by @haozhihan in #4861
- remove the inheritance of HSolverLR by @maki49 in #4917
- remove uncessary interfaces in module_io by @YuLiu98 in #4835
- remove useless values in Hsolverpw by @haozhihan in #4875
- replace dsytrf & dsytri & gemv by dsysv in
Broyden_mixing
by @WHUweiqingzhou in #4842
Tools
- Toolchain 202402 by @QuantumMisaka in #4945
- support molden file generation from ABACUS LCAO calculation via NAO2GTO by @kirk0830 in #4937
Full Changelog: v3.7.2...v3.7.3