Releases: deepmodeling/abacus-develop
Releases · deepmodeling/abacus-develop
v3.7.2
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
- test: add an option to set thread number in Autotest.sh by @pxlxingliang in #4668
- Test: Unit test for diago_lapack, add a build test and update the document by @Critsium-xy in #4610
- Test: add ccache installation step to cuda.yml by @dzzz2001 in #4688
- test: to make test fail when execute catch_properties.sh failed by @pxlxingliang in #4700
- test: correct the inputs in /examples by @pxlxingliang in #4717
- Test: add return value for mock in tests to suppress compile warning by @Cstandardlib in #4775
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...
v3.7.1
CI
Fix
- Move Vxc output from after_scf to after_all_runners by @maki49 #4497
- Remove the dependency of write_dmr on globalV::NLOCAL by @pxlxingliang #4500
- Fix no STRU_ION_1 file output by @hongriTianqi #4506
- Fix init_Table_Spherical_Bessel with correct k & r mesh multiple by @jinzx10 #4516
- Fix the bug which SCF restart for unconverged cases by @WHUweiqingzhou #4538
- Fix compile failure of main.cpp by @Qianruipku #4638
- Fix MKL scalapack linking by @caic99 #4644
- Fix DeePKS MD/Relax/Cell-relax calculation convergence by @dyzheng #4575
- Fix oneAPI runtime error when build with libtorch by @caic99 #4613
- Fix esolver.cpp by @pxlxingliang #4612
- Fix misunderstanding absolute path as annotation by @Qianruipku #4629
- Fix missing head of running.log by @Qianruipku #4630
- Fix the memory problem in berryphase by @pxlxingliang #4631
- Fix wrong running_*.log by @Qianruipku #4648
- Fix MKL finding problem in pyabacus by @maki49 #4656
- Fix some minor security risks with ModuleESolver::init_esolver() by @PeizeLin #4590
- Fix some minor security risks with ModuleIO::read_wfc_nao by @PeizeLin #4558
- Address the atomicAdd error by @denghuilu #4234
- Fix cusolver error under multi-k situation by @dzzz2001 #4278
- Fix makefile cannot compile tests in module_pw by @Qianruipku #4270
- Fix orb_matrix file is not safely written/renamed by @kirk0830 #4299
- Fix the bug in dav gpu code and add more integrate test for GPU by @haozhihan #4265
Refactor
- Remove pdiagh pointer and redundant code by @Cstandardlib #4520
- Change nkstot_ibz and kvec_d_ibz from members into local variables by @maki49 #4515
- Remove some variables from LCAO_Matrix class by @WHUweiqingzhou #4519
- Remove BasedOnStyle: Microsoft from clang-format by @haozhihan #4522
- Remove the useless loc in veff by @pxlxingliang #4532
- Removal of ORB_table_phi by @jinzx10 #4503
- Remove check_structure() from UnitCell by @sunliang98 #4499
- Remove some members from LCAO_Matrix class by @WHUweiqingzhou #4546
- Replace the interface of out_dm by using DensityMatrix.DMK instead of loc.DM by @pxlxingliang #4509
- Remove initDiagh function in hsolver by @Cstandardlib #4527
- Fully refactored original obsolete lapack hsolver by @Critsium-xy #4581
- Separate Class diag_comm_info and Class const_nums by @haozhihan #4582
- Remove additional dependencies of parallel_reduce.h by @haozhihan #4585
- Remove Hloc, Hloc2, Sloc, Sloc2 in LCAO_Matrix by @dyzheng #4574
- Remove some variables from LCAO_Matrix class by @WHUweiqingzhou #4568
- Remove the useless variables and functions in unkOverlap_lcao by @pxlxingliang #4569
- Remove redundant Local_Orbital_Charge in class Veff and DeepKS by @PeizeLin #4572
- Use alicloud image sync by @caic99 #4567
- Fix the wrong type of ibz2bz by @maki49 #4577
- Login to use alicloud image sync by @caic99 #4573
- Fix get_S failed when smearing_method is gauss by @hongriTianqi #4571
- Correct the warning message about ntype by @pxlxingliang #4562
- Split the function into different functionalities by @A-006 #4566
- Remove module_device additional dependencies by @haozhihan #4579
Full Changelog: v3.7.0...v3.7.1
v3.7.0
What's Changed
Feature
- Feature: add the output of energy for all esolver types in abacus.json by @pxlxingliang in #4413
- Feature: add command line option --check-input to check input only by @hongriTianqi in #4424
- Feature: support nupdown = 0.0 calculation by @hongriTianqi in #4425
- Feature: add function get_nbasis in class HContainer by @pxlxingliang in #4447
- Add INPUT parameter
bands_to_print
forget_wf
calculation by @AsTonyshment in #4466
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
- Test: fix clang-format settings by @haozhihan in #4382
- Test: compare the relative difference for Onsager.txt by @Qianruipku in #4378
- test: update the path of SR.csr in examples/matrix_hs/out_s_multik/run.sh by @pxlxingliang in #4352
- Test: use origin python in test.yml to support numpy by @dyzheng in #4383
- Test: accelerate integrate tests by @YuLiu98 in #4358
- Test: fix precommit failure by @caic99 in #4426
- test: support reading threshold from file 'threshold' in integrate test by @pxlxingliang in #4450
- CI: modify clang-tidy setting by @haozhihan in #4488
- CI: enable clang-tidy in CI by pre-commit-config by @haozhihan in #4384
- CI: add clang-tidy
readability-braces-around-statements
setting by @haozhihan in #4390
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
- doc: correct the typo in input-main.md by @pxlxingliang in #4423
- Docs: add docs for --version and --check-input by @hongriTianqi in #4428
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
andLOWF::allocate_k
by @kirk0830 in #4331 - Refactor: change
R_index
in classAtomPair
to typeModuleBase::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
andGint
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...
v3.6.5
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
What's Changed
Doc
- correct the description of angle1 and angle2 in stru.md by @pxlxingliang in #4213
Feature
- loading equivariant deepks model by @wenfei-li in #4137
Feature
- Add PEXSI Support for Gamma Only LCAO Calculation by @Flying-dragon-boxing in #3561
- compute module_gint by GPU by @dzzz2001 in #4109
- enable uspp in upf100 format by @YuLiu98 in #4151
- enhance PSI Constructor: Lower Peak Device Memory Usage by @denghuilu in #4154
- set OpenMP thread num to a proper default value by @caic99 in #3943
Fix
- add ModuleBase::timer::tick("Symmetry","analy_sys"); by @PeizeLin in #4221
- address single precision error of dcu by @denghuilu in #4201
- default and force set symmetry=0 with efield by @maki49 in #4209
- enable out_mat_r in nscf calculation by @dyzheng in #4084
- fix HR output in tddft by @ESROAMER in #4150
- fix add-Hexx condition and remove the redundant OperatorEXX in NSCF by @maki49 in #4186
- fix compiling failure in CI test by @Critsium-xy in #4198
- fix intel compiler warnings by @denghuilu in #4166
- fix wrong output of S(k) in TDDFT calculation by @AsTonyshment in #4148
- memory: modify hpsi interface in diagH_subspace_init func by @haozhihan in #4167
- recover the behavior of print_tau for ase interface by @kirk0830 in #4197
- revert "Test: supplementary use of Memory::record to record memory (#4129) by @dyzheng in #4189
- various matrix elements calculations in orbital generation by @jinzx10 in #3940
- wrong memory record in vkb by @dyzheng in #4206
Refactor
- SphericalBesselTransformer cleanup by @jinzx10 in #4152
- Update ESolver by @mohanchen in #4157
- clean up BLACS initialization in Parallel_2D by @jinzx10 in #4207
- more light-weighted formatter library by @kirk0830 in #4114
- optimize cast_memory_op by @denghuilu in #4160
- refactor
psi::memory
namespace and addmodule_device
inmodule_base
by @haozhihan in #4141 - remove template on relax_driver by @hongriTianqi in #4172
- replace GlobalC in module_gint by @A-006 in #4164
Test
- supplementary use of Memory::record to record memory by @Religious-J in #4129
- zdot_real_op (and some other math ops) benchmark on cpu by @Critsium-xy in #3840
New Contributors
- @Flying-dragon-boxing made their first contribution in #3561
- @Religious-J made their first contribution in #4129
Full Changelog: v3.6.3...v3.6.4
v3.6.3
What's Changed
Feature
- Feature : descriptors for equivariant DeePKS by @wenfei-li in #3894
- Feature : reading and writing of h(r) and dm(r) in npz format by @wenfei-li in #4066
- Feature: write local-XC and EXX part of band(orbital) energy along with the XC matrix by @maki49 in #4013
- Feature: add device error check for functions within device.cpp by @denghuilu in #4106
- Improve output of H and S matrices: output matrices when the self-consistent iteration steps reach scf_nmax, even if the charge density doesn't converge. by @LiuXiaohui123321 in #4147
Docs
- Docs: add docs about parameter symmetry by @WHUweiqingzhou in #4073
- Docs: remove extra ``` by @caic99 in #4133
- Docs: delay release of deltaspin due to bugs by @hongriTianqi in #4146
Fix
- Fix: use std::abs() instead of abs() by @WHUweiqingzhou in #4076
- Add a warning quit when parameters do not match in read_wfc_nao.cpp by @AsTonyshment in #4087
- Fix: remove non-used pointer in Gint by @maki49 in #4009
- Fix: dcu cmake compilation error by @denghuilu in #4097
- Fix: add some hint about error by @WHUweiqingzhou in #4100
- Fix: solve the convergence problem of E value in dav_subspace method by @haozhihan in #4052
- Fix: bug of plot-tools for nspin=2 and shift=True case by @1041176461 in #4116
- Fix: No warning is given if KPT is ill set by @Luc1anoo in #4134
Refactor
- Refactor istate_charge.cpp to reduce dependence on other modules by @AsTonyshment in #4086
- Refactor: optimized cubic spline by @jinzx10 in #4081
- Replace “lm->paraV” with “paraV” to simpifier parameters by @A-006 in #4110
Build & Test
- Test: increase the time limit of CI test by @WHUweiqingzhou in #4098
- fix: pin the version of intel mpi to 2021.11 by @pxlxingliang in #4105
- CI: modify CUDA test by @dzzz2001 in #4083
- Build: pin Intel MPI version to avoid performance degradation by @caic99 in #4065
- CI: update runner config by @caic99 in #4088
- CI: build images with tags on self-hosted runner by @caic99 in #4089
- CI: fix the incorrect argument order in Autotest.sh by @dzzz2001 in #4118
New Contributors
- @Luc1anoo made their first contribution in #4134
- @LiuXiaohui123321 made their first contribution in #4147
Full Changelog: v3.6.2...v3.6.3
v3.6.2
Feature
- output times for lambda inner loop by @hongriTianqi in #3982
- output mag force in spin constraint calculation by @hongriTianqi in #4037
- add pw_diag_ndim parameter to adjust efficiency for users by @haozhihan in #3998
Fix
- fix issue 3985 about dcu compiling by @haozhihan in #3986
- bug in plot-tools by @1041176461 in #3990
- remove the dependence of EXX on RPA by @maki49 in #3969
- remove parameter_pool.cpp in CMakeLists.txt by @WHUweiqingzhou in #3983
- bug of out_band when kpar > 1 by @Qianruipku in #3963
- multiple memory leak and array access out of bound by @caic99 in #3997
- memory leak in tddft by @caic99 in #4012
- tddft memory leak by @caic99 in #4020
- some variables from pointers to vector by @AmengFromCDH in #3977
- pointers to vectors by @DylanWRh in #3980
- new-delete with stl::vector in H_Ewald_pw.cpp by @QztOc07 in #3996
- pointers to vectors in bessel_basis.cpp by @Fisheory in #3993
- output final mag instead of initial mag in STRU_ION_D by @WHUweiqingzhou in #4044
- add a check_rho() to avoid negative charge density by @WHUweiqingzhou in #4053
Test and Docs
- case test for noncolin force by @hongriTianqi in #4048
- update cuda tests by @caic99 in #4032
- add some docs by @WHUweiqingzhou in #4039
- update clang-tidy config by @caic99 in #4010
- format CMakeLists.txt using cmake_format by @caic99 in #4014
- update version by @pxlxingliang in #4061
- add docs about using MPI in docker. by @grysgreat in #4060
New Contributors
Full Changelog: v3.6.1...v3.6.2
v3.6.1
What's Changed
Feature
- Add INPUT parameter
bands_to_print
for LCAO basis set by @AsTonyshment in #3934 - Add a new Davidson iteration method called subspace davidson for pw basis by @haozhihan in #3903
- Enable 'calculation=test_memory" function again by @mohanchen in #3919
- add force and stress output for noncollinear calculation with soc by @hongriTianqi in #3933
- add so-called U-Ramping method to improve DFTU convergence by @WHUweiqingzhou in #3890
- read and write Hexx(R) in CSR format by @maki49 in #3727
Fix
- Bug when kpar > 1, nspin=2, and cell-relax by @Qianruipku in #3957
- Fix mistakes in TDDFT docs by @ESROAMER in #3841
- Fix the hexadecimal output in MD with OFDFT by @sunliang98 in #3896
- Initialize an int variable "nrotkm" in klist.cpp by @randomname23333 in #3908
- Initialize variable "no_use_c4" in bessel_basis.cpp by @Fisheory in #3910
- Initialized some variables in projgen.cpp by @Haerxile in #3905
- Update bessel_basis.cpp by @bot10032 in #3911
- array overreach in psi2rho of uspp by @YuLiu98 in #3961
- change the unit of decay gradient by @hongriTianqi in #3826
- compiling warning in veff_lcao.cpp by @dyzheng in #3901
- delete an extra bracket by @WHUweiqingzhou in #3863
- dos plot for nspin=2 by @1041176461 in #3928
- fix a bug in
get_dmk_vector()
and make some refactor of get-function by @WHUweiqingzhou in #3893 - initial the file : source/module_ri/RI_2D_Comm.cpp and ABF_Construct by @RobertRainbow in #3898
- initialize some variables by @DylanWRh in #3846
- initialize some variables by @Esperanzalukas in #3904
- initialize some variables by @yang2022i in #3917
- initialize variables by @Zjhjunhao in #3887
- initialized winput::imp_pao = 0 in winput.cpp by @charches in #3897
- llk_initialization of read_atoms.cpp by @Luckken21 in #3900
- memory record for wrapper data in HContainer by @dyzheng in #3962
- potentially uninitialized variables in calculation by @OldDriver233 in #3834
- some variables initialized by @AmengFromCDH in #3858
CI
- Mirror the repository to Gitee by @njzjz-bot in #3952
Docs
- A clearer notification for the easy installation part by @flinky-ai in #3871
- Update description for ESolver by @mohanchen in #3828
- update the default recommended requirements for conda by @caic99 in #3924
Perf
- Improve the performence of dav-subspace method in pw basis by @haozhihan in #3953
- use converged occupation matrix for initial DFTU calculation in MD calculation by @dyzheng in #3837
Refactor
- Improve the C++ code quality by @mohanchen in #3945
- Keep updating esolver and related source files by @mohanchen in #3853
- LCAO refactor step 4 by @mohanchen in #3921
- Refactor LCAO code Step 3 by @mohanchen in #3914
- Refactor LCAO step 2 by @mohanchen in #3874
- Refactoring LCAO codes. by @mohanchen in #3860
- Remove direct references to GlobalV related to function read_cube. by @Cstandardlib in #3824
- Update ORB_atomic.cpp by @aFlyingOctopus in #3835
- Update berryphase.cpp by @Pureorangeade in #3876
- Vector instead of New, changed by Linbo Cao by @RobertRainbow in #3975
- change
namespace A::B{}
tonamespace A{namespace B{}}
by @PeizeLin in #3960 - exchange some pointers into vectors by @Zjhjunhao in #3965
- replace with vector by @jwsyzy in #3972
Test
- Save simpson test results to file by @jieli-matrix in #3842
- add unit test of DFTUNew and refactor some code by @dyzheng in #3814
- modify the precision criteria of Simpson algorithm by @jieli-matrix in #3849
- save precision results to file when building unit tests by @jieli-matrix in #3829
New Contributors
- @Cstandardlib made their first contribution in #3824
- @AmengFromCDH made their first contribution in #3858
- @OldDriver233 made their first contribution in #3834
- @Pureorangeade made their first contribution in #3876
- @flinky-ai made their first contribution in #3871
- @aFlyingOctopus made their first contribution in #3835
- @DylanWRh made their first contribution in #3846
- @randomname23333 made their first contribution in #3908
- @Haerxile made their first contribution in #3905
- @Luckken21 made their first contribution in #3900
- @Zjhjunhao made their first contribution in #3887
- @charches made their first contribution in #3897
- @Esperanzalukas made their first contribution in #3904
- @Fisheory made their first contribution in #3910
- @bot10032 made their first contribution in #3911
- @yang2022i made their first contribution in #3917
- @RobertRainbow made their first contribution in #3898
- @njzjz-bot made their first contribution in #3952
- @jwsyzy made their first contribution in #3972
Full Changelog: v3.6.0...v3.6.1
v3.6.0
What's Changed
Feature
- Feature: release numerically stable QO with hands-on manual in tools/qo/ by @kirk0830 in #3669
- Feature: make mixing restarts if
mixing_restart
is smaller than drho by @WHUweiqingzhou in #3681 - Feature: Pythonization of ModuleNAO by @jieli-matrix in #3642
- Feature: Add readin-json support by @grysgreat in #3648
- Feature: Pythonization of NumericalRadial by @jieli-matrix in #3712
- Feature: output
dkin
for metaGGA calculations by @WHUweiqingzhou in #3700 - Feature: Visualize numerical orbital in pyabacus by @jieli-matrix in #3726
- Feature: enable the construction of RadialSet from individual spherical Bessel function by @jinzx10 in #3721
- Feature: QO MPI parallelization on both k and cell vector R when calculating overlap matrix by @kirk0830 in #3707
- Feature & Refactor: restart from Hexx by @maki49 in #3451
- Feature: new method of DFT+U calculation, add parametor "onsite_radius" for projections modulation. by @dyzheng in #3682
Tests
- Test: upload file for unittest of
toQO::read_ovlp
by @kirk0830 in #3724 - Test: add tests for jY-jY two-center integrals by @jinzx10 in #3734
- Test: add pyabacus CI test by @jieli-matrix in #3750
- test: in integrate test, skip running test if test folder do not exist. by @pxlxingliang in #3793
- test: set ENABLE_RAPIDJSON=ON in dockerfile to output abacus.json by @pxlxingliang in #3788
Refactor
- Refactor: move
Module_IO::output_radial
intoRadialSet
class to makemodule_io
andmodule_nao
decoupled by @kirk0830 in #3680 - Reflactor: new json array support and add json tree of abacus-output by @grysgreat in #3687
- Refactor: Removed GlobalVs related to function ModuleIO::write_dm by @AsTonyshment in #3797
- Refactor: Removed GlobalVs related to module_io/istate_envelope.cpp by @AsTonyshment in #3801
- Refactor: remove some global variables in read_dm and read_wfc_nao by @dzzz2001 in #3794
Bug Fixes
- Fix: standalone FindBLAS.cmake, mislink to global-visible lib by @yizeyi18 in #3623
- Fix outdated comment by @jinzx10 in #3694
- Fix: Support pseudopotential with dense grid by @sunliang98 in #3678
- Fix: fix bugs in TB2J docs by @WHUweiqingzhou in #3709
- Fix: delete useless version info in CMakeList.txt by @WHUweiqingzhou in #3731
- Fix: no cal_nlm_tot in cal_force_stress and onsite_radius > rcut_NAOs by @dyzheng in #3732
- Bug: fix undefined symbol in pyabacus by @jieli-matrix in #3740
- Bug: Fix intel undefined error in pyabacus by @jieli-matrix in #3742
- Fix: error with skipping no_U elements by @dyzheng in #3748
- Fix: automatically turn off symmetry when not all atoms are moveable by @maki49 in #3738
- Bug: Fix Intel compile warnings by @jieli-matrix in #3756
- Fix: fix a json in init-element. by @grysgreat in #3818
- fix: the natom in abacus.json by @pxlxingliang in #3822
- Fix: Support LPS in psp6 format by @sunliang98 in #3741
- Fix FindLibxc.cmake to use /usr/include as include directory by @yizeyi18 in #3771
- Fix: update the default two-center integration algorithm for Makefile build by @jinzx10 in #3773
- Fix: warn not to set nupdown in deltaspin calcualtion by @hongriTianqi in #3765
- Fix: ELPA test compile by @yizeyi18 in #3774
- fix the output value of ediff in abaucs.json by @pxlxingliang in #3787
- Fix: fix cases by @WHUweiqingzhou in #3804
- Fix: warning message of nspin=4 by @dyzheng in #3791
- Fix: timer error of Veff::contributeHR in gamma_only calculation by @dyzheng in #3799
- Fix: fix
scf_nmax
restart by @WHUweiqingzhou in #3808 - Refactor&Fix: remove normalization of numerical atomic orbitals in psi_initializer by @kirk0830 in #3716
Build
- add codecov token by @njzjz in #3683
- install: write the commit to commit.h instead of setting the macro COMMIT by @pxlxingliang in #3692
- Toolchain modification by @QuantumMisaka in #3733
- Build: fix clang-format file format by @caic99 in #3736
- add lapack/blas wrapper as suggested in #3706 by @yizeyi18 in #3757
Documentation
- Docs: Add docs for pyabacus by @jieli-matrix in #3697
- add TB2J interface docs (#3702) by @Shen-Zhen-Xiong in #3703
- docs: add the link for conda FAQ by @njzjz in #3728
- Docs: add a faq by @WHUweiqingzhou in #3723
- Doc: update doc about EXX restart and symmetry by @maki49 in #3764
- Doc: add a warning in pull request template by @hongriTianqi in #3768
- Docs: Add json docs. by @grysgreat in #3754
- docs: fix the comment in abacus.json by @pxlxingliang in #3784
New Contributors
Full Changelog: v3.5.4...v3.6.0
v3.5.4
Feature
- Feature: Added json array support. Implement init json by @grysgreat in #3612
- Feature: extended support on arbitrary atom symbols defined in STRU to calculate QO_OVLP data by @kirk0830 in #3651
- Feature: add a new parameter nelec_delta by @WHUweiqingzhou in #3641
- Feature: including the Slater screening to more accurately estimate the hydrogen radial function by @kirk0830 in #3633
Refactor
- Test: add a new UnitTest to protect save_DMR() by @WHUweiqingzhou in #3659
Bug Fixes
- Fix: fix accessing out-of-bounds in save_DMR() with changed nnr by @WHUweiqingzhou in #3620
- Fix: correct the way to use two-center-intergral and support more hydrogen-like orbitals strategy by @kirk0830 in #3606
- Fix: mulliken_charge error for magnetism_atom_y by @dyzheng in #3635
- Fix: fix nbands<ncpus in atom example by @WHUweiqingzhou in #3636
- Fix: error in reading sc.json file by @hongriTianqi in #3638
- Fix: reuse elpa_handle to avoid memory_leak by @dyzheng in #3637
- Fix: fix the bug when reuse the numerical_basis class instance by @kirk0830 in #3615
- Fix: the bug of possible large movement of atom position caused by periodicity in BFGS method by @pxlxingliang in #3658
- Fix: analyze the spin-up part's symmetry for AFM cases by @maki49 in #3666
- Fix: change error to warning in Symmetry for user friendliness by @maki49 in #3670
Build
- Toolchain 2024.1 by @QuantumMisaka in #3619
Full Changelog: v3.5.3...v3.5.4