https://github.com/cedergrouphub/multifil
High Throughput PathFinder and ApproxNEB repo
https://github.com/cedergrouphub/multifil
Last synced: 6 months ago
JSON representation
High Throughput PathFinder and ApproxNEB repo
- Host: GitHub
- URL: https://github.com/cedergrouphub/multifil
- Owner: CederGroupHub
- Created: 2017-12-11T22:07:26.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-11T22:34:28.000Z (over 8 years ago)
- Last Synced: 2025-09-09T23:38:54.468Z (10 months ago)
- Language: Python
- Size: 32.2 KB
- Stars: 5
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# How to use high-throughput migration calculation machine
### Citation
If you are using the codes in this repo, please consider citing the following work:
Rong, Z., et al., *An efficient algorithm for finding the minimum energy path for cation migration in ionic materials.* The Journal of Chemical Physics, 2016. 145(7): p. 074112.
---
### Setup external computational environment
1. Setup a personal MongoDB database. Update access confidentiality in `settings/db_config.yaml`
2. Install Materials Project [MPWorks](https://github.com/materialsproject/MPWorks)
in the computation clusters to be deployed for the HT calculations.
3. Install the following dependency packages locally and familiarize yourself with them:
* [pymatgen](https://github.com/materialsproject/pymatgen)
* [custodian](https://github.com/materialsproject/custodian)
* [fireworks](https://github.com/materialsproject/fireworks)
4. Go through the files under settings and overwrite the variables where necessary
### Deploy PathFinder HT calculations
1. Prepare an input file in the format like `production/Mg_PF_example.txt`
2. Run script `production/pf_production.py`
3. Set up a crontab job to run script like `production/crontab.qlaunch.sh` regularly at the
desired frequency at the calculation clusters.
## Deploy ApproxNEB HT calculations
1. Prepare an input file in the format like `production/Mg_approx_neb_example.txt`, first column being the **mp-id**,
second column being the **pair_index** defined in the database.
2. Set parameters and run script `production/approx_neb_production.py`, be noted, it is supposed to run a two-phase calculations, with
the first phase calculating just 2 images (image 0 and image 4, the middle image), and arrive at a lower bound for the migration
energy, if the migration energy lower bound is smaller than a threshold, then those paths are filtered out for further full MEP
calculations. These 2 phases can be switched the adjusting the **calculated_images** parameter in `production/approx_neb_production.py`
script.
3. Set up a crontab job to run script like `production/crontab.qlaunch.sh` regularly at the
desired frequency at the calculation clusters.
### Post calculation
After the HT ApproxNEB calculation is finished, do the following steps:
1. Backup the calculation files. (I do it in Vega)
2. Update the calculation file path in the database after files migrations with script like `post_production/db_scripts/update_file_path_vega.py`
3. Update the CONTCARs of each calculated image with script like `post_production/db_scripts/update_contcar.py`
## Results Analysis
* After the first-phase HT ApproxNEB calculation, please run `post_production/first_tier_filter.py` to print out the results.
* After the second-phase HT ApproxNEB calculation, please run `post_production/full_mep_results.py` to print out the results.