Extending the ALD
For basic extension, add a conditional statement to
helpers.create_and_launch_job, i.e.:if args["job_system"] == "slurm": # Do what is currently implemented elif args["job_system"] == "your_new_scheduler_name": # Use current implementation as template and modify for your scheduler else: print "ERROR: Unrecognized scheduler: ", args["job_system"] exit()and make similar edits to
helpers.wait_for_jobandhelpers.wait_for_jobs. Search for “srun” in*.pyfiles to check for compatibility with your system. When running, setHPC_SYSTEM=your_new_scheduler_nameTo add support for cluster-based active learning, additional
utilities/new*shfiles will need to be added and properly selected for incluster.py
Adding a new labeling method
To add a new labeling method, edit the following scripts:
main.pyqm_driver.pyverify_config.py
Additionally, create a new Python script to be read by qm_driver.py to perform the relabeling. Follow the same code structure as existing *_driver.py scripts e.g. vasp_driver.py. Update verify_config.py and main.py so that your new driver’s required variables are defined, briefly explained, and assigned default values.
To commit the changes, you must provide a minimum working example using your labeling method and a successful run through the current example list for acceptance.
Adding a new MD method
To add a new MD method, edit the following scripts:
main.pyrun_md.pyverify_config.py
Create a new Python script to be read by run_md.py to perform the MD. Follow the same code structure as other *_run_md.py scripts. Update verify_config.py and main.py so that all required variables for your new driver are defined, briefly explained, and assigned default values.
To commit the changes, provide a minimum working example using your MD method and ensure it passes the current example list.