Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Irreproducible results #163

Open
susilehtola opened this issue May 3, 2022 · 2 comments
Open

Irreproducible results #163

susilehtola opened this issue May 3, 2022 · 2 comments

Comments

@susilehtola
Copy link
Contributor

XCFun currently relies on compile-time definitions to change functionals' behavior. This means that for instance PBE exchange in two copies of the same version of XCFun may give different results. This is highly undesirable behavior: the output of functionals should not depend on compile-time behavior.

Instead, the variants should be implemented separately, as in Libxc. One should be able to access all implementations without having to reconfigure and recompile in-between.

@robertodr
Copy link
Contributor

@susilehtola
Copy link
Contributor Author

Are you referring to these lines? https://github.com/dftlibs/xcfun/blob/master/src/functionals/pbex.hpp#L30-L35

Yes. Other functionals have similar issues, e.g.

#ifndef INEXACT_PI
parameter pi_expr = pow(9 * M_PI, 1.0 / 6.0);
#else
parameter pi_expr = 1.745;
#endif

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants