Skip to content

Conversation

@kirk0830
Copy link
Collaborator

@kirk0830 kirk0830 commented Mar 3, 2025

Background

ABACUS supports the automatic inference of dft_functional from pseudopotential, but its value will not be changed even after the inference is sucessful, this does not matter for other modules, but brings trouble to vdw d3 module because its parameter is functional-specific. The vdw d3 module should search for correct set of parameters according to the name of xc.
However, there are users may think it is harmful to the user-friendliness.

What's changed

This change needs some discussion.
In this PR, ABACUS will pop a warning message like
image

rather than warning_quit with error message, but I am not sure this is really a good idea (at least now users will not get a crash when leaving dft_functional unset explicitly). I need suggestion from other developers.

@mohanchen @QuantumMisaka @dyzheng @1041176461

Linked Issue

Fix #5944

@QuantumMisaka
Copy link
Collaborator

@kirk0830 Nice work !
I do consider that user SHOULD EXPLICITLY KNOW which DFT functional was used in specific calculation even follow the default setting. As for vdw_methods, I suggest add one more notice to tell user that vdw_method like d3/d3_bj is functional-dependent, for some user may not familiar with vdw methods.

@mohanchen mohanchen added Input&Output Suitable for coders without knowing too many DFT details Refactor Refactor ABACUS codes labels Mar 3, 2025
Copy link
Collaborator

@dyzheng dyzheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM,I don't have better idea than this.

@mohanchen
Copy link
Collaborator

I will accept this PR, more discussions are welcome.

@mohanchen mohanchen merged commit 2825851 into deepmodeling:develop Mar 5, 2025
14 checks passed
@kirk0830 kirk0830 deleted the vdw-read-xcname branch March 5, 2025 09:37
dyzheng pushed a commit to dyzheng/abacus-develop that referenced this pull request Mar 28, 2025
…initialize vdw (deepmodeling#5949)

* Feature: support the `default` as the value of `dft_functional` when initialize vdw

* Refactor a littble bit
dyzheng added a commit that referenced this pull request Mar 28, 2025
* Fix: stress error with Dojo pseudopotential and LIBXC

* Fix: nspin2/4 mismatch with nspin1 with PBE

* Fix: add test case to CI

* Fix: delete useless warning of write_dmr

* Fix: DFTU output format

* Fix: error of noncolin and autoset mag

* Fix: reference of noncolin

* Revert "Fix: nspin2/4 mismatch with nspin1 with PBE"

This reverts commit ffd91ff.

* Perf: optimize the stream strategy in module_gint (#5845)

* optimize stream strategy

* limit max threads

* Fix: modify orb info manually (#5853)

* Fix: parse_expression for scientific notation (#5882)

* Fix: parse_expression for scientific notation

* modify openmp strategy (#5898)

* Fix document description for ocp and ocp_set (#5896)

* Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS (#5905)

* Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS

* Fix: Resolve compilation issue with Libxc 7.0.0 in ABACUS: fix a minor test issue (304_NO_GO_AF_atommag)

* Fix  a bug and a magic number in module_exx_symmetry (#5848)

* fix a magic number in get_euler_angle

* do not allow higher symmetry of bvk supercell than the original cell

* Docs: update docs about init_wfc (#5912)

* Fix the wrong symmetry analysis at nspin=2 (#5926)

* analyze magnetic group without time-reversal symmetry

* fix: need to calculate direct coordinates again

* fix a bug about hcontainer in exx nscf (#5927)

* fix cmake bug (#5929)

* inline function of complexarray (#5964)

* modify doc (#5965)

* Fix segmentation fault in integrate test 312_NO_GO_wfc_get_wf (#5970)

* Doc: polish Quick Start part of online doc (#6006)

* polish Quick Start in online doc

* set scf_thr 1e-6

* correct typo

* test: fix Dockerfile.intel (#5999)

Co-authored-by: root <pxlxingliang>

* fix the format (#6008)

* Fix : out_mat_dh will lead to different result with MPI-1core with MPI-4core (#6018)

* Fix: Enhance the warning message when the XC name cannot be recognized. (#6025)

* Update latest Intel oneAPI default compiler for cxx (#6035)

* Update latest Intel oneAPI default compiler for cxx

* Update elpa version to newest in demo cmake script

* Fix: Angular momentum quantum number check in reading SOC pseudopot file (#6027)

* Fix the angular momentum quantum number check in reading SOC pseudopot file

* Fix related unit test problem and add an SOC pseudopot file

* Refactor SOC check logic for improved readability

* Feature: support the `default` as the value of `dft_functional` when initialize vdw (#5949)

* Feature: support the `default` as the value of `dft_functional` when initialize vdw

* Refactor a littble bit

* Optimize: Compilation time of vdwd3_autoset_xcparam.cpp (#6042)

The compilation time of the vdwd3_autoset_xcparam.cpp file is reduced from 250 seconds to just 5 seconds in my machine.
Thanks to the suggestion from DeepSeek: replacing dynamic initialization with a static array for constructing the std::map

* directly enter exx loop when init_wfc=file (#6019)

* Perf: openmp for cal_force_stress (#5956)

* remove wrong timer

* omp for cal_force_stress

* openmp for cal_force_stress in dftu

* openmp for cal_force_stress in dspin

* little change

* fix bug

* fix a bug

* Fix: DFT+U force&stress with  of some elements are -1 (#6049)

Co-authored-by: dyzheng <zhengdy@bjaisi.com>

* Fix: add the print header for `cusolvermp` in scf info (#6038)

* fix an output for debug (#6066)

* Perf: optimize cal_DMR and folding_HR (#6068)

* modify variable name

* modify variable name

* change pointer to ptr

* modify variable name

* modify some variable names

* move functions from .cpp to .h

* optimize cal_DMR

* add schedule(dynamic)

* optimize func_folding

* add a check before calculating EXX force (#6067)

* fixing issue #5961 (#6071)

* modify warning output (#6074)

* Version: 3.10.0

---------

Co-authored-by: dzzz2001 <153698752+dzzz2001@users.noreply.github.com>
Co-authored-by: Yu Liu <77716030+YuLiu98@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: Taoni Bao <baotaoni@pku.edu.cn>
Co-authored-by: Qianrui Liu <76200646+Qianruipku@users.noreply.github.com>
Co-authored-by: LUNASEA <33978601+maki49@users.noreply.github.com>
Co-authored-by: wqzhou <33364058+WHUweiqingzhou@users.noreply.github.com>
Co-authored-by: Peng Xingliang <91927439+pxlxingliang@users.noreply.github.com>
Co-authored-by: Xinyuan Liang <64718735+xuan112358@users.noreply.github.com>
Co-authored-by: Liang Sun <50293369+sunliang98@users.noreply.github.com>
Co-authored-by: Chen Nuo <49788094+Cstandardlib@users.noreply.github.com>
Co-authored-by: kirk0830 <67682086+kirk0830@users.noreply.github.com>
Co-authored-by: dyzheng <zhengdy@bjaisi.com>
Co-authored-by: Jie Bao <46254902+BariumOxide13716@users.noreply.github.com>
Fisherd99 pushed a commit to Fisherd99/abacus-BSE that referenced this pull request Mar 31, 2025
…initialize vdw (deepmodeling#5949)

* Feature: support the `default` as the value of `dft_functional` when initialize vdw

* Refactor a littble bit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Input&Output Suitable for coders without knowing too many DFT details Refactor Refactor ABACUS codes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Suggestion: refresh the value of dft_functional when it is default soon after reading the pseudopotential

4 participants