-
Notifications
You must be signed in to change notification settings - Fork 2
ENH: Support sockets for NWChem #244
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
Conversation
can be junk for the NWChem call
Best to wait until nwchemgit/nwchem#1145 with which times go down to around 17s (with a local build including scalapack). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a socket-driven NWChem potential that provides significant performance improvements over the existing ASE wrapper by communicating directly with NWChem using the i-PI protocol.
- Adds SocketNWChemPot class that implements TCP/IP and UNIX domain socket communication with NWChem
- Refactors ZBL potential parameter handling to use structured options approach
- Includes comprehensive test infrastructure and example configurations
Reviewed Changes
Copilot reviewed 26 out of 27 changed files in this pull request and generated 6 comments.
Show a summary per file
File | Description |
---|---|
eon/schema.py | Adds SocketNWChemPot configuration schema and updates ZBL parameter formatting |
eon/config.yaml | Adds SocketNWChemPot configuration options |
client/potentials/SocketNWChem/* | Core implementation of socket-based NWChem potential with header, source, and build files |
client/potentials/ZBL/ZBLPot.cpp | Updates to use structured ZBL options from parameters |
client/Parameters.* | Adds socket_nwchem_options struct and refactors ZBL options |
client/BaseStructures.h | Adds SocketNWChem to PotType enum |
client/gtests/* | Comprehensive test infrastructure for socket NWChem functionality |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Needs some documentation for later, but generally with generate_nwchem_input.py
mpirun -np 8 /home/rgoswami/Git/Github/Fortran/nwchem/bin/LINUX64/nwchem nwchem_socket.nwi
# other terminal
eonclient where a good default for the
|
ENH: Support sockets for NWChem
Basically a manyfold increase compared to the existing ASE wrapper. Over 16 steps of a minimization times are:
This implements an independent "server" which implements enough of the i-Pi protocol to talk to NWChem. Closes #247.