-
Notifications
You must be signed in to change notification settings - Fork 14
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
Enable CabanaMC functionality #33
Comments
To continue on this, @frobnitzem, can you tell me a bit more about what you would ultimately need? I'm close to adding unit tests, but will the lammps style data input be sufficient, or do you use other tools? And what type of force fields are you envisioning? |
I'm working on one of these tests now. I want to re-do the system setup into a datastructure that sets up box shape and other globals (read with yaml?) and a C++ code responsible for creating atom positions and running the actual MD steps. NAMD uses TCL scripts to write MD protocols, and LAMMPS uses its own DSL, but I say why not define a DSL-like API and just use C++ code? |
The new branch is under development at https://github.com/frobnitzem/CabanaMD/tree/tests. Right now, the test itself isn't working, but it simplifies lattice gen. code while adding LATTICE_BCC, changes shutdown/finalize to use C++ destructors, and fixes two memory management bugs (no delete on shutdown, comm used uninitialized at one point). |
Overall this sounds good to me. A few things - it's important to keep the LAMMPS compatible inputs in so far as this is a proxy app meant (in part) to represent LAMMPS and integrate improvements back and forth. Of course I'm not opposed to added capabilities, but at some point the cutoff between a proxy app and a full-feature app has to be determined. This would probably be the point at which some specific LAMMPS style and capabilities could be safely removed. One other note on the system setup - we're planning on merging the Cabana sister library, Cajita (particle-grid operations), into the Cabana repository to simplify things even further for CabanaMD: ECP-copa/Cabana#197 |
IMHO, the input file was LAMMPS's worst design decision. It forces the user to write a series of updates to a bunch of undefined data structures they can't see, and proliferates command-names instead of creating a programming model. Using a LAMMPS-type input file will force this project to be monolothic and non-extensible. |
(add frobnitzem)
The text was updated successfully, but these errors were encountered: