This script provides a menu-driven interface to perform various tasks related to structure sampling.
------------>>
201) Sample structures from extxyz
202) Sample structures by pynep
203) Find the outliers in training set
204) Perturb structure
205) Select max force deviation structs from active.xyz
206) Developing ...
000) Return to the main menu
------------>>
Input the function number:This option allows you to sample structures from an extxyz file using a specified method.
Select option 201 from the menu:
201You will see the following prompt:
>-------------------------------------------------<
| This function calls the script in Scripts |
| Script: sample_structures.py |
| Developer: Zihan YAN (yanzihan@westlake.edu.cn) |
>-------------------------------------------------<
Input <extxyz_file> <sampling_method> <num_samples>
Sampling_method: 'uniform' or 'random'
Examp: train.xyz uniform 50
------------>>Enter the extxyz file name, sampling method, and number of samples:
train.xyz uniform 50The script sample_structures.py in the Scripts/sample_strcutures will be called to perform the sampling.
This function calls the pynep_select_structs.py in the Scripts/sample_structures to sampling the structures by pynep.
Select option 202 from the menu:
202You will see the following prompt:
>-------------------------------------------------<
| This function calls the script in Scripts |
| Script: pynep_select_structs.py |
| Developer: Zihan YAN (yanzihan@westlake.edu.cn) |
>-------------------------------------------------<
Input <sample.xyz> <train.xyz> <nep_model> <min_dist>
Examp: dump.xyz train.xyz ./nep.txt 0.01
------------>><samle.xyz>: extxyz file
<train.xyz>: train.xyz
<nep_model>: nep.txt
<min_dist>: min_dist for pynep sampling
Enter the following parameters:
dump.xyz train.xyz nep.txt 0.01This function calls the get_max_rmse_xyz.py script to find outliers in a training set.
Select option 203 from the menu:
203You will see the following prompt:
>-------------------------------------------------<
| This function calls the script in GPUMD's tools |
| Script: get_max_rmse_xyz.py |
| Developer: Ke XU (kickhsu@gmail.com) |
>-------------------------------------------------<
Input <extxyz_file> <*_train.out> <num_outliers>
Examp: train.xyz energy_train.out 13
------------>><extxyz_file>: extxyz file
<*_train.out>: energy_train.out/force_train.out/`virial_train.out``
<num_outliers>: number of outliers
Enter the extxyz file name, <*_train.out>, and number of outliers:
train.xyz energy_train.out 13 The script sample_structures.py in the Scripts/sample_strcutures will be called to perform the sampling.
This function calls the perturb_structure.py script to generate the perturbed structures.
Select option 204 from the menu:
204You will see the following prompt:
>-------------------------------------------------<
| This function calls the script in Scripts |
| Script: perturb_structure.py |
| Developer: Zihan YAN (yanzihan@westlake.edu.cn) |
>-------------------------------------------------<
Input <input.vasp> <pert_num> <cell_pert_fraction> <atom_pert_distance> <atom_pert_style>
The default paramters for perturb are 20 0.03 0.2 uniform
Examp: POSCAR 20 0.03 0.2 normal
------------>><input.vasp>: filename.vasp
<pert_num>: number of perturbed structures
<cell_pert_fraction>: A fraction determines how much (relatively) will cell deform
<atom_pert_distance>: A distance determines how far atoms will move (in angstrom).
<atom_pert_style>: <uniform>, <normal>, <const>
Enter your parameters like:
POSCAR 20 0.03 0.2 uniformThe script perturb_structure.py in the Scripts/sample_strcutures will be called to perform the perturbation.
This option allows you to select max force deviation structures from active.xyz generated by the command active in gpumd.
Select option 205 from the menu:
205You will see the following prompt:
>-------------------------------------------------<
| This function calls the script in Scripts |
| Script: select_max_modev.py |
| Developer: Zihan YAN (yanzihan@westlake.edu.cn) |
>-------------------------------------------------<
Input <structs_num> <threshold> (eg. 200 0.15)
------------>>Enter the number of structures and the threshold used in your run.in:
200 0.15The script select_max_modev.py in the Scripts/sample_strcutures will be called to perform the sampling.
Thank you for using GPUMDkit! If you have any questions or need further assistance, feel free to open an issue on our GitHub repository or contact Zihan YAN (yanzihan@westlake.edu.cn).