-
Notifications
You must be signed in to change notification settings - Fork 38
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)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels