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

External model interface #1420

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

bhourahine
Copy link
Member

Provides externally generated models to the DFTB+ code

Interface provides a local cluster of atoms around each atom, to a cut-off, to calculate onsite elements. Likewise, a rounded cylinder of a atoms is provided around each bond. Coordinates are in the cartesian orientation of the simulated system.

  • Initialise interface and declare capabilities
  • Obtain model from outside
  • Fix CI (WIP)
  • Toy internal model for regression testing
  • Dummy overlap for orthogonal electronic models
  • Lock down DFTB+ modes that cannot work with this

Note, total energy and force models not working yet. Self-consistent external model should be possible if they read charges/density matrix via the API.

Cluster export for API binding

Dummy overlap generation if needed

Also start of documentation changes

Structure return as c_intptr_t for safety

H/S return done
Internal dumy package finder not currently working, but
-DEXTERNALMODEL_LIBRARY= and optionally  -DEXTRA_LIBS= seems to
function.
Cmake for external specification and also internal fallback
orb was no longer allocated
@bhourahine bhourahine added work in progress API Relates to the API labels Mar 19, 2024
@bhourahine
Copy link
Member Author

@terminationshock This is the interface for the Warwick work.

@bhourahine
Copy link
Member Author

@aradi Draft for obvious reasons, but works a standalone build (but unfortunately not in github CI).

Hat-tip-to: Bálint Aradi <aradi@uni-bremen.de>
Copy link

codecov bot commented Mar 19, 2024

Codecov Report

Attention: Patch coverage is 83.13539% with 71 lines in your changes are missing coverage. Please review.

Project coverage is 70.88%. Comparing base (e2aeca3) to head (2970126).

Files Patch % Lines
src/dftbp/dftbplus/parser.F90 57.81% 27 Missing ⚠️
src/dftbp/modelindependent/localclusters.F90 89.28% 15 Missing ⚠️
src/dftbp/common/clang.F90 35.29% 11 Missing ⚠️
src/dftbp/extlibs/externalmodel.F90 88.37% 10 Missing ⚠️
src/dftbp/dftbplus/initprogram.F90 86.04% 6 Missing ⚠️
src/dftbp/dftbplus/oldcompat.F90 93.33% 1 Missing ⚠️
src/dftbp/math/simplegeometry.F90 97.43% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1420      +/-   ##
==========================================
+ Coverage   70.76%   70.88%   +0.12%     
==========================================
  Files         231      235       +4     
  Lines       44146    44548     +402     
==========================================
+ Hits        31241    31579     +338     
- Misses      12905    12969      +64     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@bhourahine bhourahine added this to the 24.2 milestone Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Relates to the API work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant