Skip to content

Conversation

@chrisahart
Copy link
Contributor

@chrisahart chrisahart commented Oct 10, 2024

A new interface between CP2K and the non-equilibrium Green’s functions (NEGF) code SMEAGOL, as recently published in the Journal of Chemical Theory and Computation.

The SMEAGOL code can be downloaded by contacting Dr. Clotilde Cucinotta at cucinotta@imperial.ac.uk or Prof. Stefano Sanvito at sanvitos@tcd.ie.

Ahart, C. S., Chulkov, S. K. & Cucinotta, C. S. Enabling Ab-Initio Molecular Dynamics under Bias: The CP2K+SMEAGOL Interface for Integrating Density Functional Theory and Non-Equilibrium Green Functions. J. Chem. Theory Comput. 2024.

@chrisahart chrisahart changed the title CP2K+SMEAGOL interface for Density Functional Theory and Non-Equilibrium Green Functions CP2K+SMEAGOL interface for electron transport with non-equilibrium Green’s functions (NEGF) Oct 10, 2024
@chrisahart chrisahart changed the title CP2K+SMEAGOL interface for electron transport with non-equilibrium Green’s functions (NEGF) CP2K+SMEAGOL interface for electron transport with non-equilibrium Green’s functions Oct 10, 2024
@chrisahart chrisahart force-pushed the smeagol-interface-clean branch from 829aad5 to 07e2822 Compare October 11, 2024 05:27
@oschuett
Copy link
Member

This PR is tricky.

First of all, I do recognize that you put a lot of work into this.

However, I'm very concerned about the fact that SMEAGOL is only available upon personal request. This is not in the spirit of open source and the GPL in particular.

Is there perhaps a way to make SMEAGOL accessible to the general public?

@chrisahart
Copy link
Contributor Author

chrisahart commented Oct 14, 2024

Hi Ole, thank you for your comment. I agree that it is problematic that the SMEAGOL code is only available upon personal request.

We have developed an interface between CP2K and SMEAGOL, and do not currently have permission to distribute the SMEAGOL code itself.

The developers of the SMEAGOL code have agreed to move forward with an open source license in the near future. Once this has been finalized we will submit a new pull request with a publicly available download link for SMEAGOL.

@chrisahart chrisahart force-pushed the smeagol-interface-clean branch from 991f3df to 7bbf0e0 Compare October 14, 2024 08:35
@schulkov
Copy link
Contributor

Hi Ole, historically SMEAGOL has been distributing according to Siesta Academic License terms. This is because its source code is tightly coupled with an ancient Siesta 1.3f source code, which is still subject to the proprietary Siesta Academic License (https://www.siesta-project.org/SIESTA_MATERIAL/OlderCode/).

As part of developing this CP2K+SMEAGOL interface, SMEAGOL source code was decoupled from Siesta 1.3f and converted into a library. Obtaining consents from all major contributors to the SMEAGOL project is the only thing that prevents releasing this SMEAGOL library under the terms of an open source license. No one has strictly objected against it so far.

@oschuett
Copy link
Member

oschuett commented Oct 14, 2024

@schulkov thanks a lot for the additional context!
Given these special circumstances, I think we can merge this PR without creating a precedent.

PS: Kudos for taking on that license change.

@cucinotta
Copy link
Contributor

I have just been informed that the Smeagol developers are planning to make the repository containing the Smeagol library publicly accessible today

schulkov and others added 7 commits October 18, 2024 07:34
@chrisahart chrisahart force-pushed the smeagol-interface-clean branch from 7bbf0e0 to ec11a5c Compare October 18, 2024 06:43
@chrisahart
Copy link
Contributor Author

SMEAGOL is now available under GPL license at https://github.com/StefanoSanvitoGroup/libsmeagol

@oschuett
Copy link
Member

It's awesome that SMEAGOL is now public!

In principle this PR is ready to be merged. Obviously, without actually installing SMEAGOL in the toolchain, we can't test it. So it would be great if you could follow up with a later PR once SMEAGOL has made its first official release.

My only remaining remark would be that most of the new keywords lack documentation.

@chrisahart
Copy link
Contributor Author

chrisahart commented Oct 21, 2024

As Sergey explained we converted SMEAGOL into a library that can be linked to CP2K, and therefore have chosen to provide support for all SMEAGOL keywords. The SMEAGOL user guide documents some of these keywords https://github.com/StefanoSanvitoGroup/libsmeagol/blob/main/Docs_Smeagol/Smeagol-1.2.pdf

We have documented any keywords that are specific to CP2K+SMEAGOL such as RUN_TYPE, NIMAGES_IJ and PROJECT_NAME.

Hopefully in the future any obsolete keywords will be removed and the remaining keywords properly documented, however I feel this is outside the scope of the current work.

@oschuett
Copy link
Member

Hopefully in the future any obsolete keywords will be removed and the remaining keywords properly documented, ...

Yes, since CP2K keywords are case insensitive, it would be good to switch from Camel Case to Snake Case. Furthermore, one could introduce subsections for common prefixes such as AM, BS ,EM, SIGMA, etc.

... however I feel this is outside the scope of the current work.

I agree, one has to draw the line somewhere. Let's merge :-)

@oschuett oschuett merged commit a1c7dd2 into cp2k:master Oct 21, 2024
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

Successfully merging this pull request may close these issues.

4 participants