Author Topic: R2SCAN-3C Functionals  (Read 47360 times)

johanneswerner

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
R2SCAN-3C Functionals
« on: January 23, 2025, 05:26:50 PM »
Dear Turbomole Forum,

I'm a bit confused concering the implementation of the r2scan-3c functional. What is the difference of r2scan-3c and r2scan-3c-libxc. Both will work for energy and gradients but with slightly different results. For frequencies with aoforce only r2scan-3c-libxc works, but because of consistency I would prefer to use the same functional for frequencies and energies. Would you recommend to use r2scan-3c for energies and gradients and the libxc version for frequencies or in all cases r2scan-3c-libxc.

Many thanks and best regards,

Johannes

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 622
  • Karma: +0/-0
Re: R2SCAN-3C Functionals
« Reply #1 on: January 23, 2025, 09:59:37 PM »
Hi Johannes,

the r2SCAN functional was developed using VASP and Turbomole. See https://pubs.acs.org/doi/10.1021/acs.jpclett.0c02405

So the functionals named r2scan, r2scan-3c, etc. use this reference implementation. This is native code in Turbomole, but the implementation was done for up to first derivatives only. Hence, frequencies with aoforce cannot be calculated.

Later r2SCAN was also added to the libxc library, but including the 2nd derivatives. Functional names with the -libxc appendix are taken from the libxc library.

If the results are slightly different, then the libxc implementation deviates a bit from the original one - this is true for several functionals as libxc often uses a different number of digits for constants that are used in original implementations and papers (like pi or sqrt(pi), (3*pi^2)^2/3,  ..). How large is the deviation?

Best Regards, Uwe