abacus-develop icon indicating copy to clipboard operation
abacus-develop copied to clipboard

Request: R2SCAN+rvv10 or R2SCAN+D4 mGGA functional in ABACUS itself

Open QuantumMisaka opened this issue 6 months ago • 1 comments

Background

The scan functional in ABACUS is just the MGGA_X_SCAN+MGGA_C_SCAN version in LibXC, which is the original version of SCAN. and which exhibits undesirable numerical problems that harm computational efficiency and can prevent the SCF process from converging.

R2SCAN functional solved this problem, while keeping most of the exact constraints SCAN does. practically, R2SCAN functional tend to be used as a better SCAN functional. In LibXC, we can use MGGA_X_R2SCAN+MGGA_C_R2SCAN to use R2SCAN.

SCAN includes some intermediate vdW interactions itself, but this inclusion can be a hindrance when combined with non-local dispersion corrections. SCAN with dispersion corrections such as D3/D4/rVV10 will overbind chemical bonds.

R2SCAN includes less intermediate vdW interactions than SCAN, and R2SCAN+D4 has more realistically description for non-covalent and hydrogen-bound systems. Recently, R2SCAN+rVV10 is developed to overcome the numerical problem in SCAN+rVV10 while using non-local vdW correlation correction rVV10 for molecular and inter-layer binding. Besides, rVV10 for R2SCAN has been re-fitted against rVV10 for SCAN.

LibXC only includes R2SCAN and SCAN+rVV10, but not R2SCAN+rVV10. For vdW correction, ABACUS only includes emperical D2, D3 and D3_BJ, which have no information from real electronic structure. vdW-DF method like D4 or rVV10 should be included in ABACUS calculation.

References:

  1. https://doi.org/10.1021/acs.jpclett.0c02405
  2. https://doi.org/10.1103/PhysRevX.6.041005
  3. https://doi.org/10.1063/5.0041008
  4. https://doi.org/10.1103/PhysRevB.106.075422

Describe the solution you'd like

ABACUS should have more mGGA itself, I do think R2SCAN can be a start.

Also, better vdW correction is needed, we can choose from D4, VV10 or rVV10.

Looking forward to using R2SCAN+rVV10 (or +D4) in ABACUS itself.

Task list for Issue attackers (only for developers)

  • [ ] Review and understand the proposed feature and its importance.
  • [ ] Research on the existing solutions and relevant research articles/resources.
  • [ ] Discuss with the team to evaluate the feasibility of implementing the feature.
  • [ ] Create a design document outlining the proposed solution and implementation details.
  • [ ] Get feedback from the team on the design document.
  • [ ] Develop the feature following the agreed design.
  • [ ] Write unit tests and integration tests for the feature.
  • [ ] Update the documentation to include the new feature.
  • [ ] Perform code review and address any issues.
  • [ ] Merge the feature into the main branch.
  • [ ] Monitor for any issues or bugs reported by users after the feature is released.
  • [ ] Address any issues or bugs reported by users and continuously improve the feature.

QuantumMisaka avatar Aug 24 '24 11:08 QuantumMisaka