Draft: Basic MDI Communications
Establish <ENERGY
and >COORDS
commands in the MDI-yucca interface.
MDI commands will be implemented such that yucca will run "normally" once, then pause and wait for commands from a driver prior to termination.
The >COORDS
command will update atomic position coordinates from the driver.
The <ENERGY
command will re-run the last method stage of the input file, and return the state-averaged energy to the driver.
To-Do List:
-
Initialize MDI communication in main.cpp
-
Make it so yucca can take -mdi
command-line arguments -
Add conditionals such that yucca runs as normal when no MDI options are passed in
-
-
Set up an MDI node in main.cpp
-
Set up the run_mdi()
inutil/mdi_interface.cpp
-
Establish that the basic @DEFAULT
andEXIT
commands are properly implemented with MDI mechanic
-
-
Set up the <ENERGY
command to check for updated coordinates and re-run most recentMethod_
class-
Use MDI mechanic to verify basic implementation (MDI is receiving something from yucca) -
Set up a mini MDI driver to test that MDI is receiving the right energy value from yucca -
Expand <ENERGY
command to re-run most recentMethod_
class
-
-
Set up the >COORDS
command to modify theGeometry_
class-
Use MDI mechanic to verify basic implementation (MDI is receiving something with the right data type/shape from yucca) -
Set up a mini MDI driver to test that yucca is correctly changing the coordinates and producing the proper energy values for all methods
-
This addresses Task B of Issue #3
Edited by Ericka Miller