Closed zerothi closed 2 years ago
Thanks for your interest in this project.
The original dftd3
implementation has the obvious advantage of being the reference implementation, however you have to comply to the GPL-1.0-or-later licensing terms when using it. There is nothing wrong with this versions, except for the parallel performance, the compile time and the usability of the API.
The latter points are the motivation for this reimplementation, which is a mix / spin-off from dftd4
and xtb
. For the features I'm interested in, mainly D3(BJ), the results are guaranteed for all practical purposes identical with the reference implementation. If you find any discrepancies, please let me know and I'll fix it.
I don't have enough resources to make it feature/bug compatible to actually supersede the reference implementation (there are some analysis features I'm not really interested in). However, contributions are always welcome.
Just my notes: dftd3-lib is a repackaged version of the original dftd3 implementation, as I wanted to use it as a proper library in DFTB+. As Sebastian noted, the license is problematic (GPL). In DFTB+, the preferred D3 method is definitely the one provided by the simple-dftd3. At some point, we may even drop the support for dftd3-lib. (But, maybe Nick is right, the situation is confusing for externals. I'll probably add a note in the README of dftd3-lib, directing people to simple-dftd3.)
Thanks both!
As for the license, this shouldn't be a problem since we are GPL3 (Siesta). We are also only interested in using it in library mode.
So @aradi says that simple-dftd3
is the preferred library, while @awvwgk says it is not feature complete? So now I am a bit confused?
However, all-in-all it seems we should go for this package. So we'll do that!
while @awvwgk says it is not feature complete? So now I am a bit confused?
I don't implement all the command line analysis tools here.
while @awvwgk says it is not feature complete? So now I am a bit confused?
I don't implement all the command line analysis tools here.
Ok, thanks for the clarification. Feel free to close this if you want. :)
I think this is something I can still improve in the documentation.
Here is a quick search for dftd3
versions which are currently around:
repo | version | license | note |
---|---|---|---|
http://mctc.uni-bonn.de/software/dft-d3 | v3.2.0 | GPL-1.0-or-later | reference implementation |
https://github.com/awvwgk/simple-dftd3 | v0.4.2 | LGPL-3.0-or-later | this project |
https://github.com/dftbplus/dftd3-lib | v0.10 | GPL-1.0-or-later | CMake |
https://github.com/ehermes/ased3 | — | LGPL-3.0-or-later | ASE, f2py |
https://github.com/pfnet-research/torch-dftd | v0.3.0 | MIT | torch |
https://github.com/cuanto/libdftd3 | v3.1.1 (fork) | GPL-3.0-or-later | fork of dftd3-lib?, Python |
https://github.com/cresset-group/dftd3 | v3.2.0 (fork) | GPL-1.0-or-later | patched? |
https://github.com/loriab/dftd3 | v3.2.1 (fork) | GPL-1.0-or-later | CMake, patched |
https://github.com/f3rmion/dftd3 | v3.2.0 (fork) | GPL-1.0-or-later | patched |
https://github.com/bobbypaton/pyDFTD3 | v1.0.0 | MIT | Python |
There are probably many more just redistributed in other software packages as well.
Projects using this implementation:
I'm the perpetrator of https://github.com/loriab/dftd3 . It's the original chemie.uni-bonn source with CMake buildsys, a dftd3 -version
printing, more digits for abc energies, and saving abc gradients. I also maintain Linux/Mac/Windows conda distributions https://anaconda.org/psi4/dftd3/files for Psi4. Happily, Psi4 doesn't redistribute the dftd3 source directly.
Psi4 and QCEngine would be delighted to switch over to simple-dftd3 to help with consolidating the project. Then my repo could be archived. One thing I haven't looked into lately wrt simple-dftd3 is that Psi4 wants MKL-based conda distributions and needs Windows, too. (I build on CI through oneapi, iirc.) Switching to gcp-correction is desirable, too.
I'm planning on maybe moving this project to its own organisation on GitHub. In case any of you are interested in co-maintaining this project let me know.
In case anyone is interested in helping out with this project, please checkout #23.
I'm closing this issue as resolved now.
Thanks for the work on this!
We are bit in a dead-lock now, since there exists 3 different libraries which all say do the same thing? :) So which one should we support :)
I see you are involved in both dftb and Grimme's group. What I would like to see is that there is one preferred version to be used? If that means archiving one of the packages, then good! :)