-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
We're defining in #236 an Enum with a few known XC functionals (LDA, PBE, PBEsol). There is a suggestion to use libxc. However, maybe we should keep the simple Enum for the most commonly used names (like the ones above and maybe a few more that can be added in the future) for simplicity (otherwise one hast to remember that "PBE" is "gga_x_pbe gga_c_pbe", not immediately obvious from the long libxc list.
A few things to discuss:
- should we keep an Enum, add a value
LIBXC, and if this is provided, there is an additional 'string' input where the actual functional is specified? - Should we use the names (e.g.
gga_x_pbe gga_c_pbe) or the integer IDs from libxc (101 - 130)? And how to separate the exchange and correlation parts when both are provided? (space or other) - Who's in charge for converting between the two in the plugin? (Practical example: QE wants the string, Abinit the integers).
- Specifying libxc means we want actually to use the libxc implementation, or a plugin could e.g. detect that
gga_x_pbe gga_c_pbeis PBE and switch to the internal PBE implementation (that should always be there, even if the code was compiled without libxc support)
Metadata
Metadata
Assignees
Labels
No labels