Source code for pfd.exploration.selector.energy_select

from .conf_selector import ConfSelector
from pathlib import Path
import dpdata


[docs] class EnergySelect(ConfSelector):
[docs] def select(self, system: Path | str, test_res: dict, type_map=None, **config): sys = dpdata.System(system, fmt="deepmd/npy", type_map=type_map) atom_numb = test_res["atom_numb"] numb_frame = sys.get_nframes() train_e = test_res["details"]["train_e"] pred_e = test_res["details"]["pred_e"] delta_e = abs(train_e - pred_e) / atom_numb assert numb_frame == len(delta_e) delta_e_conv = config.get("delta_e", 0.01) select_conf_idx = [] for ii in range(numb_frame): if delta_e > delta_e_conv: select_conf_idx.append(ii) return select_conf_idx