Request for functionality to serialize or generate hash for density functionals
Dear libxc development team,
I am currently engaged in the development and maintenance of the TREXIO file format and library, an open-source project aimed at storing and manipulating data output from quantum chemistry calculations. The TREXIO repository can be found at https://github.com/TREX-CoE/trexio. Our primary objective is to offer a robust and efficient platform for archiving and transferring wave function parameters and matrix elements.
As part of our ongoing efforts to expand TREXIO's capabilities, we are considering the integration of DFT related data. To this end, one of the challenges we face is the unambiguous characterization of the density functional used in generating a stored wave function. The mere storage of density functional acronyms such as "PBE" or "B3LYP" proves to be inadequate due to the variance in implementations across different computational packages, as well as occasional discrepancies between the parameters published in the original articles and those actually implemented in the codes.
To address this issue, we are exploring the possibility of utilizing serialized data structures from libxc, or hashes of these structures, as unique identifiers for the functionals. In this context, would it be feasible for libxc to introduce a function that returns a serialization or a hash value corresponding to the density functional specified by the user? This would enable us to store a definitive and unique piece of data to characterize the density functional.
Your consideration of this feature request is greatly appreciated. We look forward to your positive response.
Best regards,
Anthony